Skip to main content

Orders

An Order Object can be sent to the webhook URL for each order that reaches a finalized state, or in some cases, any state for which it is necessary for a target consumer. The Order Object contains details about the location that prepared the order, how it was delivered, the items included with the order, price, tax and payment info, as well as other details that are useful for business logic and analysis.

The Orders documentation includes the following sections:

  • The Order Status section includes information about which orders are sent to the webhook URL.

  • The Outdated Information Filtering section includes information about our webhook service manages multiple copies of the same order.

  • The Example Order section includes sample JSON that illustrates a typical payload sent to the webhook URL.

  • The Data Models define the objects and attributes that make up the Order Object.

It should be noted that sensitive pieces of transactional data, such as personally identifiable information (PII) and certain payment details, are stripped from objects before they are published.

For our customers subscribed to the Data Stream, the Named Calculations endpoint is available for data consumers to fully understand how summarized totals, such as Net Sales, are calculated by the downstream Reporting services.

Order Status

Typically, the Data Stream service publishes an Order Object to the webhook URL only when the order is considered final, which means the user can no longer edit the order. The table below defines each Order Status.

If necessary, users can add states to the list of allowed states.

The values in the Order Status column correspond to the values of the order.state fields, which are sent as part of the order object:

Order Status

Order Origin

Description

Final

Checked In

Online Orders / Mobile Orders

The order has been 'checked in' by an employee on our point of sale (POS) or by a customer using a mobile or web application

Warning

Considered "final" only when the order has been paid.

Yes / No

Closed

POS

The payment has been applied to the order with an amount that satisfies the order total.

Yes

Committed

Online Orders / Mobile Orders

The order has been sent to our POS after approval from the customer.

Warning

Considered "final" only when the order has been paid.

Yes / No

Deleted

POS / Online Orders / Mobile Orders

The order has been abandoned before sending it to the kitchen.

Yes

Open

Online Orders / Mobile Orders

The order has been started but has not been saved, totaled, or finalized.

No

Overringed

Online Orders / Mobile Orders

Similar to a voided state, except that a new order is created to replace the overring.

Yes

Parked

Mobile Orders

The order in progress has been parked without sending items to the kitchen video system with the intention of resuming the order.

No

Pending

POS / Mobile Orders

The initial order state. After the new order is created, it is immediately assigned a "Pending" order status.

No

Post Payment Voided

POS

The order was cancelled after a payment was applied. These orders are generally mistakes.

Yes

Purged

Online Orders

"Open" orders that are never transitioned to another status are removed automatically.

Yes

Saved

POS / Mobile Orders

The order is saved for a later recall.

No

Split

Mobile Orders

This state is assigned to the original order after it has been split into several orders.

No

Suspended

POS / Mobile Orders

The order has been set aside for a later recall.

No

Voided

POS / Online Orders / Mobile Orders

The order has been abandoned before payment, but after items have been sent to the kitchen for preparation.

Yes

Outdated Information Filtering

An order can be updated with new information more than once. Updates can reach our webhook service in a different order, which can result in older versions of the order received after the latest one. Due to this and in order to not send outdated information to the target address, our webhook service has special fields, or keys, set that are checked every time an order copy is received by the service.

The following fields are used for filtering:

  • _id

  • time.last_modified

An order copy is considered outdated if the following apply:

  • The _id field is equal to the already sent one and

  • The time.last_modified field is less than or equal to the one already sent.

Example Order Object

The code below shows an example of an Order Object published to the webhook URL:

