Coverage for mindsdb / integrations / handlers / shopify_handler / models / orders.py: 0%
86 statements
« prev ^ index » next coverage.py v7.13.1, created at 2026-01-21 00:36 +0000
« prev ^ index » next coverage.py v7.13.1, created at 2026-01-21 00:36 +0000
1from .common import AliasesEnum, Count, MailingAddress, OrderCancellation, MoneyBag
2from .utils import Extract
5class Orders(AliasesEnum):
6 """A class to represent a Shopify GraphQL order.
7 Reference: https://shopify.dev/docs/api/admin-graphql/latest/objects/Order
8 Require `read_orders`, `read_marketplace_orders` or `read_quick_sale` permission.
9 """
11 # additionalFees = "additionalFees"
12 # agreements = "agreements"
13 # alerts = "alerts"
14 # app = "app"
15 # billingAddress = "billingAddress"
16 billingAddressMatchesShippingAddress = "billingAddressMatchesShippingAddress"
17 cancellation = OrderCancellation
18 cancelledAt = "cancelledAt"
19 cancelReason = "cancelReason"
20 canMarkAsPaid = "canMarkAsPaid"
21 canNotifyCustomer = "canNotifyCustomer"
22 capturable = "capturable"
23 # cartDiscountAmountSet = "cartDiscountAmountSet"
24 # channelInformation = "channelInformation"
25 clientIp = "clientIp"
26 closed = "closed"
27 closedAt = "closedAt"
28 confirmationNumber = "confirmationNumber"
29 confirmed = "confirmed"
30 createdAt = "createdAt"
31 currencyCode = "currencyCode"
32 # currentCartDiscountAmountSet = "currentCartDiscountAmountSet"
33 currentShippingPriceSet = MoneyBag
34 currentSubtotalLineItemsQuantity = "currentSubtotalLineItemsQuantity"
35 currentSubtotalPriceSet = MoneyBag
36 # currentTaxLines = "currentTaxLines"
37 currentTotalAdditionalFeesSet = MoneyBag
38 currentTotalDiscountsSet = MoneyBag
39 currentTotalDutiesSet = MoneyBag
40 currentTotalPriceSet = MoneyBag
41 currentTotalTaxSet = MoneyBag
42 currentTotalWeight = "currentTotalWeight"
43 # customAttributes = "customAttributes"
44 # customer = "customer"
45 customerId = Extract("customer", "id") # custom
46 customerAcceptsMarketing = "customerAcceptsMarketing"
47 # customerJourneySummary = "customerJourneySummary"
48 customerLocale = "customerLocale"
49 # discountApplications = "discountApplications"
50 discountCode = "discountCode"
51 discountCodes = "discountCodes"
52 # displayAddress = "displayAddress"
53 # displayFinancialStatus = "displayFinancialStatus"
54 # displayFulfillmentStatus = "displayFulfillmentStatus"
55 # disputes = "disputes"
56 dutiesIncluded = "dutiesIncluded"
57 edited = "edited"
58 email = "email"
59 estimatedTaxes = "estimatedTaxes"
60 # events = "events"
61 fulfillable = "fulfillable"
62 # fulfillmentOrders = "fulfillmentOrders"
63 # fulfillments = "fulfillments"
64 fulfillmentsCount = Count
65 fullyPaid = "fullyPaid"
66 hasTimelineComment = "hasTimelineComment"
67 id = "id"
68 # legacyResourceId = "legacyResourceId"
69 # lineItems = "lineItems"
70 # localizedFields = "localizedFields"
71 # merchantBusinessEntity = "merchantBusinessEntity"
72 merchantEditable = "merchantEditable"
73 merchantEditableErrors = "merchantEditableErrors"
74 # merchantOfRecordApp = "merchantOfRecordApp"
75 # metafield = "metafield"
76 # metafields = "metafields"
77 name = "name"
78 netPaymentSet = MoneyBag
79 # nonFulfillableLineItems = "nonFulfillableLineItems"
80 note = "note"
81 number = "number"
82 originalTotalAdditionalFeesSet = MoneyBag
83 originalTotalDutiesSet = MoneyBag
84 originalTotalPriceSet = MoneyBag
85 # paymentCollectionDetails = "paymentCollectionDetails"
86 paymentGatewayNames = "paymentGatewayNames"
87 # paymentTerms = "paymentTerms"
88 phone = "phone"
89 poNumber = "poNumber"
90 presentmentCurrencyCode = "presentmentCurrencyCode"
91 processedAt = "processedAt"
92 productNetwork = "productNetwork"
93 # publication = "publication"
94 # purchasingEntity = "purchasingEntity"
95 refundable = "refundable"
96 refundDiscrepancySet = MoneyBag
97 # refunds = "refunds"
98 registeredSourceUrl = "registeredSourceUrl"
99 requiresShipping = "requiresShipping"
100 restockable = "restockable"
101 # retailLocation = "retailLocation"
102 # returns = "returns"
103 returnStatus = "returnStatus"
104 # risk = "risk"
105 shippingAddress = MailingAddress
106 # shippingLine = "shippingLine"
107 # shippingLines = "shippingLines"
108 # shopifyProtect = "shopifyProtect"
109 sourceIdentifier = "sourceIdentifier"
110 sourceName = "sourceName"
111 # staffMember = "staffMember"
112 statusPageUrl = "statusPageUrl"
113 subtotalLineItemsQuantity = "subtotalLineItemsQuantity"
114 subtotalPriceSet = MoneyBag
115 # suggestedRefund = "suggestedRefund"
116 tags = "tags"
117 taxesIncluded = "taxesIncluded"
118 taxExempt = "taxExempt"
119 # taxLines = "taxLines"
120 test = "test"
121 totalCapturableSet = MoneyBag
122 # totalCashRoundingAdjustment = "totalCashRoundingAdjustment"
123 totalDiscountsSet = MoneyBag
124 totalOutstandingSet = MoneyBag
125 totalPriceSet = MoneyBag
126 totalReceivedSet = MoneyBag
127 totalRefundedSet = MoneyBag
128 totalRefundedShippingSet = MoneyBag
129 totalShippingPriceSet = MoneyBag
130 totalTaxSet = MoneyBag
131 totalTipReceivedSet = MoneyBag
132 totalWeight = "totalWeight"
133 # transactions = "transactions"
134 transactionsCount = Count
135 unpaid = "unpaid"
136 updatedAt = "updatedAt"
139columns = [
140 # {
141 # "TABLE_NAME": "orders",
142 # "COLUMN_NAME": "additionalFees",
143 # "DATA_TYPE": "JSON",
144 # "COLUMN_DESCRIPTION": "A list of additional fees applied to an order, such as duties, import fees, or tax lines.",
145 # "IS_NULLABLE": False
146 # },
147 # {
148 # "TABLE_NAME": "orders",
149 # "COLUMN_NAME": "agreements",
150 # "DATA_TYPE": "JSON",
151 # "COLUMN_DESCRIPTION": "A list of sales agreements associated with the order, such as contracts defining payment terms, or delivery schedules between merchants and customers.",
152 # "IS_NULLABLE": False
153 # },
154 # {
155 # "TABLE_NAME": "orders",
156 # "COLUMN_NAME": "alerts",
157 # "DATA_TYPE": "JSON",
158 # "COLUMN_DESCRIPTION": "A list of messages that appear on the Orders page in the Shopify admin. These alerts provide merchants with important information about an order's status or required actions.",
159 # "IS_NULLABLE": False
160 # },
161 # {
162 # "TABLE_NAME": "orders",
163 # "COLUMN_NAME": "app",
164 # "DATA_TYPE": "JSON",
165 # "COLUMN_DESCRIPTION": "The application that created the order. For example, Online Store, Point of Sale, or a custom app name. Use this to identify the order source for attribution and fulfillment workflows.",
166 # "IS_NULLABLE": None
167 # },
168 # {
169 # "TABLE_NAME": "orders",
170 # "COLUMN_NAME": "billingAddress",
171 # "DATA_TYPE": "JSON",
172 # "COLUMN_DESCRIPTION": "The billing address associated with the payment method selected by the customer for an order. Returns null if no billing address was provided during checkout.",
173 # "IS_NULLABLE": None
174 # },
175 {
176 "TABLE_NAME": "orders",
177 "COLUMN_NAME": "billingAddressMatchesShippingAddress",
178 "DATA_TYPE": "BOOLEAN",
179 "COLUMN_DESCRIPTION": "Whether the billing address matches the shipping address. Returns true if both addresses are the same, and false if they're different or if an address is missing.",
180 "IS_NULLABLE": False,
181 },
182 {
183 "TABLE_NAME": "orders",
184 "COLUMN_NAME": "cancellation",
185 "DATA_TYPE": "JSON",
186 "COLUMN_DESCRIPTION": "Details of an order's cancellation, if it has been canceled. This includes the reason, date, and any staff notes.",
187 "IS_NULLABLE": None,
188 },
189 {
190 "TABLE_NAME": "orders",
191 "COLUMN_NAME": "cancelledAt",
192 "DATA_TYPE": "TIMESTAMP",
193 "COLUMN_DESCRIPTION": "The date and time in ISO 8601 format when an order was canceled. Returns null if the order hasn't been canceled.",
194 "IS_NULLABLE": None,
195 },
196 {
197 "TABLE_NAME": "orders",
198 "COLUMN_NAME": "cancelReason",
199 "DATA_TYPE": "TEXT",
200 "COLUMN_DESCRIPTION": "The reason provided for an order cancellation. For example, a merchant might cancel an order if there's insufficient inventory. Returns null if the order hasn't been canceled.",
201 "IS_NULLABLE": None,
202 },
203 {
204 "TABLE_NAME": "orders",
205 "COLUMN_NAME": "canMarkAsPaid",
206 "DATA_TYPE": "BOOLEAN",
207 "COLUMN_DESCRIPTION": "Whether an order can be manually marked as paid. Returns false if the order is already paid, is canceled, has pending Shopify Payments transactions, or has a negative payment amount.",
208 "IS_NULLABLE": False,
209 },
210 {
211 "TABLE_NAME": "orders",
212 "COLUMN_NAME": "canNotifyCustomer",
213 "DATA_TYPE": "BOOLEAN",
214 "COLUMN_DESCRIPTION": "Whether order notifications can be sent to the customer. Returns true if the customer has a valid email address.",
215 "IS_NULLABLE": False,
216 },
217 {
218 "TABLE_NAME": "orders",
219 "COLUMN_NAME": "capturable",
220 "DATA_TYPE": "BOOLEAN",
221 "COLUMN_DESCRIPTION": "Whether an authorized payment for an order can be captured. Returns true if an authorized payment exists that hasn't been fully captured yet.",
222 "IS_NULLABLE": False,
223 },
224 # {
225 # "TABLE_NAME": "orders",
226 # "COLUMN_NAME": "cartDiscountAmountSet",
227 # "DATA_TYPE": "JSON",
228 # "COLUMN_DESCRIPTION": "The total discount amount applied at the time the order was created, displayed in both shop and presentment currencies, before returns, refunds, order edits, and cancellations. This field only includes discounts applied to the entire order.",
229 # "IS_NULLABLE": None
230 # },
231 # {
232 # "TABLE_NAME": "orders",
233 # "COLUMN_NAME": "channelInformation",
234 # "DATA_TYPE": "JSON",
235 # "COLUMN_DESCRIPTION": "Details about the sales channel that created the order, such as the channel app type and channel name, which helps to track order sources.",
236 # "IS_NULLABLE": None
237 # },
238 {
239 "TABLE_NAME": "orders",
240 "COLUMN_NAME": "clientIp",
241 "DATA_TYPE": "TEXT",
242 "COLUMN_DESCRIPTION": "The IP address of the customer who placed the order. Useful for fraud detection and geographic analysis.",
243 "IS_NULLABLE": None,
244 },
245 {
246 "TABLE_NAME": "orders",
247 "COLUMN_NAME": "closed",
248 "DATA_TYPE": "BOOLEAN",
249 "COLUMN_DESCRIPTION": "Whether an order is closed. An order is considered closed if all its line items have been fulfilled or canceled, and all financial transactions are complete.",
250 "IS_NULLABLE": False,
251 },
252 {
253 "TABLE_NAME": "orders",
254 "COLUMN_NAME": "closedAt",
255 "DATA_TYPE": "TIMESTAMP",
256 "COLUMN_DESCRIPTION": "The date and time ISO 8601 format when an order was closed. Shopify automatically records this timestamp when all items have been fulfilled or canceled, and all financial transactions are complete. Returns null if the order isn't closed.",
257 "IS_NULLABLE": None,
258 },
259 {
260 "TABLE_NAME": "orders",
261 "COLUMN_NAME": "confirmationNumber",
262 "DATA_TYPE": "TEXT",
263 "COLUMN_DESCRIPTION": "A customer-facing order identifier, often shown instead of the sequential order name. It uses a random alphanumeric format (for example, XPAV284CT) and isn't guaranteed to be unique across orders.",
264 "IS_NULLABLE": None,
265 },
266 {
267 "TABLE_NAME": "orders",
268 "COLUMN_NAME": "confirmed",
269 "DATA_TYPE": "BOOLEAN",
270 "COLUMN_DESCRIPTION": "Whether inventory has been reserved for an order. Returns true if inventory quantities for an order's line items have been reserved.",
271 "IS_NULLABLE": False,
272 },
273 {
274 "TABLE_NAME": "orders",
275 "COLUMN_NAME": "createdAt",
276 "DATA_TYPE": "TIMESTAMP",
277 "COLUMN_DESCRIPTION": "The date and time in ISO 8601 format when an order was created. This timestamp is set when the customer completes checkout and remains unchanged throughout an order's lifecycle.",
278 "IS_NULLABLE": False,
279 },
280 {
281 "TABLE_NAME": "orders",
282 "COLUMN_NAME": "currencyCode",
283 "DATA_TYPE": "TEXT",
284 "COLUMN_DESCRIPTION": "The shop currency when the order was placed. For example, USD or CAD.",
285 "IS_NULLABLE": False,
286 },
287 # {
288 # "TABLE_NAME": "orders",
289 # "COLUMN_NAME": "currentCartDiscountAmountSet",
290 # "DATA_TYPE": "JSON",
291 # "COLUMN_DESCRIPTION": "The current total of all discounts applied to the entire order, after returns, refunds, order edits, and cancellations. This includes discount codes, automatic discounts, and other promotions that affect the whole order rather than individual line items.",
292 # "IS_NULLABLE": False
293 # },
294 {
295 "TABLE_NAME": "orders",
296 "COLUMN_NAME": "currentShippingPriceSet",
297 "DATA_TYPE": "JSON",
298 "COLUMN_DESCRIPTION": "The current shipping price after applying refunds and discounts. If the parent order.taxesIncluded field is true, then this price includes taxes. Otherwise, this field is the pre-tax price.",
299 "IS_NULLABLE": False,
300 },
301 {
302 "TABLE_NAME": "orders",
303 "COLUMN_NAME": "currentSubtotalLineItemsQuantity",
304 "DATA_TYPE": "INT",
305 "COLUMN_DESCRIPTION": "The current sum of the quantities for all line items that contribute to the order's subtotal price, after returns, refunds, order edits, and cancellations.",
306 "IS_NULLABLE": False,
307 },
308 {
309 "TABLE_NAME": "orders",
310 "COLUMN_NAME": "currentSubtotalPriceSet",
311 "DATA_TYPE": "JSON",
312 "COLUMN_DESCRIPTION": "The total price of the order, after returns and refunds, in shop and presentment currencies. This includes taxes and discounts.",
313 "IS_NULLABLE": False,
314 },
315 # {
316 # "TABLE_NAME": "orders",
317 # "COLUMN_NAME": "currentTaxLines",
318 # "DATA_TYPE": "JSON",
319 # "COLUMN_DESCRIPTION": "A list of all tax lines applied to line items on the order, after returns. Tax line prices represent the total price for all tax lines with the same rate and title.",
320 # "IS_NULLABLE": False
321 # },
322 {
323 "TABLE_NAME": "orders",
324 "COLUMN_NAME": "currentTotalAdditionalFeesSet",
325 "DATA_TYPE": "JSON",
326 "COLUMN_DESCRIPTION": "The current total of all additional fees for an order, after any returns or modifications. Modifications include returns, refunds, order edits, and cancellations. Additional fees can include charges such as duties, import fees, and special handling.",
327 "IS_NULLABLE": None,
328 },
329 {
330 "TABLE_NAME": "orders",
331 "COLUMN_NAME": "currentTotalDiscountsSet",
332 "DATA_TYPE": "JSON",
333 "COLUMN_DESCRIPTION": "The total amount discounted on the order after returns and refunds, in shop and presentment currencies. This includes both order and line level discounts.",
334 "IS_NULLABLE": False,
335 },
336 {
337 "TABLE_NAME": "orders",
338 "COLUMN_NAME": "currentTotalDutiesSet",
339 "DATA_TYPE": "JSON",
340 "COLUMN_DESCRIPTION": "The current total duties amount for an order, after any returns or modifications. Modifications include returns, refunds, order edits, and cancellations.",
341 "IS_NULLABLE": None,
342 },
343 {
344 "TABLE_NAME": "orders",
345 "COLUMN_NAME": "currentTotalPriceSet",
346 "DATA_TYPE": "JSON",
347 "COLUMN_DESCRIPTION": "The total price of the order, after returns, in shop and presentment currencies. This includes taxes and discounts.",
348 "IS_NULLABLE": False,
349 },
350 {
351 "TABLE_NAME": "orders",
352 "COLUMN_NAME": "currentTotalTaxSet",
353 "DATA_TYPE": "JSON",
354 "COLUMN_DESCRIPTION": "The sum of the prices of all tax lines applied to line items on the order, after returns and refunds, in shop and presentment currencies.",
355 "IS_NULLABLE": False,
356 },
357 {
358 "TABLE_NAME": "orders",
359 "COLUMN_NAME": "currentTotalWeight",
360 "DATA_TYPE": "INT",
361 "COLUMN_DESCRIPTION": "The total weight of the order after returns and refunds, in grams.",
362 "IS_NULLABLE": False,
363 },
364 # {
365 # "TABLE_NAME": "orders",
366 # "COLUMN_NAME": "customAttributes",
367 # "DATA_TYPE": "JSON",
368 # "COLUMN_DESCRIPTION": "A list of additional information that has been attached to the order. For example, gift message, delivery instructions, or internal notes.",
369 # "IS_NULLABLE": False
370 # },
371 # {
372 # "TABLE_NAME": "orders",
373 # "COLUMN_NAME": "customer",
374 # "DATA_TYPE": "JSON",
375 # "COLUMN_DESCRIPTION": "The customer who placed an order. Returns null if an order was created through a checkout without customer authentication, such as a guest checkout.",
376 # "IS_NULLABLE": None
377 # },
378 {
379 "TABLE_NAME": "orders",
380 "COLUMN_NAME": "customerId",
381 "DATA_TYPE": "TEXT",
382 "COLUMN_DESCRIPTION": "ID of the customer.",
383 "IS_NULLABLE": False,
384 },
385 {
386 "TABLE_NAME": "orders",
387 "COLUMN_NAME": "customerAcceptsMarketing",
388 "DATA_TYPE": "BOOLEAN",
389 "COLUMN_DESCRIPTION": "Whether the customer agreed to receive marketing emails at the time of purchase. Use this to ensure compliance with marketing consent laws and to segment customers for email campaigns.",
390 "IS_NULLABLE": False,
391 },
392 # {
393 # "TABLE_NAME": "orders",
394 # "COLUMN_NAME": "customerJourneySummary",
395 # "DATA_TYPE": "JSON",
396 # "COLUMN_DESCRIPTION": "The customer's visits and interactions with the online store before placing the order. Use this to understand customer behavior, attribution sources, and marketing effectiveness to optimize your sales funnel.",
397 # "IS_NULLABLE": None
398 # },
399 {
400 "TABLE_NAME": "orders",
401 "COLUMN_NAME": "customerLocale",
402 "DATA_TYPE": "TEXT",
403 "COLUMN_DESCRIPTION": "The customer's language and region preference at the time of purchase. For example, en for English, fr-CA for French (Canada), or es-MX for Spanish (Mexico). Use this to provide localized customer service and targeted marketing in the customer's preferred language.",
404 "IS_NULLABLE": None,
405 },
406 # {
407 # "TABLE_NAME": "orders",
408 # "COLUMN_NAME": "discountApplications",
409 # "DATA_TYPE": "JSON",
410 # "COLUMN_DESCRIPTION": "A list of discounts that are applied to the order, excluding order edits and refunds. Includes discount codes, automatic discounts, and other promotions that reduce the order total.",
411 # "IS_NULLABLE": False
412 # },
413 {
414 "TABLE_NAME": "orders",
415 "COLUMN_NAME": "discountCode",
416 "DATA_TYPE": "TEXT",
417 "COLUMN_DESCRIPTION": "The discount code used for an order. Returns null if no discount code was applied.",
418 "IS_NULLABLE": None,
419 },
420 {
421 "TABLE_NAME": "orders",
422 "COLUMN_NAME": "discountCodes",
423 "DATA_TYPE": "JSON",
424 "COLUMN_DESCRIPTION": "The discount codes used for the order. Multiple codes can be applied to a single order.",
425 "IS_NULLABLE": False,
426 },
427 # {
428 # "TABLE_NAME": "orders",
429 # "COLUMN_NAME": "displayAddress",
430 # "DATA_TYPE": "JSON",
431 # "COLUMN_DESCRIPTION": "The primary address of the customer, prioritizing shipping address over billing address when both are available. Returns null if neither shipping address nor billing address was provided.",
432 # "IS_NULLABLE": None
433 # },
434 # {
435 # "TABLE_NAME": "orders",
436 # "COLUMN_NAME": "displayFinancialStatus",
437 # "DATA_TYPE": "TEXT",
438 # "COLUMN_DESCRIPTION": "An order's financial status for display in the Shopify admin.",
439 # "IS_NULLABLE": None
440 # },
441 # {
442 # "TABLE_NAME": "orders",
443 # "COLUMN_NAME": "displayFulfillmentStatus",
444 # "DATA_TYPE": "TEXT",
445 # "COLUMN_DESCRIPTION": "The order's fulfillment status that displays in the Shopify admin to merchants. For example, an order might be unfulfilled or scheduled.",
446 # "IS_NULLABLE": False
447 # },
448 # {
449 # "TABLE_NAME": "orders",
450 # "COLUMN_NAME": "disputes",
451 # "DATA_TYPE": "JSON",
452 # "COLUMN_DESCRIPTION": "A list of payment disputes associated with the order, such as chargebacks or payment inquiries. Disputes occur when customers challenge transactions with their bank or payment provider.",
453 # "IS_NULLABLE": False
454 # },
455 {
456 "TABLE_NAME": "orders",
457 "COLUMN_NAME": "dutiesIncluded",
458 "DATA_TYPE": "BOOLEAN",
459 "COLUMN_DESCRIPTION": "Whether duties are included in the subtotal price of the order. Duties are import taxes charged by customs authorities when goods cross international borders.",
460 "IS_NULLABLE": False,
461 },
462 {
463 "TABLE_NAME": "orders",
464 "COLUMN_NAME": "edited",
465 "DATA_TYPE": "BOOLEAN",
466 "COLUMN_DESCRIPTION": "Whether the order has had any edits applied. For example, adding or removing line items, updating quantities, or changing prices.",
467 "IS_NULLABLE": False,
468 },
469 {
470 "TABLE_NAME": "orders",
471 "COLUMN_NAME": "email",
472 "DATA_TYPE": "TEXT",
473 "COLUMN_DESCRIPTION": "The email address associated with the customer for this order. Used for sending order confirmations, shipping notifications, and other order-related communications. Returns null if no email address was provided during checkout.",
474 "IS_NULLABLE": None,
475 },
476 {
477 "TABLE_NAME": "orders",
478 "COLUMN_NAME": "estimatedTaxes",
479 "DATA_TYPE": "BOOLEAN",
480 "COLUMN_DESCRIPTION": "Whether taxes on the order are estimated. This field returns false when taxes on the order are finalized and aren't subject to any changes.",
481 "IS_NULLABLE": False,
482 },
483 # {
484 # "TABLE_NAME": "orders",
485 # "COLUMN_NAME": "events",
486 # "DATA_TYPE": "JSON",
487 # "COLUMN_DESCRIPTION": "A list of events associated with the order. Events track significant changes and activities related to the order, such as creation, payment, fulfillment, and cancellation.",
488 # "IS_NULLABLE": False
489 # },
490 {
491 "TABLE_NAME": "orders",
492 "COLUMN_NAME": "fulfillable",
493 "DATA_TYPE": "BOOLEAN",
494 "COLUMN_DESCRIPTION": "Whether there are line items that can be fulfilled. This field returns false when the order has no fulfillable line items.",
495 "IS_NULLABLE": False,
496 },
497 # {
498 # "TABLE_NAME": "orders",
499 # "COLUMN_NAME": "fulfillmentOrders",
500 # "DATA_TYPE": "JSON",
501 # "COLUMN_DESCRIPTION": "A list of fulfillment orders for an order. Each fulfillment order groups line items that are fulfilled together, allowing an order to be processed in parts if needed.",
502 # "IS_NULLABLE": False
503 # },
504 # {
505 # "TABLE_NAME": "orders",
506 # "COLUMN_NAME": "fulfillments",
507 # "DATA_TYPE": "JSON",
508 # "COLUMN_DESCRIPTION": "A list of shipments for the order. Fulfillments represent the physical shipment of products to customers.",
509 # "IS_NULLABLE": False
510 # },
511 {
512 "TABLE_NAME": "orders",
513 "COLUMN_NAME": "fulfillmentsCount",
514 "DATA_TYPE": "JSON",
515 "COLUMN_DESCRIPTION": "The total number of fulfillments for the order, including canceled ones.",
516 "IS_NULLABLE": None,
517 },
518 {
519 "TABLE_NAME": "orders",
520 "COLUMN_NAME": "fullyPaid",
521 "DATA_TYPE": "BOOLEAN",
522 "COLUMN_DESCRIPTION": "Whether the order has been paid in full. This field returns true when the total amount received equals or exceeds the order total.",
523 "IS_NULLABLE": False,
524 },
525 {
526 "TABLE_NAME": "orders",
527 "COLUMN_NAME": "hasTimelineComment",
528 "DATA_TYPE": "BOOLEAN",
529 "COLUMN_DESCRIPTION": "Whether the merchant has added a timeline comment to the order.",
530 "IS_NULLABLE": False,
531 },
532 {
533 "TABLE_NAME": "orders",
534 "COLUMN_NAME": "id",
535 "DATA_TYPE": "TEXT",
536 "COLUMN_DESCRIPTION": "A globally-unique ID.",
537 "IS_NULLABLE": False,
538 },
539 # {
540 # "TABLE_NAME": "orders",
541 # "COLUMN_NAME": "legacyResourceId",
542 # "DATA_TYPE": "INT",
543 # "COLUMN_DESCRIPTION": "The ID of the corresponding resource in the REST Admin API.",
544 # "IS_NULLABLE": False
545 # },
546 # {
547 # "TABLE_NAME": "orders",
548 # "COLUMN_NAME": "lineItems",
549 # "DATA_TYPE": "JSON",
550 # "COLUMN_DESCRIPTION": "A list of the order's line items. Line items represent the individual products and quantities that make up the order.",
551 # "IS_NULLABLE": False
552 # },
553 # {
554 # "TABLE_NAME": "orders",
555 # "COLUMN_NAME": "localizedFields",
556 # "DATA_TYPE": "JSON",
557 # "COLUMN_DESCRIPTION": "List of localized fields for the resource.",
558 # "IS_NULLABLE": False
559 # },
560 # {
561 # "TABLE_NAME": "orders",
562 # "COLUMN_NAME": "merchantBusinessEntity",
563 # "DATA_TYPE": "JSON",
564 # "COLUMN_DESCRIPTION": "The legal business structure that the merchant operates under for this order, such as an LLC, corporation, or partnership. Used for tax reporting, legal compliance, and determining which business entity is responsible for the order.",
565 # "IS_NULLABLE": False
566 # },
567 {
568 "TABLE_NAME": "orders",
569 "COLUMN_NAME": "merchantEditable",
570 "DATA_TYPE": "BOOLEAN",
571 "COLUMN_DESCRIPTION": "Whether the order can be edited by the merchant. Returns false for orders that can't be modified, such as canceled orders or orders with specific payment statuses.",
572 "IS_NULLABLE": False,
573 },
574 {
575 "TABLE_NAME": "orders",
576 "COLUMN_NAME": "merchantEditableErrors",
577 "DATA_TYPE": "JSON",
578 "COLUMN_DESCRIPTION": "A list of reasons why the order can't be edited. For example, canceled orders can't be edited.",
579 "IS_NULLABLE": False,
580 },
581 # {
582 # "TABLE_NAME": "orders",
583 # "COLUMN_NAME": "merchantOfRecordApp",
584 # "DATA_TYPE": "JSON",
585 # "COLUMN_DESCRIPTION": "The application acting as the Merchant of Record for the order. The Merchant of Record is responsible for tax collection and remittance.",
586 # "IS_NULLABLE": None
587 # },
588 # {
589 # "TABLE_NAME": "orders",
590 # "COLUMN_NAME": "metafield",
591 # "DATA_TYPE": "JSON",
592 # "COLUMN_DESCRIPTION": "A custom field, including its namespace and key, that's associated with a Shopify resource for the purposes of adding and storing additional information.",
593 # "IS_NULLABLE": None
594 # },
595 # {
596 # "TABLE_NAME": "orders",
597 # "COLUMN_NAME": "metafields",
598 # "DATA_TYPE": "JSON",
599 # "COLUMN_DESCRIPTION": "A list of custom fields that a merchant associates with a Shopify resource.",
600 # "IS_NULLABLE": False
601 # },
602 {
603 "TABLE_NAME": "orders",
604 "COLUMN_NAME": "name",
605 "DATA_TYPE": "TEXT",
606 "COLUMN_DESCRIPTION": "The unique identifier for the order that appears on the order page in the Shopify admin and the Order status page. For example, #1001, EN1001, or 1001-A. This value isn't unique across multiple stores.",
607 "IS_NULLABLE": False,
608 },
609 {
610 "TABLE_NAME": "orders",
611 "COLUMN_NAME": "netPaymentSet",
612 "DATA_TYPE": "JSON",
613 "COLUMN_DESCRIPTION": "The net payment for the order, based on the total amount received minus the total amount refunded, in shop and presentment currencies.",
614 "IS_NULLABLE": False,
615 },
616 # {
617 # "TABLE_NAME": "orders",
618 # "COLUMN_NAME": "nonFulfillableLineItems",
619 # "DATA_TYPE": "JSON",
620 # "COLUMN_DESCRIPTION": "A list of line items that can't be fulfilled. For example, tips and fully refunded line items can't be fulfilled.",
621 # "IS_NULLABLE": False
622 # },
623 {
624 "TABLE_NAME": "orders",
625 "COLUMN_NAME": "note",
626 "DATA_TYPE": "TEXT",
627 "COLUMN_DESCRIPTION": "The note associated with the order. Contains additional information or instructions added by merchants or customers during the order process. Commonly used for special delivery instructions, gift messages, or internal processing notes.",
628 "IS_NULLABLE": None,
629 },
630 {
631 "TABLE_NAME": "orders",
632 "COLUMN_NAME": "number",
633 "DATA_TYPE": "INT",
634 "COLUMN_DESCRIPTION": "The order number used to generate the name using the store's configured order number prefix/suffix. This number isn't guaranteed to follow a consecutive integer sequence, nor is it guaranteed to be unique across multiple stores, or even for a single store.",
635 "IS_NULLABLE": False,
636 },
637 {
638 "TABLE_NAME": "orders",
639 "COLUMN_NAME": "originalTotalAdditionalFeesSet",
640 "DATA_TYPE": "JSON",
641 "COLUMN_DESCRIPTION": "The total amount of all additional fees, such as import fees or taxes, that were applied when an order was created. Returns null if additional fees aren't applicable.",
642 "IS_NULLABLE": None,
643 },
644 {
645 "TABLE_NAME": "orders",
646 "COLUMN_NAME": "originalTotalDutiesSet",
647 "DATA_TYPE": "JSON",
648 "COLUMN_DESCRIPTION": "The total amount of duties calculated when an order was created, before any modifications. Modifications include returns, refunds, order edits, and cancellations.",
649 "IS_NULLABLE": None,
650 },
651 {
652 "TABLE_NAME": "orders",
653 "COLUMN_NAME": "originalTotalPriceSet",
654 "DATA_TYPE": "JSON",
655 "COLUMN_DESCRIPTION": "The total price of the order at the time of order creation, in shop and presentment currencies. Use this to compare the original order value against the current total after edits, returns, or refunds.",
656 "IS_NULLABLE": False,
657 },
658 # {
659 # "TABLE_NAME": "orders",
660 # "COLUMN_NAME": "paymentCollectionDetails",
661 # "DATA_TYPE": "JSON",
662 # "COLUMN_DESCRIPTION": "The payment collection details for the order, including payment status, outstanding amounts, and collection information. Use this to understand when and how payments should be collected, especially for orders with deferred or installment payment terms.",
663 # "IS_NULLABLE": False
664 # },
665 {
666 "TABLE_NAME": "orders",
667 "COLUMN_NAME": "paymentGatewayNames",
668 "DATA_TYPE": "JSON",
669 "COLUMN_DESCRIPTION": "A list of the names of all payment gateways used for the order. For example, Shopify Payments and Cash on Delivery (COD).",
670 "IS_NULLABLE": False,
671 },
672 # {
673 # "TABLE_NAME": "orders",
674 # "COLUMN_NAME": "paymentTerms",
675 # "DATA_TYPE": "JSON",
676 # "COLUMN_DESCRIPTION": "The payment terms associated with the order, such as net payment due dates or early payment discounts. Payment terms define when and how an order should be paid. Returns null if no specific payment terms were set for the order.",
677 # "IS_NULLABLE": None
678 # },
679 {
680 "TABLE_NAME": "orders",
681 "COLUMN_NAME": "phone",
682 "DATA_TYPE": "TEXT",
683 "COLUMN_DESCRIPTION": "The phone number associated with the customer for this order. Useful for contacting customers about shipping updates, delivery notifications, or order issues. Returns null if no phone number was provided during checkout.",
684 "IS_NULLABLE": None,
685 },
686 {
687 "TABLE_NAME": "orders",
688 "COLUMN_NAME": "poNumber",
689 "DATA_TYPE": "TEXT",
690 "COLUMN_DESCRIPTION": "The purchase order (PO) number that's associated with an order. This is typically provided by business customers who require a PO number for their procurement.",
691 "IS_NULLABLE": None,
692 },
693 {
694 "TABLE_NAME": "orders",
695 "COLUMN_NAME": "presentmentCurrencyCode",
696 "DATA_TYPE": "TEXT",
697 "COLUMN_DESCRIPTION": "The currency used by the customer when placing the order. For example, USD, EUR, or CAD. This may differ from the shop's base currency when serving international customers or using multi-currency pricing.",
698 "IS_NULLABLE": False,
699 },
700 {
701 "TABLE_NAME": "orders",
702 "COLUMN_NAME": "processedAt",
703 "DATA_TYPE": "TIMESTAMP",
704 "COLUMN_DESCRIPTION": "The date and time in ISO 8601 format when the order was processed. This date and time might not match the date and time when the order was created.",
705 "IS_NULLABLE": False,
706 },
707 {
708 "TABLE_NAME": "orders",
709 "COLUMN_NAME": "productNetwork",
710 "DATA_TYPE": "BOOLEAN",
711 "COLUMN_DESCRIPTION": "Whether the customer also purchased items from other stores in the network.",
712 "IS_NULLABLE": False,
713 },
714 # {
715 # "TABLE_NAME": "orders",
716 # "COLUMN_NAME": "publication",
717 # "DATA_TYPE": "JSON",
718 # "COLUMN_DESCRIPTION": "The sales channel that the order was created from, such as the Online Store or Shopify POS.",
719 # "IS_NULLABLE": None
720 # },
721 # {
722 # "TABLE_NAME": "orders",
723 # "COLUMN_NAME": "purchasingEntity",
724 # "DATA_TYPE": "JSON",
725 # "COLUMN_DESCRIPTION": "The business entity that placed the order, including company details and purchasing relationships. Used for B2B transactions to track which company or organization is responsible for the purchase and payment terms.",
726 # "IS_NULLABLE": None
727 # },
728 {
729 "TABLE_NAME": "orders",
730 "COLUMN_NAME": "refundable",
731 "DATA_TYPE": "BOOLEAN",
732 "COLUMN_DESCRIPTION": "Whether the order can be refunded based on its payment transactions. Returns false for orders with no eligible payment transactions, such as fully refunded orders or orders with non-refundable payment methods.",
733 "IS_NULLABLE": False,
734 },
735 {
736 "TABLE_NAME": "orders",
737 "COLUMN_NAME": "refundDiscrepancySet",
738 "DATA_TYPE": "JSON",
739 "COLUMN_DESCRIPTION": "The difference between the suggested and actual refund amount of all refunds that have been applied to the order. A positive value indicates a difference in the merchant's favor, and a negative value indicates a difference in the customer's favor.",
740 "IS_NULLABLE": False,
741 },
742 # {
743 # "TABLE_NAME": "orders",
744 # "COLUMN_NAME": "refunds",
745 # "DATA_TYPE": "JSON",
746 # "COLUMN_DESCRIPTION": "A list of refunds that have been applied to the order. Refunds represent money returned to customers for returned items, cancellations, or adjustments.",
747 # "IS_NULLABLE": False
748 # },
749 {
750 "TABLE_NAME": "orders",
751 "COLUMN_NAME": "registeredSourceUrl",
752 "DATA_TYPE": "TEXT",
753 "COLUMN_DESCRIPTION": "The URL of the source that the order originated from, if found in the domain registry. Returns null if the source URL isn't in the domain registry.",
754 "IS_NULLABLE": None,
755 },
756 {
757 "TABLE_NAME": "orders",
758 "COLUMN_NAME": "requiresShipping",
759 "DATA_TYPE": "BOOLEAN",
760 "COLUMN_DESCRIPTION": "Whether the order requires physical shipping to the customer. Returns false for digital-only orders (such as gift cards or downloadable products) and true for orders with physical products that need delivery.",
761 "IS_NULLABLE": False,
762 },
763 {
764 "TABLE_NAME": "orders",
765 "COLUMN_NAME": "restockable",
766 "DATA_TYPE": "BOOLEAN",
767 "COLUMN_DESCRIPTION": "Whether any line items on the order can be restocked into inventory. Returns false for digital products, custom items, or items that can't be resold.",
768 "IS_NULLABLE": False,
769 },
770 # {
771 # "TABLE_NAME": "orders",
772 # "COLUMN_NAME": "retailLocation",
773 # "DATA_TYPE": "JSON",
774 # "COLUMN_DESCRIPTION": "The physical location where a retail order is created or completed, except for draft POS orders completed using the mark as paid flow in the Shopify admin, which return null. Transactions associated with the order might have been processed at a different location.",
775 # "IS_NULLABLE": None
776 # },
777 # {
778 # "TABLE_NAME": "orders",
779 # "COLUMN_NAME": "returns",
780 # "DATA_TYPE": "JSON",
781 # "COLUMN_DESCRIPTION": "The returns associated with the order. Contains information about items that customers have requested to return, including return reasons, status, and refund details.",
782 # "IS_NULLABLE": False
783 # },
784 {
785 "TABLE_NAME": "orders",
786 "COLUMN_NAME": "returnStatus",
787 "DATA_TYPE": "TEXT",
788 "COLUMN_DESCRIPTION": "The order's aggregated return status for display purposes. Indicates the overall state of returns for the order, helping merchants track and manage the return process.",
789 "IS_NULLABLE": False,
790 },
791 # {
792 # "TABLE_NAME": "orders",
793 # "COLUMN_NAME": "risk",
794 # "DATA_TYPE": "JSON",
795 # "COLUMN_DESCRIPTION": "The risk assessment summary for the order. Provides fraud analysis and risk scoring to help you identify potentially fraudulent orders.",
796 # "IS_NULLABLE": False
797 # },
798 {
799 "TABLE_NAME": "orders",
800 "COLUMN_NAME": "shippingAddress",
801 "DATA_TYPE": "JSON",
802 "COLUMN_DESCRIPTION": "The shipping address where the order will be delivered. Contains the customer's delivery location for fulfillment and shipping label generation. Returns null for digital orders or orders that don't require shipping.",
803 "IS_NULLABLE": None,
804 },
805 # {
806 # "TABLE_NAME": "orders",
807 # "COLUMN_NAME": "shippingLine",
808 # "DATA_TYPE": "JSON",
809 # "COLUMN_DESCRIPTION": "A summary of all shipping costs on the order. Aggregates shipping charges, discounts, and taxes to provide a single view of delivery costs.",
810 # "IS_NULLABLE": None
811 # },
812 # {
813 # "TABLE_NAME": "orders",
814 # "COLUMN_NAME": "shippingLines",
815 # "DATA_TYPE": "JSON",
816 # "COLUMN_DESCRIPTION": "The shipping methods applied to the order. Each shipping line represents a shipping option chosen during checkout, including the carrier, service level, and cost.",
817 # "IS_NULLABLE": False
818 # },
819 # {
820 # "TABLE_NAME": "orders",
821 # "COLUMN_NAME": "shopifyProtect",
822 # "DATA_TYPE": "JSON",
823 # "COLUMN_DESCRIPTION": "The Shopify Protect details for the order, including fraud protection status and coverage information. Shopify Protect helps protect eligible orders against fraudulent chargebacks. Returns null if Shopify Protect is disabled for the shop or the order isn't eligible for protection.",
824 # "IS_NULLABLE": None
825 # },
826 {
827 "TABLE_NAME": "orders",
828 "COLUMN_NAME": "sourceIdentifier",
829 "DATA_TYPE": "TEXT",
830 "COLUMN_DESCRIPTION": "A unique POS or third party order identifier. For example, 1234-12-1000 or 111-98567-54.",
831 "IS_NULLABLE": None,
832 },
833 {
834 "TABLE_NAME": "orders",
835 "COLUMN_NAME": "sourceName",
836 "DATA_TYPE": "TEXT",
837 "COLUMN_DESCRIPTION": "The name of the source associated with the order, such as web, mobile_app, or pos. Use this field to identify the platform where the order was placed.",
838 "IS_NULLABLE": None,
839 },
840 # {
841 # "TABLE_NAME": "orders",
842 # "COLUMN_NAME": "staffMember",
843 # "DATA_TYPE": "JSON",
844 # "COLUMN_DESCRIPTION": "The staff member who created or is responsible for the order. Useful for tracking which team member handled phone orders, manual orders, or order modifications. Returns null for orders created directly by customers through the online store.",
845 # "IS_NULLABLE": None
846 # },
847 {
848 "TABLE_NAME": "orders",
849 "COLUMN_NAME": "statusPageUrl",
850 "DATA_TYPE": "TEXT",
851 "COLUMN_DESCRIPTION": "The URL where customers can check their order's current status, including tracking information and delivery updates.",
852 "IS_NULLABLE": False,
853 },
854 {
855 "TABLE_NAME": "orders",
856 "COLUMN_NAME": "subtotalLineItemsQuantity",
857 "DATA_TYPE": "INT",
858 "COLUMN_DESCRIPTION": "The sum of quantities for all line items that contribute to the order's subtotal price. This excludes quantities for items like tips, shipping costs, or gift cards that don't affect the subtotal.",
859 "IS_NULLABLE": False,
860 },
861 {
862 "TABLE_NAME": "orders",
863 "COLUMN_NAME": "subtotalPriceSet",
864 "DATA_TYPE": "JSON",
865 "COLUMN_DESCRIPTION": "The sum of the prices for all line items after discounts and before returns, in shop and presentment currencies. If taxesIncluded is true, then the subtotal also includes tax.",
866 "IS_NULLABLE": None,
867 },
868 # {
869 # "TABLE_NAME": "orders",
870 # "COLUMN_NAME": "suggestedRefund",
871 # "DATA_TYPE": "JSON",
872 # "COLUMN_DESCRIPTION": "A calculated refund suggestion for the order based on specified line items, shipping, and duties. Use this to preview refund amounts, taxes, and processing fees before creating an actual refund.",
873 # "IS_NULLABLE": None
874 # },
875 {
876 "TABLE_NAME": "orders",
877 "COLUMN_NAME": "tags",
878 "DATA_TYPE": "JSON",
879 "COLUMN_DESCRIPTION": "A comma separated list of tags associated with the order. Updating tags overwrites any existing tags that were previously added to the order.",
880 "IS_NULLABLE": False,
881 },
882 {
883 "TABLE_NAME": "orders",
884 "COLUMN_NAME": "taxesIncluded",
885 "DATA_TYPE": "BOOLEAN",
886 "COLUMN_DESCRIPTION": "Whether taxes are included in the subtotal price of the order. When true, the subtotal and line item prices include tax amounts. When false, taxes are calculated and displayed separately.",
887 "IS_NULLABLE": False,
888 },
889 {
890 "TABLE_NAME": "orders",
891 "COLUMN_NAME": "taxExempt",
892 "DATA_TYPE": "BOOLEAN",
893 "COLUMN_DESCRIPTION": "Whether taxes are exempt on the order. Returns true for orders where the customer or business has a valid tax exemption, such as non-profit organizations or tax-free purchases.",
894 "IS_NULLABLE": False,
895 },
896 # {
897 # "TABLE_NAME": "orders",
898 # "COLUMN_NAME": "taxLines",
899 # "DATA_TYPE": "JSON",
900 # "COLUMN_DESCRIPTION": "A list of all tax lines applied to line items on the order, before returns. Tax line prices represent the total price for all tax lines with the same rate and title.",
901 # "IS_NULLABLE": False
902 # },
903 {
904 "TABLE_NAME": "orders",
905 "COLUMN_NAME": "test",
906 "DATA_TYPE": "BOOLEAN",
907 "COLUMN_DESCRIPTION": "Whether the order is a test. Test orders are made using the Shopify Bogus Gateway or a payment provider with test mode enabled. A test order can't be converted into a real order and vice versa.",
908 "IS_NULLABLE": False,
909 },
910 {
911 "TABLE_NAME": "orders",
912 "COLUMN_NAME": "totalCapturableSet",
913 "DATA_TYPE": "JSON",
914 "COLUMN_DESCRIPTION": "The authorized amount that's uncaptured or undercaptured, in shop and presentment currencies. This amount isn't adjusted for returns.",
915 "IS_NULLABLE": False,
916 },
917 # {
918 # "TABLE_NAME": "orders",
919 # "COLUMN_NAME": "totalCashRoundingAdjustment",
920 # "DATA_TYPE": "JSON",
921 # "COLUMN_DESCRIPTION": "The total rounding adjustment applied to payments or refunds for an order involving cash payments. Applies to some countries where cash transactions are rounded to the nearest currency denomination.",
922 # "IS_NULLABLE": False
923 # },
924 {
925 "TABLE_NAME": "orders",
926 "COLUMN_NAME": "totalDiscountsSet",
927 "DATA_TYPE": "JSON",
928 "COLUMN_DESCRIPTION": "The total amount discounted on the order before returns, in shop and presentment currencies. This includes both order and line level discounts.",
929 "IS_NULLABLE": None,
930 },
931 {
932 "TABLE_NAME": "orders",
933 "COLUMN_NAME": "totalOutstandingSet",
934 "DATA_TYPE": "JSON",
935 "COLUMN_DESCRIPTION": "The total amount not yet transacted for the order, in shop and presentment currencies. A positive value indicates a difference in the merchant's favor (payment from customer to merchant) and a negative value indicates a difference in the customer's favor (refund from merchant to customer).",
936 "IS_NULLABLE": False,
937 },
938 {
939 "TABLE_NAME": "orders",
940 "COLUMN_NAME": "totalPriceSet",
941 "DATA_TYPE": "JSON",
942 "COLUMN_DESCRIPTION": "The total price of the order, before returns, in shop and presentment currencies. This includes taxes and discounts.",
943 "IS_NULLABLE": False,
944 },
945 {
946 "TABLE_NAME": "orders",
947 "COLUMN_NAME": "totalReceivedSet",
948 "DATA_TYPE": "JSON",
949 "COLUMN_DESCRIPTION": "The total amount received from the customer before returns, in shop and presentment currencies.",
950 "IS_NULLABLE": False,
951 },
952 {
953 "TABLE_NAME": "orders",
954 "COLUMN_NAME": "totalRefundedSet",
955 "DATA_TYPE": "JSON",
956 "COLUMN_DESCRIPTION": "The total amount that was refunded, in shop and presentment currencies.",
957 "IS_NULLABLE": False,
958 },
959 {
960 "TABLE_NAME": "orders",
961 "COLUMN_NAME": "totalRefundedShippingSet",
962 "DATA_TYPE": "JSON",
963 "COLUMN_DESCRIPTION": "The total amount of shipping that was refunded, in shop and presentment currencies.",
964 "IS_NULLABLE": False,
965 },
966 {
967 "TABLE_NAME": "orders",
968 "COLUMN_NAME": "totalShippingPriceSet",
969 "DATA_TYPE": "JSON",
970 "COLUMN_DESCRIPTION": "The total shipping costs returned to the customer, in shop and presentment currencies. This includes fees and any related discounts that were refunded.",
971 "IS_NULLABLE": False,
972 },
973 {
974 "TABLE_NAME": "orders",
975 "COLUMN_NAME": "totalTaxSet",
976 "DATA_TYPE": "JSON",
977 "COLUMN_DESCRIPTION": "The total tax amount before returns, in shop and presentment currencies.",
978 "IS_NULLABLE": None,
979 },
980 {
981 "TABLE_NAME": "orders",
982 "COLUMN_NAME": "totalTipReceivedSet",
983 "DATA_TYPE": "JSON",
984 "COLUMN_DESCRIPTION": "The sum of all tip amounts for the order, in shop and presentment currencies.",
985 "IS_NULLABLE": False,
986 },
987 {
988 "TABLE_NAME": "orders",
989 "COLUMN_NAME": "totalWeight",
990 "DATA_TYPE": "INT",
991 "COLUMN_DESCRIPTION": "The total weight of the order before returns, in grams.",
992 "IS_NULLABLE": None,
993 },
994 # {
995 # "TABLE_NAME": "orders",
996 # "COLUMN_NAME": "transactions",
997 # "DATA_TYPE": "JSON",
998 # "COLUMN_DESCRIPTION": "A list of transactions associated with the order.",
999 # "IS_NULLABLE": False
1000 # },
1001 {
1002 "TABLE_NAME": "orders",
1003 "COLUMN_NAME": "transactionsCount",
1004 "DATA_TYPE": "JSON",
1005 "COLUMN_DESCRIPTION": "The number of transactions associated with the order.",
1006 "IS_NULLABLE": None,
1007 },
1008 {
1009 "TABLE_NAME": "orders",
1010 "COLUMN_NAME": "unpaid",
1011 "DATA_TYPE": "BOOLEAN",
1012 "COLUMN_DESCRIPTION": "Whether no payments have been made for the order.",
1013 "IS_NULLABLE": False,
1014 },
1015 {
1016 "TABLE_NAME": "orders",
1017 "COLUMN_NAME": "updatedAt",
1018 "DATA_TYPE": "TIMESTAMP",
1019 "COLUMN_DESCRIPTION": "The date and time in ISO 8601 format when the order was last modified.",
1020 "IS_NULLABLE": False,
1021 },
1022]