{
  "entityName": "Order",
  "data": {
    "_id": "d9292ffc-362b-4b9d-84c9-b2c8bc6daa04",
    "business_date": "20XX-07-02T00:00:00.000Z",
    "company_id": "999999999999999999999999",
    "contributors": [
      {
        "time": "20XX-07-02T10:31:13.873Z",
        "employee": {
          "id": "999999999999999999999999",
          "name": "Employee 1",
          "title": "employee"
        },
        "terminal": {
          "_id": "99999999999999999999999",
          "terminal_number": "99",
          "title": "Terminal WD 2"
        }
      },
      {
        "employee": {
          "id": "99999999999999999999999",
          "name": "Employee 1",
          "title": "employee"
        },
        "time": "20XX-07-02T10:32:09.976Z",
        "terminal": {
          "_id": "99999999999999999999999",
          "terminal_number": "99",
          "title": "Terminal WD 2"
        }
      },
      {
        "employee": {
          "id": "99999999999999999999999",
          "name": "Employee 1",
          "title": "employee"
        },
        "time": "20XX-07-02T10:32:12.065Z",
        "terminal": {
          "_id": "602d00abd29acf7ac5c2a7a1",
          "terminal_number": "77",
          "title": "Terminal WD 2"
        }
      },
      {
        "employee": {
          "id": "5f7c4f168cd1c40001de0b31",
          "name": "Employee 1",
          "title": "employee"
        },
        "time": "20XX-07-02T10:32:24.119Z",
        "action": "Discount.Remove",
        "terminal": {
          "_id": "602d00abd29acf7ac5c2a7a1",
          "terminal_number": "77",
          "title": "Terminal WD 2"
        }
      },
      {
        "employee": {
          "id": "5f7c4f168cd1c40001de0b31",
          "name": "Employee 1",
          "title": "employee"
        },
        "time": "20XX-07-02T10:32:26.192Z",
        "terminal": {
          "_id": "602d00abd29acf7ac5c2a7a1",
          "terminal_number": "77",
          "title": "Terminal WD 2"
        }
      }
    ],
    "creator": {
      "time": "20XX-07-02T10:31:13.873Z",
      "employee": {
        "id": "5f7c4f168cd1c40001de0b31",
        "name": "Employee 1",
        "title": "employee"
      },
      "terminal": {
        "_id": "602d00abd29acf7ac5c2a7a1",
        "terminal_number": "77",
        "title": "Terminal WD 2"
      }
    },
    "customer": {
      "first_name": "Jake",
      "last_name": "Brave",
      "loyalty_info": {
        "balances": [
          {
            "balance": 18725,
            "name": "Windmill Points"
          }
        ],
        "cards": [
          {
            "card_number": "9999999999999999",
            "card_balance": "292.26"
          }
        ],
        "customer": {
          "first_name": "Jake",
          "last_name": "Brave",
          "loyalty_card_number": "9999999999999999",
          "address": {
            
          },
          "preferred_tips": [
            {
              "order_amount": 10,
              "calc_method": "fixed_amount",
              "value": 1.5
            },
            {
              "calc_method": "percent",
              "value": 15
            }
          ],
          "identification_method": "loyalty_card_number"
        },
        "offers": [
          {
            "apply_automatically": false,
            "expiration_date": "",
            "id": "2",
            "name": "Free Welcome Drink",
            "program_id": "2"
          }
        ],
        "preferred_tips": [
          {
            "order_amount": 10,
            "calc_method": "fixed_amount",
            "value": 1.5
          },
          {
            "calc_method": "percent",
            "value": 15
          }
        ],
        "submit_order": {
          "transaction_id": "164062446",
          "processed_at": "20XX-07-02T10:34:03.386Z"
        },
        "print_messages": [
          
        ]
      }
    },
    "day_part_info": {
      "day_part_type_id": "58f86f73be643b665ce91e78",
      "day_part_type_name": "Afternoon",
      "external_id": "5"
    },
    "destination": {
      "entity_id": "5d3088ba5e523f0028e527f6",
      "id": "WU-To Go",
      "background_color": "#000093",
      "consumption_type": "OffPremises",
      "default_taxable_destination": false,
      "_id": "609a8658bc3cc8002c80ca64",
      "external_id": "To-Go",
      "guest_count_calculation_method": "by_segment",
      "name": "WU-To Go",
      "optional_customer_info": [
        
      ],
      "required_customer_info": [
        
      ],
      "segment_name": "tray",
      "short_name": "WU",
      "text_color": "#fff",
      "time_based_customer_fields": [
        
      ],
      "is_explicitly_selected": true
    },
    "discount_info": {
      "discounts": [
        
      ],
      "total": 0,
      "total_unrounded": 0,
      "discount_map": [
        {
          "order_discount_id": "0a72ba5f-ea64-4e8c-8bfc-b14b9e6ed5e7",
          "discount_definition_id": "5eb28eecf207745b87ad2024",
          "order_item_ids": [
            "efdd4b1e-830e-4abb-b1f8-9d911e066a84"
          ],
          "discount_variable_value": 4.75,
          "item_group": 0,
          "loyalty_items": [
            {
              "id": "3009M",
              "quantity": "1"
            }
          ],
          "loyalty_offer_id": "2"
        }
      ]
    },
    "discount_total": 4.75,
    "drawer_id": "96728051-2c7a-43c3-8eb5-f409f0b6b679",
    "expo_number": "7744",
    "guest_count": 1,
    "hash_code": 
      "2fd1ab097e8dd5203f3e2f9a16a8614b8645d9c79d780d1ec968e93158326e48",
    "items": [
      {
        "entity_id": "5ee35f8da5ade362be9d4b3e",
        "item_type": "standard",
        "name": "Medium Iced Vanilla Matcha Latte",
        "alternate_kitchen_name": "",
        "revenue_class": [
          "default"
        ],
        "reporting_category": {
          "major_reporting_category": {
            "_id": "5f50e69fa59ef947e1a61e75",
            "name": "Drinks",
            "is_major": true,
            "minor_reporting_category_entity_ids": [
              "5d371765c8094b001ec7496c",
              "5d371765c8094b001ec7496f",
              "5d371765c8094b001ec74972",
              "5d371765c8094b001ec74975",
              "5d371765c8094b001ec74978",
              "5d371765c8094b001ec7497b",
              "5d371765c8094b001ec7497e",
              "5d371765c8094b001ec74981",
              "5d371765c8094b001ec74984",
              "5d3718e93a4438001e5a0b6e",
              "5d3728b67c3e86001eb6b954",
              "5d372a6e9c8732001e90ba82",
              "5d372b9f5bd16f001ecbca36",
              "5d38a0271ccb44001e0257cb",
              "5d38a089ad5031001eefb6de",
              "5d38a1d538baa9001edec5b2",
              "5d38a1d538baa9001edec5b5",
              "5d38a1d538baa9001edec5b8",
              "5d38a1d538baa9001edec5bb",
              "5d38a254a5aba8001f42717d",
              "5d51a6e6cb4a3a00284426e4",
              "5d8e5c01ced73000290e3ae3"
            ],
            "entity_id": "5d371765588ae7001e75df37"
          },
          "minor_reporting_category": {
            "_id": "5f50e69fa59ef947e1a61e85",
            "name": "Iced / Blended Chai",
            "is_major": false,
            "major_reporting_category_entity_id": "5d371765588ae7001e75df37",
            "entity_id": "5d372b9f5bd16f001ecbca36"
          }
        },
        "product_id": "3080M",
        "kitchen_routing_categories": [
          
        ],
        "tax_group": {
          "_id": "5f50e6a7a59ef947e1a7b838",
          "name": "Prepared",
          "tax_code": "2",
          "entity_id": "5a590a90fcacfe00019a8004"
        },
        "tax_inclusive": true,
        "price": 4.25,
        "unit_price": 4.25,
        "tags": [
          "5e3450e2efcfdd002906836e",
          "5e4d4797d9f9f300292d3de9",
          "5e970c0cade17d0027c1e530"
        ],
        "item_count_quantity": 1,
        "product_ingredients": [
          
        ],
        "quantity": 1,
        "fractional_quantity": {
          "numerator": 1,
          "denominator": 1
        },
        "segment_id": "4f632d6f-79a0-49f8-850c-fce58d9c800f",
        "order_item_id": "0ccfaa08-e594-490f-845f-de764dc2d5ab",
        "time": {
          "added": "20XX-07-02T10:31:42.654Z",
          "last_modified": "20XX-07-02T11:03:01.510Z",
          "kitchen_sent": "20XX-07-02T10:31:46.366Z"
        },
        "state": "pending",
        "payment_status": "paid",
        "hash_code": 
          "691773bec0ca0bc108b194dd7f8e25fe30c094fb80c6bcb6256fcb7af15bb0c8",
        "rollup_after_tax_amount": 0,
        "rollup_before_tax_amount": 0,
        "taxable_price": 4.25,
        "fulfillment_status": "fulfilled",
        "rollup_type": "do_not_roll_up",
        "child_items": [
          
        ],
        "tax_inclusive_price": 4.25
      },
      {
        "entity_id": "5c35f63e72381c0028a8fabc",
        "item_type": "standard",
        "name": "Medium Hot Kicker",
        "alternate_kitchen_name": "",
        "revenue_class": [
          "default"
        ],
        "reporting_category": {
          "major_reporting_category": {
            "_id": "5f50e69fa59ef947e1a61e75",
            "name": "Drinks",
            "is_major": true,
            "minor_reporting_category_entity_ids": [
              "5d371765c8094b001ec7496c",
              "5d371765c8094b001ec7496f",
              "5d371765c8094b001ec74972",
              "5d371765c8094b001ec74975",
              "5d371765c8094b001ec74978",
              "5d371765c8094b001ec7497b",
              "5d371765c8094b001ec7497e",
              "5d371765c8094b001ec74981",
              "5d371765c8094b001ec74984",
              "5d3718e93a4438001e5a0b6e",
              "5d3728b67c3e86001eb6b954",
              "5d372a6e9c8732001e90ba82",
              "5d372b9f5bd16f001ecbca36",
              "5d38a0271ccb44001e0257cb",
              "5d38a089ad5031001eefb6de",
              "5d38a1d538baa9001edec5b2",
              "5d38a1d538baa9001edec5b5",
              "5d38a1d538baa9001edec5b8",
              "5d38a1d538baa9001edec5bb",
              "5d38a254a5aba8001f42717d",
              "5d51a6e6cb4a3a00284426e4",
              "5d8e5c01ced73000290e3ae3"
            ],
            "entity_id": "5d371765588ae7001e75df37"
          },
          "minor_reporting_category": {
            "_id": "5f50e69fa59ef947e1a61e7e",
            "name": "Hot Classics",
            "is_major": false,
            "major_reporting_category_entity_id": "5d371765588ae7001e75df37",
            "entity_id": "5d371765c8094b001ec74984"
          }
        },
        "product_id": "1005M",
        "kitchen_routing_categories": [
          
        ],
        "tax_group": {
          "_id": "5f50e6a7a59ef947e1a7b839",
          "name": "Pre-packaged",
          "tax_code": "3",
          "entity_id": "5a590a9ffcacfe00019a8007"
        },
        "tax_inclusive": true,
        "price": 3.75,
        "unit_price": 3.75,
        "tags": [
          "5e4d4797d9f9f300292d3de9",
          "5e970c0cade17d0027c1e530"
        ],
        "item_count_quantity": 1,
        "quantity": 1,
        "fractional_quantity": {
          "numerator": 1,
          "denominator": 1
        },
        "segment_id": "4f632d6f-79a0-49f8-850c-fce58d9c800f",
        "order_item_id": "e783a5c8-131e-4495-b75b-111fed635b8f",
        "time": {
          "added": "20XX-07-02T10:31:46.386Z",
          "last_modified": "20XX-07-02T11:03:01.510Z",
          "kitchen_sent": "20XX-07-02T10:31:49.986Z"
        },
        "state": "pending",
        "payment_status": "paid",
        "hash_code": 
          "4fefe59ae870bab0d05a7b12ec86963e1fafc2bb11174b438c1e822e75d1cb73",
        "rollup_after_tax_amount": 0,
        "rollup_before_tax_amount": 0,
        "taxable_price": 3.75,
        "fulfillment_status": "fulfilled",
        "rollup_type": "do_not_roll_up",
        "child_items": [
          
        ],
        "tax_inclusive_price": 3.75
      },
      {
        "entity_id": "5c6b0d45970ab4002842cb49",
        "item_type": "standard",
        "name": "Medium Annihilator Freeze",
        "alternate_kitchen_name": "",
        "revenue_class": [
          "default"
        ],
        "reporting_category": {
          "major_reporting_category": {
            "_id": "5f50e69fa59ef947e1a61e75",
            "name": "Drinks",
            "is_major": true,
            "minor_reporting_category_entity_ids": [
              "5d371765c8094b001ec7496c",
              "5d371765c8094b001ec7496f",
              "5d371765c8094b001ec74972",
              "5d371765c8094b001ec74975",
              "5d371765c8094b001ec74978",
              "5d371765c8094b001ec7497b",
              "5d371765c8094b001ec7497e",
              "5d371765c8094b001ec74981",
              "5d371765c8094b001ec74984",
              "5d3718e93a4438001e5a0b6e",
              "5d3728b67c3e86001eb6b954",
              "5d372a6e9c8732001e90ba82",
              "5d372b9f5bd16f001ecbca36",
              "5d38a0271ccb44001e0257cb",
              "5d38a089ad5031001eefb6de",
              "5d38a1d538baa9001edec5b2",
              "5d38a1d538baa9001edec5b5",
              "5d38a1d538baa9001edec5b8",
              "5d38a1d538baa9001edec5bb",
              "5d38a254a5aba8001f42717d",
              "5d51a6e6cb4a3a00284426e4",
              "5d8e5c01ced73000290e3ae3"
            ],
            "entity_id": "5d371765588ae7001e75df37"
          },
          "minor_reporting_category": {
            "_id": "5f50e69fa59ef947e1a61e7d",
            "name": "Freeze",
            "is_major": false,
            "major_reporting_category_entity_id": "5d371765588ae7001e75df37",
            "entity_id": "5d371765c8094b001ec74981"
          }
        },
        "product_id": "3009M",
        "kitchen_routing_categories": [
          
        ],
        "tax_group": {
          "_id": "5f50e6a7a59ef947e1a7b838",
          "name": "Prepared",
          "tax_code": "2",
          "entity_id": "5a590a90fcacfe00019a8004"
        },
        "tax_inclusive": true,
        "price": 4.75,
        "unit_price": 4.75,
        "tags": [
          "5e4d4797d9f9f300292d3de9"
        ],
        "item_count_quantity": 1,
        "product_ingredients": [
          
        ],
        "quantity": 1,
        "fractional_quantity": {
          "numerator": 1,
          "denominator": 1
        },
        "segment_id": "4f632d6f-79a0-49f8-850c-fce58d9c800f",
        "order_item_id": "efdd4b1e-830e-4abb-b1f8-9d911e066a84",
        "time": {
          "added": "20XX-07-02T10:31:50.008Z",
          "last_modified": "20XX-07-02T11:03:01.510Z",
          "kitchen_sent": "20XX-07-02T10:32:13.663Z"
        },
        "state": "pending",
        "payment_status": "paid",
        "hash_code": 
          "a0a3ba9d08c4f15210530019350b41d673af6d8b842150b37d1f50b2511071b4",
        "rollup_after_tax_amount": 0,
        "rollup_before_tax_amount": 0,
        "taxable_price": 4.75,
        "fulfillment_status": "fulfilled",
        "rollup_type": "do_not_roll_up",
        "child_items": [
          
        ],
        "tax_inclusive_price": 4.75,
        "discount_info": {
          "discounts": [
            {
              "order_discount_id": "0a72ba5f-ea64-4e8c-8bfc-b14b9e6ed5e7",
              "discount_definition_id": "5eb28eecf207745b87ad2024",
              "discount_code": "defaultLoyaltyItemLevelDiscount",
              "name": "Free Welcome Drink",
              "apply_type": "manual",
              "apply_post_tax": false,
              "created_at": "20XX-07-02T10:32:26.182Z",
              "updated_at": "20XX-07-02T10:34:44.446Z",
              "added_by": "5f7c4f168cd1c40001de0b31",
              "use_loyalty": false,
              "discount_type": "discount",
              "discount_variable_value": 4.75,
              "loyalty_info": {
                "amount": 4.75,
                "apply_automatically": false,
                "program_id": "2",
                "quantity_redeemed": "1",
                "reward_id": "2000",
                "status": "voided",
                "transaction_id": "164062443",
                "redemption_code": "2000"
              },
              "quantity": 1,
              "amount": 4.75,
              "amount_unrounded": 4.75,
              "distributed": false
            }
          ],
          "total": 4.75,
          "total_unrounded": 4.75
        }
      },
      {
        "entity_id": "tip",
        "item_type": "fee",
        "name": "Tips",
        "revenue_class": [
          
        ],
        "reporting_category": null,
        "product_id": "tips",
        "kitchen_routing_categories": [
          
        ],
        "quantity": 1,
        "price": 1.5,
        "unit_price": 1.5,
        "fee_config": {
          "amount": 1.5,
          "apply_as": "fixed",
          "apply_pre_tax": false,
          "fee_type": "tip",
          "precision": 2
        },
        "order_item_id": "cb8feb45-29ca-4ee8-a78f-b522258055fe",
        "time": {
          "added": "20XX-07-02T10:32:19.329Z",
          "last_modified": "20XX-07-02T10:34:08.312Z",
          "kitchen_sent": "20XX-07-02T11:03:01.520Z"
        },
        "state": "pending",
        "payment_status": "paid",
        "child_items": [
          
        ],
        "hash_code": 
          "94c7c598657b5c3cabab6aae8a0381803ce9370c1f490c705eefb77185f529fc",
        "tax_inclusive_price": 1.5,
        "fractional_quantity": {
          "numerator": 1,
          "denominator": 1
        },
        "rollup_after_tax_amount": 0,
        "rollup_before_tax_amount": 0,
        "taxable_price": 1.5
      }
    ],
    "lifecycle": "closed",
    "notification_status": "committed",
    "order_number": "7700144",
    "order_source": "POS",
    "order_source_ext": {
      "name": "POS",
      "order_source_id": "100",
      "is_marketplace": false,
      "is_tax_liable": false
    },
    "order_status": {
      "status": "closed"
    },
    "order_type": "order",
    "origin": "777",
    "owner": {
      "id": "5f7c4f168cd1c40001de0b31",
      "name": "Employee 1",
      "title": "employee"
    },
    "payment_info": {
      "change": 0,
      "payments": [
        {
          "code": "CASH",
          "name": "Cash",
          "payment_id": "01",
          "pay_type_id": "01",
          "pay_type_name": "Cash",
          "open_cash_drawer": true,
          "amount": 2,
          "transaction_type": "SALE",
          "added_at": "1625221964397",
          "added_by": "5f7c4f168cd1c40001de0b31",
          "status": "PAID",
          "payment_source": "POS",
          "payment_source_ext": {
            "name": "POS",
            "order_source_id": "100"
          },
          "processed_at": "20XX-07-02T10:32:44.405Z",
          "tip_amount": 0,
          "id": "4652bd40-7b6e-4911-abaa-9277d0b47ca7",
          "hash_code": 
            "55d666023e26a223ce3f17c609b13a5f9bc4f8d61709c887a6fd8f2b7db3b390"
        },
        {
          "account": "xxxxxxxxxxxx9999",
          "aid_number": "A0000000099999",
          "amount": 1.5,
          "tip_amount": 0,
          "application_name": "Visa Credit",
          "auth": "32195A",
          "balance": null,
          "external_pay_type": "",
          "card_acquisition": "CONTACTLESS",
          "name_on_card": " /",
          "pay_type_id": "02",
          "pay_type_name": "Credit",
          "code": "CREDIT",
          "card_brand_name": "VISA",
          "trace_number": "2",
          "transaction_id": "2",
          "tc": "5EEC45CC18D95F6A",
          "emv": true,
          "e_signature": "0,65535^80,73^0,65535^103,57^0,65535^69,44^0,65535^130,23^~",
          "request_id": "775103250",
          "terminal_id": "99",
          "signature": true,
          "verification_method": "Signature",
          "transaction_type": "SALE",
          "agreement": "",
          "refund_policy": "",
          "status": "PAID",
          "processed_at": "20XX-07-02T03:45:04.000Z",
          "id": "c44e5cbb-b61d-43ae-9789-3875d6219175",
          "payment_device_id": "5a5902eefcacfe00019a7fe0",
          "host_reference_id": "118315935648",
          "added_at": "1625221993530",
          "added_by": "5f7c4f168cd1c40001de0b31",
          "payment_source": "POS",
          "payment_source_ext": {
            "name": "POS",
            "order_source_id": "100"
          },
          "hash_code": 
            "2ffb404665b452ca496dc006ba7749abc65e05a4b4154a42f2d58343273eadd9"
        },
        {
          "code": "CHECK",
          "name": "Check",
          "payment_id": "06",
          "pay_type_id": "06",
          "pay_type_name": "Check",
          "open_cash_drawer": false,
          "amount": 6,
          "account": "1111222233334444",
          "check_number": "10001",
          "routing_number": "555",
          "transaction_type": "SALE",
          "added_at": "1625222038324",
          "added_by": "5f7c4f168cd1c40001de0b31",
          "status": "PAID",
          "payment_source": "POS",
          "payment_source_ext": {
            "name": "POS",
            "order_source_id": "100"
          },
          "processed_at": "20XX-07-02T10:33:58.335Z",
          "tip_amount": 0,
          "id": "f5d34335-d3a3-446c-89fb-521204dabdc1",
          "hash_code": 
            "78ca508c92713040eb080160ad0cedf6e1a8383aa791e5b3b86dd3a475526e8d"
        }
      ],
      "tips": 0,
      "total": 9.5,
      "change_info": [
        
      ],
      "hash_code": 
        "1b6ab306cea0c8b460d71682bca62271250d0e2a7c0a6343b2dc06ca217cb366"
    },
    "payment_status": "paid",
    "print_info": [
      {
        "printed_by": "Employee 1",
        "user_id": "5f7c4f168cd1c40001de0b31",
        "time": "20XX-07-02T10:34:07.322Z",
        "print_type": "customer"
      }
    ],
    "refunds": [
      {
        "order_item_id": "0ccfaa08-e594-490f-845f-de764dc2d5ab",
        "quantity": 1,
        "refund_order_reference_id": "01529fd8-95ca-4878-b86a-06491ce3e5fa"
      },
      {
        "order_item_id": "e783a5c8-131e-4495-b75b-111fed635b8f",
        "quantity": 1,
        "refund_order_reference_id": "01529fd8-95ca-4878-b86a-06491ce3e5fa"
      },
      {
        "order_item_id": "efdd4b1e-830e-4abb-b1f8-9d911e066a84",
        "quantity": 1,
        "refund_order_reference_id": "01529fd8-95ca-4878-b86a-06491ce3e5fa"
      },
      {
        "order_item_id": "cb8feb45-29ca-4ee8-a78f-b522258055fe",
        "quantity": 1,
        "refund_order_reference_id": "01529fd8-95ca-4878-b86a-06491ce3e5fa"
      }
    ],
    "segments": [
      {
        "title": "tray",
        "num": 1,
        "id": "4f632d6f-79a0-49f8-850c-fce58d9c800f"
      }
    ],
    "sequential_order_number": "144",
    "site_info": {
      "address": "Address",
      "address2": "",
      "apps": [
        {
          "app_code": "XPOS",
          "preferred_version": {
            "version": "3.4.19",
            "uri": "https://s3.amazonaws.com/com.xenial.shell/pos-app/3.4.19/"
          }
        }
      ],
      "city": "City",
      "company": {
        "id": "5f50d9c2bda9ce0008019b0e",
        "name": "Company"
      },
      "email": "",
      "id": "5f7c32bcd2da17000796026d",
      "isOnlineOrderingAvailable": true,
      "name": "Test site",
      "phone": "3801111111",
      "state": "State",
      "store_number": "777",
      "timezone": "US/Central",
      "website": "",
      "zip": "99999"
    },
    "state": "closed",
    "subtotal": 12.75,
    "tax_info": {
      "taxes": [
        
      ],
      "total_marketplace_liable_unrounded": 0,
      "total_marketplace_liable": 0,
      "total_inclusive_unrounded": 0,
      "total_inclusive": 0,
      "total_exclusive_unrounded": 0,
      "total_exclusive": 0,
      "total_unrounded": 0,
      "total": 0
    },
    "time": {
      "created": "20XX-07-02T10:31:13.873Z",
      "last_modified": "20XX-07-02T11:03:01.522Z",
      "first_item_added": "20XX-07-02T10:31:42.647Z",
      "kitchen_sent": "20XX-07-02T11:03:01.520Z",
      "first_saved": "20XX-07-02T10:32:13.567Z",
      "notification_committed": "2021-07-02T10:34:01.124Z",
      "closed": "20XX-07-02T10:34:01.128Z"
    },
    "total": 9.5,
    "version": "76",
    "tax_inclusive_subtotal": 12.75,
    "fingerprint": "20XX-07-02T10:35:16.718Z",
    "fulfillment_status": "fulfilled"
  }
}

For more information, see Data Models General Structure - Orders.

Data Models

Data Models General Structure - Orders

The table below defines the objects and attributes that the Data Stream service sends as part of the Orders Object.

Field Name

Type

Description

_id

string/UUID

Length: 36

The universally unique identifier (UUID) for a given order document.

Example:

"_id": "17141e9f-27e0-4d09-82d7-0468f0b47e69"

additional_properties

object

The object which allows additional key-value pairs to be stored on an order. This is best used to store integrator-specific key value pairs for use with external systems.

This object is regularly present for online orders.

Example:

"additional_properties" : {
  "store_id" : "_ART_POS_TERMINAL GENERAL",
  "previously_committed" : true,
  "updated_since_commit" : false
}

business_date

string

Length: 24

The Date/Time value assigned to an order according to a site's business date structure.

Example:

"business_date": "20XX-07-14T00:00:00.000Z"

checkin_info

object

Populated only for orders created online or from a web application and includes details about the check-in process.

This object is populated only when a "Check In" has been performed.

Structure: check-in Object

comment

string

The comment for an order in a free form.

Example:

"comment" : "Order comment"

company_id

string

The unique identifier (UID) of the order's source company.

Example:

"company_id": "5f50d9c2bda9ce0008019b0e"

contributors

array

Additional employees or terminals involved in this order.

Structure: contributors Array

creator

object

Contains information about the order's creator employee and terminal.

Structure: contributors Array

customer

object

Contains detailed information about the target customer.

Structure: customer Object

day_part_info

object

Displays information about the Day Part associated with the order.

Structure: day_part_info Object

deleted_items

object

An array of items that have been removed from the order.

Structure: items Array

destination

object

Includes fields that describe where a given order is fulfilled at the counter or from the drive thru. These values are derived from values configured within Data Management.

Structure: destination Object

discount_info

object

Includes an array of discounts which have been applied to the order.

Structure: discount_info Object

discount_total

decimal

The sum of all discounts applied to items and the order.

Example:

"discount_total" : 5.98

drawer_id

string / UUID

Length: 36

Uniquely identifies the drawer session associated with this order.

Example:

"drawer_id" : "a3141d63-c3d3-430e-9a75-cf5e"

expo_number

string

An easily spoken representation of the order number. It is usually shown on customer receipts.

Example:

"expo_number" : "309"

external_order_id

string

The Online Ordering specific external order identifier. It is used when our point of sale (POS) and external system have different order identification approaches. In this case, this field contains an identifier of this order in the external system.

Example:

"external_order_id" : "5dda0a97001ed310b7"

fulfillment_date

string

The ISO timestamp of the order fulfillment date (kitchen-related field).

Example:

"fulfillment_date" : "20XX-04-06T13:06:38.0Z"

fulfillment_status

string

A fulfillment status of the order (kitchen related field).

The values include the following:

  • pending

  • submitted

  • preparing

  • ready

  • fulfilled

  • canceled

  • on hold

Example:

"fulfillment_status" : "pending"

guest_count

integer

Represents the calculated number of guests associated with an order and is derived from the configuration defined in Data Management. Usually, this calculation is derived from a product-level setting. For instance, a large pizza product may be associated with a guest count of 4, while a small coke would be associated with a guest count of 0 or 1.

Example:

"guest_count" : 1

hash_code

string

The order's hash code that represents the current order state. If there is a change in the order, the hash_code is regenerated.

Example:

"hash_code" : 
      "ab88a2e78a0cd4819c75769f24f9e537e9cc334e74"

items

array

Detailed information about the order's items.

Structure: items Array

kitchen_timing

array

An array of timestamps that indicate when items within this order have completed preparation in the kitchen. Kitchen timing values are used to calculate Speed-of-Service metrics.

Warning

This array is populated only for environments with our active Kitchen System.

Structure: kitchen_timing Array

lifecycle

string

The order's lifecycle. It is similar to state.

Example:

"lifecycle" : "closed"

notification_status

string

The order record status, used by Online Ordering and Mobile Orders.

The available values are as follows:

  • open

  • committed

  • committed-ack

  • checkedin

  • checkedin-ack

  • voided

  • voided-ack

  • bumped

Example:

"notification_status" : "committed"

order_number

string

Length: 25

Identifies the order relative to the business date. The structure of assigned order number values are configurable within Data Management.

Example:

"order_number" : "3000000009"

order_point

string

The name or other identifier of the specific device that created the order ("kiosk1," "kiosk2," "register1").

Example:

"order_point" : "kiosk 1"

order_source

string

The device from which the order originated. The value is set by the client ordering application and is specific to customer requirements.

Example:

"order_source" : "In-Store"

order_source_ext

object

The point from which the order originated.

Structure: order_source_ext Object

order_status

object

Includes the status field, which describes the latest state of this order.

Example:

"order_status" : {
	"status" : "pending"
}

Structure:

Field Name

Type

Description

status

string

The string that describes the overall status of the order

order_type

string

Length: 25

The available values are as follows:

  • Order

  • Refund

  • Waste

Example:

"order_type" : "order"

origin

string

Length: 25

Identifies where the order originated from a POS terminal, web, or another application.

Example:

"origin" : "mobile"

owner

object

Includes the main information about the order's current owner.

Structure: Same as the employee Object in the checkin_info Object

payment_info

object

Includes payment and change Information.

Structure: payment_info Object

payment_status

string

Length: 25

Describes the status of any applied payments.

The available values are as follows:

  • PAID

  • VOIDED

Example:

"payment_status" : "paid"

print_info

array

A list of employees and time the order's receipt was printed.

Structure: print_info Array

reason_code

object

The reason code for a declined order.

Structure: reason_code Object

reference_id

string

The identifier of the original order in a refunded or split order.

Example:

"reference_id" : "8fedef6c-af5d-4af5-19182835ae18"

refunds

array

A separate object is created for each refunded item with the reference to the refunded order.

Structure: refunds Array

segments

array

Describes how a given order might be split for the purpose of streamlining fulfillment. Segments are driven by configuration that resides within Data Management.

Structure: segments Array

sequential_order_number

string

The unformatted Order number. For example, 1004.

Example:

"sequential_order_number" : "12"

site_info

object

Contains values that describe a given business unit or location.

Structure: site_info Object

state

string

Length: 25

Describes the status of the order.

The available values are as follows:

  • bumped

  • pending

  • suspended

  • closed

  • saved

  • deleted

  • voided-post-payment

  • voided

  • committed

  • checkedin

  • overringed

  • open

  • parked

  • purged

  • save failed

Example:

"state" : "closed"

subtotal

decimal

The sum of the prices of all items in the order prior to exclusive tax amounts applied.

Note

Inclusive tax amounts are included within this total.

Example:

"subtotal" : 2.69

table_name

string

Usually represents the table number in a format set on Data Management.

Example:

"table_name" : "Green Bag 10"

tax_exempt_info

object

The tax exempt information.

Structure: tax_exempt_info Object

tax_inclusive_info

object

The tax inclusive information.

Structure: tax_inclusive_info Object

tax_inclusive_subtotal

decimal

The subtotal amount of the order's inclusive taxes.

Example:

"tax_inclusive_subtotal" : 1.79

tax_info

object

Includes fields that describe the taxes applied to the order.

Structure: tax_info Object

time

object

Contains timestamp values such as "created" and "closed" that describe when specific order events occurred.

Structure: time Object

total

decimal

The total of the order.

Example:

"total" : 2.05

version

string

The Orders Object version.

Example:

"version": "56"

net_sales

decimal

The Calculated Net Sales value for the order.

Note

This field is present in the payload only if the Data Stream subscription has enabled the Send Net/Gross Sales flag within the Orders target entity.

gross_sales

decimal

The Calculated Gross Sales value for the order.

Note

This field is present in the payload only if the Data Stream subscription has enabled the Send Net/Gross Sales flag within the Orders target entity.

checkin_info Object

Field Name

Type

Description

employee

object

Contains information about an employee that performed the order's check-in operation.

This object is present and not empty only when the check-in has been performed in our POS.

Structure: employee

origin

string

The system from which the order or notification originated

terminal

object

Contains information about the terminal on which the order's check-in operation was performed.

This object is present and not empty only when check-in has been performed in our POS.

Structure: terminal

time

string

The ISO timestamp of the check-in operation

Sample Orders Object for check_in Object

"checkin_info": {
  "employee": {
    "id": "60c9ed90687b3b0001daa452",
    "name": "First Last",
    "title": "employee"
  },
  "origin": "POS",
  "terminal": {
    "_id": "5e1626a6cbdbfa001fff6b21",
    "terminal_number": "2",
    "title": "Reg 2 (Cashier)"
  },
  "time": "20XX-06-16T12:27:02.583Z"
}

Sample Orders Object owner Object

"owner" : {
        "id" : "60a4ef4a0fc12100010e6296",
        "name" : "Cashier Second",
        "title" : "employee"
    }

employee

Field Name

Type

Description

_id

string

The unique identifier (UID) of the employee

name

string

The employee's first and last name

title

string

The employee's position

terminal

Field Name

Type

Description

_id

string

The unique identifier (UID) of the terminal

terminal_number

string

The terminal's numeric identifier

title

string

The terminal's name

contributors Array

Field Name

Type

Description

time

string

The ISO timestamp of the contribution

employee

object

Contains information about an employee that performed some action influencing the order data.

Structure: employee

terminal

object

Contains information about the terminal on which the order's check-in operation was performed.

Structure: terminal

action

string

The override permission name (For example, Order.Item.add)

Sample Orders Object contributors Array

"contributors": [
 {
   "time": "20XX-07-02T10:31:13.873Z",
   "employee": {
     "id": "5f7c4f168cd1c40001de0b31",
     "name": "Employee 1",
     "title": "employee"
    },
   "terminal": {
     "_id": "602d00abd29acf7ac5c2a7a1",
     "terminal_number": "77",
     "title": "Terminal WD 2"
    }
  }
]

Sample Orders Object creator Object

"creator": {
   "time": "20XX-07-02T10:31:13.873Z",
   "employee": {
     "id": "5f7c4f168cd1c40001de0b31",
     "name": "Employee 1",
     "title": "employee"
    },
   "terminal": {
     "_id": "602d00abd29acf7ac5c2a7a1",
     "terminal_number": "77",
     "title": "Terminal WD 2"
    }
  }

customer Object

Field Name

Type

Description

id

string

The unique identifier (UID) of the customer

pickup_date_time

string

The ISO timestamp of the order's pickup (used for online orders)

delivery_date_time

string

The ISO timestamp of the order's delivery (used for delivery)

loyalty_customer

boolean

Identifies that the customer participates in the loyalty program chosen by the company

table_tent

string

The tent number

social_role

string

The customer's social role

vehicle_color

string

Identifies the color of the customer's car

vehicle_type

string

Identifies the customer's car type

loyalty_info

object

Contains information about the customer's loyalty program data.

Structure: customer loyalty_info

Sample Order Object customer Object

"customer" : {
  "loyalty_info" : {
    "balances" : [ 
     {
      "balance" : 350,
      "name" : "Windmill Points"
     }
    ],
    "cards" : [ 
     {
      "card_number" : 
         "9999999999999999",
      "card_balance" : "100.00"
     }
     ],
    "customer" : {
      "loyalty_card_number" : 
         "9999999999999999",
      "address" : {},
      "preferred_tips" : [],
      "identification_method" : 
          "loyalty_card_number"
    },
    "offers" : [ 
     {
      "apply_automatically" : false,
      "expiration_date" : "",
      "id" : "13",
      "name" : "Free Medium Drink",
      "program_id" : "13"
     }, 
     {
      "apply_automatically" : false,
      "expiration_date" : "",
      "id" : "13",
      "name" : "Free Medium Drink",
      "program_id" : "13"
     }
    ],
    "submit_order" : {
      "transaction_id" : "164074045",
      "processed_at" : 
          "20XX-07-14T14:19:09.901Z"
     }
   }
 }

customer loyalty_info

Field Name

Type

Description

balances

array

Contains information about the existing customer's loyalty cards balances.

Structure:

Field Name

Type

Description

balance

decimal

The amount of bonuses that are left on the card balance

name

string

The name of the loyalty program's points type

cards

array

Contains information about the existing customer's loyalty cards.

Structure:

Field Name

Type

Description

card_number

string

The loyalty card number

card_balance

string

The loyalty card's balance

customer

object

Contains the detailed customer information.

Structure:

Field Name

Type

Description

identification_method

string

The Criteria used for customer identification.

The available values are as follows:

  • email

  • phone_number

  • code

  • loyalty card number

  • first name

  • last name

offers

array

The loyalty rewards passed for validation against the order.

Structure:

Field Name

Type

Description

apply_automatically

boolean

Identifies whether the reward is being applied automatically if the order meets preconditions.

id

string

The unique identifier (UID) of the offer

name

string

The name of the loyalty reward

program_id

string

The identifier of the loyalty program

expiration_date

string

The date when the offer expires

preferred_tips

object

The preferred tip rules set by a loyalty customer.

Structure:

Field Name

Type

Description

order_amount

decimal

The initial order amount to which the tips amount is applied

calc_method

string

The calculation method used to apply tips to the original order amount based on the customer's selection

value

decimal

The tips value (amount or percentage) applied to the order based on the customer's selection

submit_order

object

Displays information about the completed transaction, which is sent to the loyalty provider to accrue loyalty points on the customer's account.

Structure:

Field Name

Type

Description

processed_at

string

The ISO timestamp of the completed transaction

terminal_id

string

The UID of the terminal where the transaction was performed

saf_result

string

The string populated when a transaction is taken offline and is later synced to the cloud

transaction_id

string

The UID of the performed transaction

void_order

object

Displays a reward reverse operation's data when the reward application reapplies the rewards to the customer's loyalty account, if applicable.

day_part_info Object

Field Name

Type

Description

day_part_type_id

string

The unique identifier (UID) reference to the Data Management Day Part Type section record

day_part_type_name

string

The readable name of the day part

external_id

string

The identifier of the day part used by external systems. For example, numeric or letters.

Sample Orders Object day_part_info Object

"day_part_info": {
      "day_part_type_id": "58f863be64e91e78",
      "day_part_type_name": "Afternoon",
      "external_id": null
    }

destination Object

Field Name

Type

Description

entity_id

string

Length: 36

The unique identifier (UID) for the configured destination

id

string

The short, code-like identifier of the destination

background_color

string

The name of the color used for the background of the order destination header (a hexadecimal value of color)

consumption_type

string

The consumption type.

The available values are as follows:

  • OnPremises

  • OffPremises

default_taxable_destination

boolean

Shows whether the current destination is a default taxable destination

_id

string

The UID of the destination object in the Data Management Order Destination section

external_id

string

Length: 25

The external identifier. It is populated only for destinations with an external identifier configured

guest_count_calculation_method

string

Shows how the guest count is calculated for an order.

The available values are as follows:

  • by_segment - Increases the guest count by 1 with each new segment added to an order

  • by_product - Increases the guest count based on the Guest Count Value configured per each product added to the order

name

string

Length: 40

The full description of the destination

optional_customer_info

array

The optional customer fields for the order destination. For example, first name, last name.

required_customer_info

array

The required customer fields for the order destination

segment_name

string

Length: 40

Describes the segment for which this destination applies. It is populated for orders that have been segmented only.

short_name

string

Length: 25

The abbreviated description of the destination

text_color

string

The hexadecimal value of color of the text of the order destination header

time_based_customer_fields

object

The customer fields for the specific time periods

is_explicitly_selected

boolean

Identifies that the destination is chosen by default

Sample Orders Object destination Object

"destination": {
      "entity_id": "5d3088ba5e523f0028e527",
      "id": "WU-To Go",
      "background_color": "#000093",
      "consumption_type": "OffPremises",
      "default_taxable_destination": false,
      "_id": "609a8658bc3cc8002c80ca64",
      "external_id": "To-Go",
      "guest_count_calculation_method": 
            "by_segment",
      "name": "WU-To Go",
      "optional_customer_info": [
        
      ],
      "required_customer_info": [
        
      ],
      "segment_name": "tray",
      "short_name": "WU",
      "text_color": "#fff",
      "time_based_customer_fields": [
        
      ],
      "is_explicitly_selected": true
    }

discount_info Object

Field Name

Type

Description

discounts

array

The list of discounts applied to the item/order.

Structure: discounts

total_unrounded

decimal

The total discount amount applied to the item/order (5-digit decimal precision value) without rounding

total

decimal

The total discount amount rounded to the "n" number of the decimal digits based on the currency setting

discount_map

array

An array that contains the following cropped information about discounts:

  • order_discount_id

  • discount_definition_id

  • order_item_ids (in case it was an item-level discount)

  • discount_variable_value

  • item_group

  • loyalty_items

  • loyalty_offer_id

Sample Orders Object discount_info Object

"discount_info" : {
 "discounts" : [ 
    {
    "order_discount_id" : 
"8ecaa136-ea02-4666-b676-365b15b9a942",
    "discount_definition_id" : 
"5eb28eecf207745b87ad2024",
    "discount_code" : 
"defaultLoyaltyItemLevelDiscount",
    "name" : "Free Medium Drink",
    "apply_type" : "manual",
    "apply_post_tax" : false,
    "created_at" : "20XX-07-14T14:18:52.289Z",
    "updated_at" : "20XX-07-14T14:19:08.719Z",
    "added_by" : "60744bb961822d0001b627b9",
    "use_loyalty" : false,
    "discount_type" : "discount",
    "discount_variable_value" : 2.99,
    "loyalty_info" : {
        "amount" : 2.99,
        "apply_automatically" : false,
        "program_id" : "13",
        "quantity_redeemed" : "1",
        "reward_id" : "2002",
        "status" : "redeemed",
        "transaction_id" : "164074043",
        "redemption_code" : "2002"
    },
    "quantity" : 1,
    "amount" : 2.99,
    "amount_unrounded" : 2.99,
    "distributed" : false
    }
 ],
 "total" : 2.99,
 "total_unrounded" : 2.99
}

discounts

Field Name

Type

Description

amount

decimal

The amount of the discount applied rounded to the "n" number of decimal digits based on the currency setting

amount_unrounded

decimal

The amount of the discount applied (5-digit decimal precision value)

apply_post_tax

boolean

If true, the discount amount is calculated against the prices + tax of the applicable items instead of just the price.

If false (default), the discount amount is calculated against the prices of the applicable items before tax applied.

apply_type

string

Specifies whether the discount should apply automatically to orders when all the qualifications are met or should apply only when the user or integrator adds the discount to an order explicitly.

The available values are as follows:

  • manual

  • automatic

created_at

string

The ISO timestamp when a discount record was added to the order

discount_definition_id

string

The unique identifier (UID) reference to the record in the Data Management Discounts section

discount_code

string

The readable UID for the discount

discount_variable_value

decimal

Displays a value for the dollar amount or for the percentage discount for the variable discounts

distributed

boolean

Defines whether it is a fill discount amount or not.

For item-level discounts, if this field is "true," then the discount is an order-level discount that is distributed proportionally on all affected order items.

ignore

boolean

Shows whether the discount amount should be ignored in all calculations (order total and discounts recalculation)

loyalty_info

object

Describes the detailed information about the applied loyalty discount.

Structure: discounts loyalty_info

name

string

Length: 25

The descriptor for the applied discount

order_discount_id

string

Length: 40

The full description of the destination

quantity

integer

The quantity of the applied discount

updated_at

string

The ISO timestamp of the discount record data update

use_loyalty

boolean

A flag that is currently used only for Online Ordering integrators to indicate that the discount will need to be processed through the loyalty engine

added_by

string

The UID of the employee that added the discount to the order

discount_type

string

The classification of the discount for reporting and grouping in the point of sale (POS) user interface (UI).

The available values are as follows:

  • discount

  • coupon

  • promo

  • comp

  • loyalty

discounts loyalty_info

Field Name

Type

Description

amount

decimal

The applied reward amount

apply_automatically

boolean

Shows whether the reward was applied automatically

code

string

The numeric code of the loyalty program

program_id

string

The numeric unique identifier (UID) of the loyalty program

quantity_redeemed

string

The quantity of the reward redeemed

reward_id

string

The reward's UID

reward_type

string

The type of reward

saf_result

string

Used for offline transactions

terminal_id

string

The UID of the terminal where the transaction was performed

transaction_id

string

The UID of the transaction

status

string

The status of the loyalty reward

redemption_code

string

The code of the reward (discount)

items Array

Field Name

Type

Description

alternate_kitchen_name

string

The alternative product name displayed on the kitchen monitors

bundle_entity_id

string

The entity unique identifier (UID) of the bundle in Data Management configuration

child_items

array

Contains a collection of items that have a relationship to the item. For example, modifiers such as "Add Milk" are included in this object.

Structure: Structurally, this object is identical to the items Array.

comment

string

The employee's comment related to the item

discount_info

object

The object that includes any item-level discounts applied to the item.

Structure: discounts_info Object

deleted_items

array

A list of child items that were replaced or deleted from the item.

Structure: same structure as items Array

destination

object

Structure: destination Object

entity_id

string

Length: 36

The universally unique identifier (UUID) of the item

fee_config

object

Defines the configuration for a fee type order item.

Structure: fee_config

fractional_quantity

object

The fractional quantity of the item ordered.

Structure: fractional_quantity

fractional_quantity_before_sharing

object

The fractional quantity of the item ordered before sharing.

Structure: same as the fractional_quantity field

fulfillment_status

string

A fulfillment status of the item

guest_count

integer

The guest count associated with the item

gift_card_transaction_info

object

When the item_type is "Gift Card," additional information about the transaction is captured within this object.

hash_code

string

The item's unique hash code

is_bundle

boolean

Identifies whether an item is part of a bundle

item_type

string

Length: 25

The predefined string that classifies the Item and drives business logic at the point of sale (POS).

The available values are as follows:

  • standard - Used to describe most products for sale at the POS, including Combo Meals

  • gift_card - Describes the item associated with a Gift Card sale or Activation

  • gift_certificate - Describes a gift certificate item

  • modifier - A modification to a standard product build

  • placeholder - A temporary item meant to be replaced with a forced selection. Commonly used in Combo related ordering workflows.

  • comment - A flexibly used, free form string used to denote something about a product

  • refund - This item type is used only within "Open Refund" transactions

kitchen_routing_categories

array

A list of strings that indicates which kitchen printer an item should be sent to on "Send to kitchen."

An array of categories names.

kitchen_timing

object

A collection of timestamps indicating when the item was prepared in the kitchen. It is populated for environments with our Kitchen System only.

Structure: kitchen_timing Array

liability_type

string

The type of liability item - gift_card or gift_certificate

master

string

Contains the identifier of the base item (used for modifiers)

modifiers

array

Structure: Same structure as the items Array

name

string

Length: 40

The description of the item

order_item_id

string

Length: 36

The UID for the item included in the order

order_item_status

object

Structure: similar to that described in the order_status field

order_reference_id

string

The unique identifier of the order that was used for sharing (split)

payment_status

string

Length: 25

Indicates whether the item has been paid for

price

decimal

Indicates the effective price of the item

price_changes

array

A list of changes applied to the unit price of the item.

Structure: price_changes

print_emphasized

boolean

Defines whether to print the order item with emphasis on receipts

priority

integer

Used to define how order items are sorted on a kitchen ticket to ensure the kitchen staff prepares orders in the most expeditious manner

price_adjustment

decimal

The price remainder of the division after sharing

product_id

string

Length: 36

The external identifier for a given item or product

product_ingredients

array

A list of the items' ingredients.

Structure: product_ingredients

quantity

integer

Indicates how many of the item are included

reason_code

object

Describes the reasons for a particular action applied to an item, such as a Void.

Structure: reason_code Object

reference_id

string

The reference unique identifier of the item that was shared (link to the initially split order's item)

reporting_category

object

Describes the item's membership to a Minor and Major Reporting category.

Structure: reporting_category

revenue_class

array

A revenue stream to which the current item is grouped. It contains a list of revenue classes' names

rules

array

Defines the rules for bundle components.

Structure: rules

segment_id

string

Length: 36

The identifier of a provided segment (Order segments are separations in the order, such as seats or trays)

share_parts

array

A list of the item's sharing details.

Structure: share_parts

sort_order

integer

Provides the ability to manually sort the items in an order. It displays the item's position in the order

split

boolean

Indicates whether an item was split

state

string

Length: 25

The item's state.

The available values are as follows:

  • open

  • saved

  • deleted

  • voided

tags

array

A list of item tags identifiers or names the item belongs to

tax_group

object

The item's tax group.

Structure: tax_group

tax_inclusive

boolean

Indicates whether the item's price is tax inclusive

tax_inclusive_info

object

Structure: tax_inclusive_info Object

tax_inclusive_price

decimal

The item's price to be taxed

tax_info

object

Structure: tax_info Object

taxable_price

decimal

The item's price to be taxed

time

object

Structure: time Object

timestamp

decimal

The timestamp of the last item's change

unit_price

decimal

Describes the base price of the item

variation_info

object

Detailed information about the available / chosen product's variations, if configured.

Structure: variation_info

weight_info

object

Detailed information about the item after it was weighed on a scale. Exists for products that were determined to be weighed on a scale in the Data Management configuration.

Structure: weight_info

Sample Orders Object items Array

"items": [
{
  "entity_id" : "5dea91f0e12e1b485937d27b",
  "guest_count" : 0,
  "item_type" : "standard",
  "name" : "Lumberjack Slam",
  "alternate_kitchen_name" : "",
  "revenue_class" : [ 
    "default"
  ],
  "reporting_category" : {
    "major_reporting_category" : {
       "_id" : "60f14e7e398aad7a1a131719",
       "entity_id" : "5a58d71d5b351f0001243d61",
       "minor_reporting_category_entity_ids" : [ 
           "5a590bc533975a0001d11301", 
           "5de9414a7a1e32002784612f"
       ],
       "external_category_id" : "1",
       "is_major" : true,
       "name" : "Food"
   },
   "minor_reporting_category" : {
       "_id" : "60f14e7e398aad7a1a131725",
       "entity_id" : "5de9414a7a1e32002784612f",
       "major_reporting_category_entity_id" : 
           "5a58d71d0001243d61",
         "external_category_id" : "10240",
         "is_major" : false,
         "name" : "Breakfast"
   }
 },
 "product_id" : "110006",
 "kitchen_routing_categories" : [ 
   "Expo"
 ],
 "tax_group" : {
    "_id" : "60f14e7f398aad7a1a131dbd",
    "name" : "Standard",
    "tax_code" : "2",
    "entity_id" : "5a590a90fcacfe00019a8004"
 },
   "tax_inclusive" : false,
   "price" : 10.49,
   "unit_price" : 10.49,
   "tags" : [ 
        "602c114a294f5900342a164f"
   ],
   "item_count_quantity" : 1,
   "quantity" : 1,
   "fractional_quantity" : {
     "numerator" : 1,
     "denominator" : 1
   },
   "is_bundle" : true,
   "rules" : [ 
      {
       "component_type" : "group",
       "choice_label" : "",
       "entity_id" : "6059ec71ca2b2cce3",
         "default_products" : [ 
             {
              "default_quantity" : 1,               
              "product_entity_id" : 
               "626dc5210eddbe9bd"
             }
           ],
       "_id" : "60f14db7398aad7a1a0b5c06",
       "maximum_quantity" : 1,
       "tag_entity_ids" : [],
       "sort_order" : 1,
       "minimum_quantity" : 1,
       "default_quantity" : 1,
       "name" : "2 Pancakes",
       "allowed_order_source_ids" : [],
       "pricing_change_action" : "replace",
       "allowed_order_source_entity_ids" : [],
       "allowed_destination_entity_ids" : [ 
           "58f0cde66e034d000122481e", 
           "58f0ce606e034d0001224820", 
           "58f0ce896e034d0001224824"
        ],
       "menu_category_entity_id" : 
         "60ca183b17c1c93ee6d7e160",
       "product_choices_entity_ids" : [ 
           "5df7c673e4a792f3237150de", 
           "5df7c69de4a792f3237150e3", 
           "6023d224dd9f56401eae930c"
        ],
       "is_enabled" : true
   }, 
   {
     "component_type" : "group",
     "choice_label" : "",
     "entity_id" : "605a0829b33a59",
       "default_products" : [ 
        {
         "default_quantity" : 1,
         "product_entity_id" : 
          "5df7a479206d441f"
         }
        ],
      "_id" : "60f14db7398aad7a1a0b5c08",
      "maximum_quantity" : 1,
      "tag_entity_ids" : [ 
        "605a071fa266df0035dea346"
       ],
      "sort_order" : 2,
      "minimum_quantity" : 1,
      "default_quantity" : 1,
      "name" : "50/50",
      "allowed_order_source_ids" : [],
      "pricing_change_action" : "replace",
      "allowed_order_source_entity_ids" : [],
      "allowed_destination_entity_ids" : [ 
         "58f0cde66e034d000122481e", 
         "58f0ce606e034d0001224820", 
         "58f0ce896e034d0001224824"
       ],
      "product_choices_entity_ids" : [ 
          "5df7a4792060fee2146d441f", 
          "605a077eb33a59b2c576ac64", 
          "605a0c2cb33a59b2c576ad5b"
       ],
      "is_enabled" : true
    }
    ],
  "sort_order" : 0,
  "priority" : 1,
  "segment_id" : "635a7754-82e4-426f-de19ae2596d7",
  "order_item_id" : "d47e508c-9e2a-48c2-982c-ae3",
  "time" : {
     "added" : "20XX-07-16T18:05:56.425Z",
     "last_modified" : "20XX-07-16T18:35:50.576Z",
     "kitchen_sent" : "20XX-07-16T18:06:04.092Z"
  },
  "state" : "pending",
  "payment_status" : "paid",
  "hash_code" : 
    "6a5c534f299e9c8859a4f90cab6d5f0f08",
  "rollup_after_tax_amount" : 0,
  "rollup_before_tax_amount" : 0,
  "taxable_price" : 10.49,
  "rollup_type" : "do_not_roll_up",
  "rolled_up_price" : 10.49,
  "fulfillment_status" : "ready",
  "tax_inclusive_price" : 10.49,
  "child_items" : [
   {
    "entity_id" : "6059dab026dc5210eddbe9bd",
    "guest_count" : 0,
    "item_type" : "child",
    "name" : "2 Pancakes",
    "alternate_kitchen_name" : "",
    "revenue_class" : [ 
      "default"
     ],
    "reporting_category" : {
      "major_reporting_category" : {
         "_id" : "60f14e7e31a131719",
         "entity_id" : "5a58351f0001243d61",
         "minor_reporting_category_entity_ids" : [ 
            "5a590bc5a0001d11301", 
            "603ff12df003441bfed"
          ],
         "external_category_id" : "1",
         "is_major" : true,
         "name" : "Food"
         },
       "minor_reporting_category" : {
         "_id" : "60f14e7e398aad7a1a13172b",
         "entity_id" : "603ff123fd3441bfed",
         "major_reporting_category_entity_id" : 
            "5a58d71d5b351f0001243d61",
         "external_category_id" : "10250",
         "is_major" : false,
         "name" : "Breakfast Sides"
        }
       },
      "product_id" : "110080",
      "kitchen_routing_categories" : [ 
        "Expo", 
        "Egg", 
        "Grill"
       ],
      "tax_group" : {
         "_id" : "60f14e7f398aad7a1a131dbd",
         "name" : "Standard",
         "tax_code" : "2",
         "entity_id" : "5a590a90f00019a8004"
      },
      "price" : 0,
      "unit_price" : 0,
      "tags" : [ 
         "6059db2489baf3824c", 
         "60ca13e42ac504"
        ],
       "quantity" : 1,
       "sort_order" : 1,
       "bundle_entity_id" : "6059ec7f62d5b2cce3",
          "change_action" : "replace",
          "item_count_quantity" : 1,
          "product_ingredients" : [],
          "order_item_id" : 
            "ca1844-95f5-488-b2ec-23gds",
          "time" : {
            "added" : "20XX-07-16T18:05:56.425Z",
            "last_modified" : "20XX-07-16T18:35:48.56Z",
            "kitchen_sent" : "20XX-07-16T18:06:04.09Z"
          },
          "state" : "pending",
          "payment_status" : "open",
          "hash_code" : 
             "a75a4cde6144eeed306b3de1dd9c225b5",
          "rollup_after_tax_amount" : 0,
          "rollup_before_tax_amount" : 0,
          "taxable_price" : 0,
          "fractional_quantity" : {
             "numerator" : 1,
             "denominator" : 1
          },
          "tax_inclusive_price" : 0,
          "child_items" : []
        }, 
        {
          "entity_id" : "5df7a4792060fee2146d441f",
          "guest_count" : 0,
          "item_type" : "child",
          "name" : "50/50",
          "alternate_kitchen_name" : "2 Bac/2 Saus",
          "revenue_class" : [ 
             "default"
          ],
          "reporting_category" : {
            "major_reporting_category" : {
               "_id" : "60f14e7e398aad7a1a131719",
               "entity_id" : "5a58d71d5b351f0001243d61",
               "minor_reporting_category_entity_ids" : [ 
                 "5a590bc533975a0001d11301",
                 "603ff123fdc9df003441bfed"
               ],
               "external_category_id" : "1",
               "is_major" : true,
               "name" : "Food"
           },
           "minor_reporting_category" : {
               "_id" : "60f14e7e398aad7a1a13172b",
               "entity_id" : "603ff123fdc9df003441bfed",
               "major_reporting_category_entity_id" : 
                  "5a58d71d5b351f0001243d61",
               "external_category_id" : "10250",
               "is_major" : false,
               "name" : "Breakfast Sides"
           }
         },
       "product_id" : "110066",
       "kitchen_routing_categories" : [ 
         "Grill"
       ],
       "tax_group" : {
         "_id" : "60f14e7f398aad7a1a131dbd",
         "name" : "Standard",
         "tax_code" : "2",
         "entity_id" : "5a590a90fcacfe00019a8004"
       },
       "price" : 0,
         "unit_price" : 0,
         "tags" : [ 
           "5df7a49957a33b001e925fb7", 
           "605a071fa266df0035dea346"
          ],
       "quantity" : 1,
       "sort_order" : 2,
       "bundle_entity_id" : "605a0829b33a59b2c576ac7f",
       "change_action" : "replace",
       "item_count_quantity" : 1,
       "product_ingredients" : [ 
         {
          "quantity" : 2,
          "product_ingredient_entity_id" : 
           "601ace5e1e06e1"
         }, 
         {
          "quantity" : 2,
          "product_ingredient_entity_id" : 
           "6024230b0e"
         }
        ],
       "order_item_id" : 
        "5e2d7f4f-96d1-4265-9cd4-2da7",
       "time" : {
          "added" : "2021-07-16T18:05:56.425Z",
          "last_modified" : "20XX-07-16T18:35:48.586Z",
          "kitchen_sent" : "20XX-07-16T18:06:04.092Z"
        },
        "state" : "pending",
        "payment_status" : "open",
        "hash_code" : "667e19710e8e3cf18049557c",
        "rollup_after_tax_amount" : 0,
        "rollup_before_tax_amount" : 0,
        "taxable_price" : 0,
        "fractional_quantity" : {
          "numerator" : 1,
          "denominator" : 1
         },
        "tax_inclusive_price" : 0,
        "child_items" : []
       }
    ],
    "tax_info" : {
      "taxes" : [ 
        {
         "tax_definition_id" : 
            "1c8ac2a09a150b101",
          "name" : "SC Sales Tax",
          "tax_inclusive" : false,
          "amount_unrounded" : 0.9441,
          "amount" : 0.94,
          "marketplace_liable" : false,
          "tax_class" : "sales_tax"
        }
    ],
     "total_marketplace_liable_unrounded" : 0,
     "total_marketplace_liable" : 0,
     "total_inclusive_unrounded" : 0,
     "total_inclusive" : 0,
     "total_exclusive_unrounded" : 0.9441,
     "total_exclusive" : 0.94,
     "total_unrounded" : 0.9441,
     "total" : 0.94
 },
 "kitchen_timing" : [ 
    {
     "screen" : "Assembly 1",
     "type" : "arrival",
     "time" : "20XX-07-16T18:06:06.435Z",
     "screen_entity_id" : "5e5ebfef8ffc4ee44"
    }, 
    {
     "screen" : "Assembly 1",
     "type" : "bump",
     "time" : "20XX-07-16T18:07:31.652Z",
     "screen_entity_id" : "5e5ebfeffc4ee44",
     "trigger" : "manual"
     }, 
     {
      "screen" : "Expo 1",
       "type" : "arrival",
       "time" : "20XX-07-16T18:06:04.267Z",
       "screen_entity_id" : "5fe1ec214a47165 "
     }, 
     {
      "screen" : "Expo 1",
      "type" : "bump",
      "time" : "20XX-07-16T18:07:41.397Z",
      "screen_entity_id" : "5fe1ec214a47165",
      "trigger" : "manual"
     }, 
     {
      "screen" : "Drinks Station",
      "type" : "arrival",
      "time" : "20XX-07-16T18:06:04.221Z",
      "screen_entity_id" : "601400828d57db33 "
     }, 
     {
      "screen" : "Drinks Station",
      "type" : "bump",
      "time" : "20XX-07-16T18:12:32.826Z",
      "screen_entity_id" : "601400828d57db33",
      "trigger" : "manual"
     }
   ]
  } 
]

fee_config

Field Name

Type

Description

amount

decimal

The fee amount. For percentage fees, this is the percentage to use when calculating the fee, written as a decimal number (such as 0.20 for 20%).

apply_as

string

How the fee is applied including percentage and fixed amount. Defines how the amount value should be applied to the order.

apply_pre_tax

boolean

When set to true, the fee is calculated on the subtotal, less discounts, before the taxes are added.

When false, the fee is calculated on the full total (subtotal + taxes - discounts).

fee_type

string

Specifies what type of fee the object represents. For example, gratuity, gratuity_automatic, service, tip, or donation.

precision

integer

Specifies the decimal precision for the fee calculation. The default value is 2 decimal places of precision.

fractional_quantity

Field Name

Type

Description

numerator

integer

The numerator of the fractional quantity

denominator

integer

The denominator of the fractional quantity

price_changes

Field Name

Type

Description

change_time

string

The ISO8601 timestamp when the price change action was performed

previous_price

decimal

The item's unit price before the change

reason_code

object

The reason for a price change.

Structure: reason_code Object

product_ingredients

Field Name

Type

Description

quantity

integer

The total quantity of the ingredient within the item

product_ingredient_ entity_id

string

The product ingredient's unique identifier (UID) in Data Management configuration

reporting_category

Field Name

Type

Description

major_reporting_category

object

The object that describes major reporting category data.

minor_reporting_category

object

Describes the minor reporting category data, if present. Has the same structure as major_reporting_category object, except instead of minor_reporting_category_entity_ids array, the string major_reporting_category_entity_id field is present.

major_reporting_category

Field Name

Type

Description

_id

string

The unique identifier (UID) of the reporting category's company in Data Management configuration

entity_id

string

The UID of the reporting category entity in Data Management configuration

minor_reporting_category_entity_ids

array

The list of UIDs of child minor reporting categories entities in Data Management configuration

external_category_id

string

The identifier used for external systems integration

is_major

boolean

Identifies that this reporting category is a major one

name

string

The description of the reporting category

rules

Field Name

Type

Description

component_type

string

The type of bundle component: group or item

choice_label

string

An optional label for the on-screen product choices

entity_id

string

The rule's entity unique identifier in Data Management configuration

default_products

array

The products to be used as defaults.

Structure: default_products

_id

string

The rule's unique identifier in Data Management configuration

maximum_quantity

integer

The maximum quantity of the component. The default is 0.

tag_entity_ids

array

The list of tags' entities applied to the component

sort_order

integer

The order this component appears on the Order tab

minimum_quantity

integer

The minimum quantity of the component. The default is 0.

default_quantity

integer

The default quantity of the products

name

string

The name of the bundle component

allowed_order_source_ids

array

An array of allowed Order Source unique identifiers

pricing_change_action

string

The type of price change to apply.

The available values are as follows:

  • off

  • replace

  • adjust

allowed_order_source_entity_ids

array

An array of allowed Order Source entity identifiers

allowed_destination_entity_ids

array

A list of destination entities unique identifiers where this component is valid

menu_category_entity_id

string

The Menu Category entity identifier to which the component belongs

product_choices_entity_ids

array

The available choices for the component

is_enabled

boolean

Whether or not the component is enabled

default_products

Field Name

Type

Description

default_quantity

integer

The default quantity of the component

product_entity_id

string / object

The object identifier of one of the member products to use as a default

share_parts

Field Name

Type

Description

numerator

integer

The numerator of the sharing part

denominator

integer

The denominator of the sharing part

segment_id

string

The target segment that participates in the sharing

unit_price

decimal

The part that is shared

tax_group

Field Name

Type

Description

entity_id

string

The entity unique identifier of the tax group

tax_code

string

The tax code or tax group identifier

name

string

The tax group name/description

variation_info

Field Name

Type

Description

parent_entity_id

string

The unique identifier (UID) of the root product from Data Management configuration

variant_entity_id

string

The UID of the variant from Data Management configuration

weight_info

Field Name

Type

Description

weight

decimal

The actual item weight after weighing

measure

string

The scale in which the product is weighed

kitchen_timing Array

Field Name

Type

Description

type

string

Length: 25

The string that classifies the type of kitchen action applied.

The available values are as follows:

  • arrival

  • bump

screen

string

Length: 25

The string that identifies the kitchen screen

time

string

The date and time of the action performed on the kitchen screen

screen_entity_id

string

Length: 36

References the configured kitchen screen from Data Management

trigger

string

The value describes bump type: "auto" or "manual." The value exists only for "bump" type.

Sample Orders Object kitchen_timing Array

"kitchen_timing": [
   {
     "screen": "expo",
     "type": "claimed",
     "time": "20XX-09-10T17:57:40.522Z",
     "screen_entity_id": "5d4476ae33e132001ea99707",
     "trigger": "manual"
   },
   {
     "screen": "expo",
     "type": "ready",
     "time": "20XX-09-10T17:57:42.323Z",
     "screen_entity_id": "5d4476ae33e132001ea99707",
     "trigger": "manual"
   },
   {
     "screen": "expo",
     "type": "arrival",
     "time": "20XX-09-10T17:57:26.338Z",
     "trigger": "manual"
   }
]

order_source_ext Object

Field Name

Type

Description

name

string

The given name of the order source

is_tax_liable

boolean

Specifies if the marketplace merchant is liable for taxes

is_marketplace

boolean

Specifies if the merchant is a marketplace merchant

order_source_id

string

The unique identifier (UID) for a particular order source

Sample Orders Object order_source_ext Object

"order_source_ext" : {
        "name" : "In-Store",
        "order_source_id" : "InStore",
        "is_marketplace" : false,
        "is_tax_liable" : false
    }

payment_info Object

Field Name

Type

Description

change

decimal

The total amount of change given to the customer after payment

payments

array

A list of payments applied for the order.

Structure: payments

tips

decimal

The total amount of tips applied from all payments in the payments Array

total

decimal

The total payment amount rounded to "n" decimal digits based on the currency setting

change_info

array

The detailed information about the change.

Structure: change_info

hash_code

string

The hashed string value generated to uniquely identify a payment

Sample Orders Object payment_info Object

"payment_info: {
    "change" : 0,
    "payments" : [ 
        {
            "account" : "999999******0119",
            "aid_number" : "A0000000099999",
            "amount" : 2.17,
            "tip_amount" : 0.39,
            "application_name" : "Visa Credit",
            "auth" : "054777",
            "balance" : null,
            "external_pay_type" : "",
            "card_acquisition" : "Contactless",
            "name_on_card" : "",
            "pay_type_id" : "200",
            "pay_type_name" : "Credit Card",
            "code" : "CREDIT",
            "card_brand_name" : "VISA",
            "trace_number" : "9999",
            "transaction_id" : "9999",
            "tc" : "4E7AC6BF35EBE17F",
            "emv" : true,
            "e_signature" : "Qk1OCAAAAAAAAD4AAAAoA",
            "request_id" : "25113724",
            "terminal_id" : "2",
            "signature" : true,
            "verification_method" : "SIGNATURE",
            "transaction_type" : "SALE",
            "agreement" : "",
            "refund_policy" : "",
            "status" : "PAID",
            "processed_at" : "20XX-06-11T11:37:55.053Z",
            "id" : "6afd29d4-57e0-40e9-a5505c3bdf15",
            "payment_device_id" : "60c34057f1157f0",
            "host_reference_id" : "4007989475",
            "added_at" : "1623411475070",
            "added_by" : "60a4ef4a0fc12100010e6296",
            "payment_source" : "In-Store",
            "payment_source_ext" : {
                "name" : "In-Store",
                "order_source_id" : "InStore"
            },
            "hash_code" : 
              "fecac4836b4619e10fe1584277ca73d4328"
        }
    ],
    "tips" : 0.39,
    "total" : 2.17,
    "change_info" : [],
    "hash_code" : 
      "59d492168ff9f9b8c9b8bb66d5716a8909ad0939516"
}

payments

Field Name

Type

Description

account

string

The account identifier

added_at

string

The ISO8601 timestamp of the moment the payment was added

added_by

string

The identifier of the employee, who added the payment

agreement

string

The Portico requirement added for certification

aid_number

string

The authorization identifier for Europay, Mastercard, and Visa (EMV) transactions. This is the AID field on the receipt.

amount

decimal

The amount of an applied payment

application_name

string

The name of the card processing application (such as Mastercard Credit or AMEX). For EMV transactions, this is the APL field on the receipt.

application_response

string

The EMV Authorization Response Code (ARC) field, which defines the disposition of a message

application_response_code

string

The EMV ARC field, which defines the disposition of a message

arqc

string

The Authorization Request Cryptogram (ARQC) field.

The application cryptogram must supply either the ARQC or Transaction Certificate (TC).

auth

string

The authorization identifier returned from the payment processor.

Present for credit and debit payments only.

balance

decimal

The card balance.

Present for credit and debit payments only.

card_acquisition

string

The type of acquisition (MANUAL, SWIPE, CONTACTLESS, SCANNER, CHIP, CHIP_FALL_BACK_SWIPE).

For EMV transactions, this is the CEM field on the receipt.

Present for credit and debit payments only.

card_brand_name

string

Describes the card brand associated with a given payment, such as "MASTERCARD" or "VISA."

Present for credit and debit payments only.

check_number

string

The payment check number

code

string

The payment type code, which is a configurable string value used to identify an applied payment

e_signature

string

The Suppress Signature line, which is an encrypted image string.

Present only when Signature Capture is an enabled feature on the payment device.

emv

boolean

The flag used to identify an EMV transaction.

Present for credit payments only.

external_pay_type

string

The customized gift card name

host_reference_id

string

The reference field for a given payment host

id

string

The unique payment identifier

is_removed

boolean

issuer_application_data

string

The EMV AID field

name

string

The description of the applied payment type

name_on_card

string

The customer name on the card

offline_id

string

An identifier relating to a Store and Forward (SAF) action. It is used to query a payment device to update the status of a transaction after a SAF action.

open_cash_drawer

boolean

The flag used to indicate whether to open a cash drawer or not

pay_type_id

string

The unique identifier of the applied payment type

pay_type_name

string

The name of the applied payment type

payment_device_id

string

The payment device identifier

payment_id

string

An additional reference for the applied payment

payment_source

string

The string that describes the source of a given payment, either online or from the POS

payment_source_ext

object

See the description in the: order_source_ext Object

point_balance

decimal

The number of points left in a customer's house account. For example, 30 points left for rewards.

processed_at

string

The transaction processing time in Coordinated Universal Time (UTC) ISO8601 format

reference_id

string

The alternate Identifier for the payment request to the processor. It is used for refund payments usually.

This field contains a link to the initial payment record currently being voided (refunded).

refund_policy

string

Added specially for the Portico payment API

removed_at

string

The ISO8601 timestamp of the moment the payment was voided

removed_by

string

The identifier for the employee who voided the payment

request_id

string

The identifier for the payment request to the processor

routing_number

string

The payment check routing number

saf_result

string

The string populated when a payment is taken offline and is later synced to the cloud. It describes the SAF result.

Present for credit and debit payments only.

signature

boolean

Any value in this field triggers a print signature line (See e_signature)

status

string

The payment status

tc

string

The TC field

terminal_id

string

The terminal identifier

terminal_verification_results

string

The EMV Terminal Verification Results (TVR) field

tip_amount

decimal

The sum of tips

trace_number

string

The transaction identifier in the batch

transaction_id

string

The transaction identifier

transaction_status_indicator

string

The EMV Transaction Status Indicator (TSI) field

transaction_type

string

The available transactions types. For example, SALE and REFUND.

verification_method

string

Printed AS SUPPLIED. For EMV transactions, this is the Cardholder Verification Method (CVM) field.

change_info

Field Name

Type

Description

_id

string

The unique identifier (UID) of the related payment for which change was given to a customer

amount

decimal

The amount of change

code

string

The payment type code, which is a configurable string value used to identify an applied payment

pay_type_id

string

The UID of the applied payment type

pay_type_name

string

The name of the applied payment type

processed_at

string

The ISO8601 timestamp when the payment was applied

status

string

The payment status

print_info Array

Field Name

Type

Description

printed_by

string

The name of the employee that performed printing

user_id

string

The unique identifier of the employee that performed printing

time

string

The ISO8601 timestamp when a printing was performed

print_type

string

The print type

Sample Orders Object print_info Array

"print_info" : [ 
        {
            "printed_by" : "Cashier Second",
            "user_id" : "60a4ef4a0fc10e6296",
            "time" : "20XX-06-11T11:37:23.168Z",
            "print_type" : "kitchen"
        }, 
        {
            "printed_by" : "Cashier Second",
            "user_id" : "60a4ef4a0fc10e6296",
            "time" : "20XX-06-11T11:37:55.570Z",
            "print_type" : "customer"
        }, 
        {
            "printed_by" : "Cashier Second",
            "user_id" : "60a4ef4a0fc10e6296",
            "time" : "20XX-06-11T11:37:58.020Z",
            "print_type" : "customer"
        }, 
        {
            "printed_by" : "Cashier Second",
            "user_id" : "60a4ef4a0fc10e6296",
            "time" : "20XX-06-11T11:37:58.049Z",
            "print_type" : null
        }
    ]

reason_code Object

Field Name

Type

Description

_id

string

The unique identifier of a chosen reason code

action

string

The available actions are as follows:

  • void_order

  • void_item

  • void_order_post_payment

  • paid_out

  • paid_in

  • order_refund

  • tax_exempt

  • change_item_price

  • create_wste_order

name

string

The description of the reason

employee

object

The detailed information about the employee that performed this action.

Structure: See employee section of checkin_info Object

entity_id

string

The entity unique identifier of a chosen reason code

prompt_reason

boolean

Displays the prompt reason pop-up

time

object

The detailed information about the order void timestamp.

Structure: time Object

Sample Orders Object reason_code Object

"reason_code" : {
        "_id" : "60a298b352d238b04de938c6",
        "entity_id" : "58f9fbe509254ea78acea",
        "name" : "Customer Satisfaction",
        "prompt_reason" : true,
        "action" : "order_refund"
    }

refunds Array

Field Name

Type

Description

order_item_id

string

The refunded order item identifier

quantity

integer

The refunded item quantity

refund_order_reference_id

string

The refunded order identifier (reference to the refunded order)

Sample Orders Object refunds Array

"refunds" : [ 
 {
  "order_item_id" : 
     "37f6854e-c924-2a8471ba38d6",
  "quantity" : 1,
  "refund_order_reference_id" : 
     "b7c6d6ea-c096-d21e04e674cf"
  }
]

segments Array

Field Name

Type

Description

title

string

The name of the segment (Tray1, Tray2 or Seat1, Seat2)

num

integer

The number of the corresponding segment in the order item that determines which segment the item belongs to

id

string

The unique identifier of the segment

Sample Orders Object segments Array

"segments" : [ 
        {
            "title" : "seat",
            "num" : 1,
            "id" : "58dbe3ae-0968f9ac7fc4"
        }
    ]

site_info Object

Field Name

Type

Description

city

string

The store location city

id

string

The unique identifier (UID) for the site

name

string

The title of the store, as configured by the users

store_number

string

A configurable reference field (string) that identifies a given site or store

timezone

string

The store's location time zone

Sample Orders Object site_info Object

"site_info" : {
        "city" : "City",
        "id" : "60b0b81b0d2b510007c9606f",
        "name" : "AV Punchh Copy",
        "store_number" : "999",
        "timezone" : "US/Central"
    }

tax_exempt_info Object

Field Name

Type

Description

id

string

The tax exempt identifier

reason_code

object

Could be a unique identifier of a chosen reason for tax exempt or the reason_code Object

taxes

array

A list of taxes that were exempted (names)

total

decimal

The total exempted amount

Sample Orders Object tax_exempt_info Object

/Example 1
"tax_exempt_info" : {
        "id" : "12",
        "reason_code" : "5ca70028fe25a1",
        "taxes" : [ 
            "KY 6%", 
            "KY 3%"
        ],
        "total" : 0.45
    }

//Example 2
"tax_exempt_info" : {
        "id" : "1",
        "reason_code" : {
            "_id" : "5ee35b7eeb15",
            "entity_id" : "5ca70028fe25a1",
            "name" : "School Group",
            "prompt_reason" : false,
            "action" : "tax_exempt"
        },
        "taxes" : [ 
            "KY 6%", 
            "KY 3%"
        ],
        "total" : 0.66
    }

tax_inclusive_info Object

Field Name

Type

Description

taxes

array

A list of inclusive taxes (names)

total

decimal

The total inclusive taxes amount

total_unrounded

decimal

The total inclusive taxes amount without rounding

Sample Orders Object tax_inclusive_info Object

"tax_inclusive_info": {
      "taxes": [
        {
        }
      ],
      "total": 1.59,
      "total_unrounded": 1.59008
    }

tax_info Object

Field Name

Type

Description

taxes

array

The detailed information about taxes applied to the order.

Structure: taxes

total_marketplace_liable_unrounded

decimal

The total amount of Marketplace Facilitator taxes, unrounded

total_marketplace_liable

decimal

The total amount of Marketplace Facilitator taxes

total_inclusive_unrounded

decimal

The amount of tax applied to the order or item inclusive of the item price or order total, unrounded

total_inclusive

decimal

The amount of tax applied to the order or item inclusive of the item price or order total, rounded to two decimals

total_exclusive_unrounded

decimal

The amount of tax applied to the order or item exclusive of the item price or order total, unrounded

total_exclusive

decimal

The amount of tax applied to the order or item exclusive of the item price or order total

total_unrounded

decimal

The total amount of tax, unrounded

total

decimal

The total amount of tax

Sample Orders Object tax_info Object

"tax_info" : {
 "taxes" : [ 
   {
    "tax_definition_id" : 
      "1c8ac24c1fde4a09a150b101",
    "name" : "Sales Tax",
    "tax_inclusive" : false,
    "amount_unrounded" : 0.14768,
    "amount" : 0.15,
    "marketplace_liable" : false
    }, 
    {
     "tax_definition_id" : 
       "5bd1dd5eafe802001374d864",
      "name" : "KY State Tax",
      "tax_inclusive" : false,
      "amount_unrounded" : 0.1074,
      "amount" : 0.11,
      "marketplace_liable" : false
     }
    ],
  "total_marketplace_liable_unrounded" : 0,
  "total_marketplace_liable" : 0,
  "total_inclusive_unrounded" : 0,
  "total_inclusive" : 0,
  "total_exclusive_unrounded" : 0.25508,
  "total_exclusive" : 0.26,
  "total_unrounded" : 0.25508,
  "total" : 0.26
 }

taxes

Field Name

Type

Description

tax_definition_id

string

The tax unique identifier (UID) in Data Management configuration

name

string

The tax short name

tax_inclusive

boolean

Indicates whether the tax amount represented in an inclusive or exclusive way

amount_unrounded

decimal

The tax amount unrounded

amount

decimal

The tax amount

marketplace_liable

boolean

Indicates whether the operator is actually liable for these taxes

time Object

Field Name

Type

Description

created

string

The ISO8601 timestamp when this order was created

voided

string

The ISO8601 timestamp when this order was voided

first_saved

string

The first saved (totaled, sent to kitchen) ISO8601 timestamp for the order

first_item_added

string

The ISO8601 timestamp when item of any type was added to the order

first_split

string

The ISO8601 timestamp when the first item from some other order was added during a split operation

added

string

The ISO8601 timestamp for the last added item or reason

last_modified

string

The ISO8601 timestamp when the order was last time updated (any of its child fields, objects, or arrays)

notification_checkedin

string

The ISO8601 timestamp when an online order was checked in on our point of sale (POS)

notification_committed

string

The ISO8601 timestamp when an online order was committed in on our POS

notification_open

string

The ISO8601 timestamp when an online order was opened and sent to our POS

notification_voided

string

The ISO8601 timestamp when an online order was voided on our POS

closed

string

The ISO8601 timestamp when the order was closed

kitchen_printed

string

The ISO8601 timestamp when the order check was printed to the kitchen

kitchen_sent

string

The ISO8601 timestamp when the order was sent to the kitchen

kitchen_bump

string

The ISO8601 timestamp when the order was completed by the kitchen

Sample Orders Object time Object

//Example 1
"time" : {
 "created" : "20XX-08-04T12:30:06.539Z",
 "last_modified" : ISODate("20XX-08-05T18:14:25.686Z"),
 "first_item_added" : "20XX-08-04T12:30:06.543Z",
 "notification_open" : "20XX-08-04T12:30:30.403Z",
 "notification_committed" : "20XX-08-04T12:30:30.411Z",
 "kitchen_sent" : "20XX-08-05T18:14:25.617Z",
 "notification_checkedin" : "20XX-08-05T18:14:25.562Z",
 "closed" : "20XX-08-05T18:14:25.686Z"
}

//Example 2
"time" : {
 "created" : "20XX-06-10T13:08:35.356Z",
 "kitchen_printed" : "20XX-06-10T13:08:51.121Z",
 "kitchen_sent" : "20XX-06-10T13:08:53.374Z",
 "last_modified" : ISODate("20XX-06-10T13:09:00.998Z"),
 "first_item_added" : "20XX-06-10T13:08:35.428Z",
 "first_split" : "20XX-06-10T13:08:51.060Z",
 "first_saved" : "20XX-06-10T13:08:51.134Z",        
 "notification_committed" : "20XX-06-10T13:08:57.280Z",
 "closed" : "20XX-06-10T13:08:57.283Z"
}