Skip to main content
This module contains all order-related models used for managing customer orders from draft creation to completion.

Order Draft Models

OrderDraftItemOptionDTO

Model for option selections within order draft items.
FieldTypeRequiredDescription
optionInternalIdstringYesInternal option identifier
quantitynumberYesQuantity of this option

OrderDraftItemDTO

Model for items in an order draft.
FieldTypeRequiredDescription
skuInternalIdstringYesInternal SKU identifier
quantitynumberYesItem quantity
optionsOrderDraftItemOptionDTO[]NoSelected options for this item

OrderDraftDealSkuOptionDTO

Model for option selections within deal SKUs.
FieldTypeRequiredDescription
optionInternalIdstringYesInternal option identifier
quantitynumberYesQuantity of this option
pricePriceDTONoOption price override

OrderDraftDealSkuDTO

Model for SKU selections within deals.
FieldTypeRequiredDescription
skuInternalIdstringYesInternal SKU identifier
pricePriceDTONoSKU price override
quantitynumberNoSKU quantity (default: 1)
optionsOrderDraftDealSkuOptionDTO[]NoSelected options for this SKU

OrderDraftDealDTO

Model for adding deals to an order draft.
FieldTypeRequiredDescription
dealInternalIdstringYesInternal deal identifier
pricePriceDTONoDeal price override
skusOrderDraftDealSkuDTO[]YesSelected SKUs in the deal

OrderDraftDTO

Complete order draft model representing a customer’s order in progress.
FieldTypeRequiredDescription
idstringYesUnique order draft identifier
createdAtdatetimeYesDraft creation timestamp
updatedAtdatetimeNoLast update timestamp
conversationIdstringYesAssociated conversation identifier
locationIdstringNoLocation ID (for organization mode)
deliveryAddressAddressDTONoDelivery address
deliveryTimedatetimeNoRequested delivery time
startTimedatetimeNoOrder preparation start time
readyTimedatetimeNoOrder ready for pickup time
customerFirstNamestringNoCustomer first name
customerLastNamestringNoCustomer last name
customerNotestringNoCustomer notes for the order
itemsOrderDraftItemDTO[]NoOrder items
dealsOrderDraftDealDTO[]NoOrder deals/combos
serviceTypestringNoService type: “delivery”, “collection”, “eat_in”, “unspecified”
discountsAppliedDiscountDTO[]NoApplied discounts
paymentMethodstring | objectNoPayment method
deliveryInstructionsstringNoDelivery instructions
deliveryFeenumberNoDelivery fee charged by platform
serviceFeenumberNoService fee charged by platform
codesstring[]NoPromo codes to apply

Payment Methods

The paymentMethod field accepts the following values:
MethodDescription
PersistentCardSaved payment card
TemporaryCardOne-time payment card
TwintTwint mobile payment
RevolutPayRevolut payment method
HandledByStorePayment handled by store

OrderDraftUpdateDTO

Model for updating an existing order draft with new information.
FieldTypeRequiredDescription
deliveryAddressStringstringNoFull address as single string
deliveryAddressCoordinatesobjectNoAddress coordinates (lat/long)
requestedTimestringNoRequested time: “ASAP” or ISO format
customerFirstNamestringNoCustomer first name
customerLastNamestringNoCustomer last name
customerNotestringNoCustomer notes
itemsOrderDraftItemDTO[]NoUpdated order items
serviceTypestringNoService type: “delivery” or “collection”
paymentMethodstringNoPayment method
deliveryInstructionsstringNoDelivery instructions
customerLanguagestringNoCustomer language: “fr”, “en”, “de”, “it”, “es”
locationIdstringNoLocation ID (for organization mode)
codesstring[]NoPromo codes as provided by customer
dealsOrderDraftDealDTO[]NoDeals to add to order
The update model includes validation to convert “unspecified” and “null” string values to null, and handles coordinate validation for delivery addresses.

Completed Order Models

OrderOptionDTO

Model for options in completed orders.
FieldTypeRequiredDescription
idstringNoOption identifier
internalIdstringNoInternal option ID
namestringYesOption name
optionListNamestringYesParent option list name
quantitynumberNoOption quantity
refstringNoOption reference code
pricePriceDTONoOption price

OrderItemDTO

Model for items in completed orders.
FieldTypeRequiredDescription
idstringNoItem identifier
internalIdstringNoInternal item ID
namestringYesItem name
productNamestringNoProduct name
skuNamestringNoSKU name
skuRefstringNoSKU reference code
pricePriceDTOYesItem price
quantitynumberYesItem quantity
customerNotesstringNoCustomer notes for item
optionsOrderOptionDTO[]NoSelected options

OrderDiscountDTO

Model for discounts applied to orders.
FieldTypeRequiredDescription
idstringYesDiscount identifier
namestringYesDiscount name
refstringNoDiscount reference
priceOffPriceDTOYesDiscount amount

OrderChargeDTO

Model for additional charges on orders.
FieldTypeRequiredDescription
idstringYesCharge identifier
namestringYesCharge name
refstringNoCharge reference
pricePriceDTOYesCharge amount

OrderPaymentDTO

Model for payment information on orders.
FieldTypeRequiredDescription
idstringYesPayment identifier
namestringNoPayment name
refstringNoPayment reference
stripePaymentIntentIdstringNoStripe payment intent ID
amountPriceDTOYesPayment amount

OrderStatusDTO

Enum defining order lifecycle states.
ValueDescription
newOrder has been created
awaiting_paymentOrder is waiting for payment
receivedOrder has been received by restaurant
acceptedOrder has been accepted
in_preparationOrder is being prepared
awaiting_shipmentOrder is ready for delivery
awaiting_collectionOrder is ready for pickup
in_deliveryOrder is out for delivery
completedOrder has been completed
rejectedOrder has been rejected
cancelledOrder has been cancelled
delivery_failedDelivery attempt failed

ServiceTypeDTO

Enum defining service types for orders.
ValueDescription
deliveryOrder will be delivered
collectionOrder will be picked up
eat_inOrder for dine-in service

OrderDTO

Complete order model for finalized orders.
FieldTypeRequiredDescription
idstringYesUnique order identifier
shortIdstringYesShort human-readable ID (e.g. A1B2)
createdAtdatetimeYesOrder creation timestamp
updatedAtdatetimeNoLast update timestamp
statusOrderStatusDTOYesCurrent order status
serviceTypeServiceTypeDTONoService type
channelstringNoOrder channel
refstringNoOrder reference
privateRefstringNoPrivate order reference
expectedTimedatetimeNoExpected completion time
confirmedTimedatetimeNoConfirmed completion time
customerNotesstringNoCustomer notes
sellerNotesstringNoSeller notes
collectionCodestringNoPickup collection code
totalPriceDTONoOrder total amount
itemsOrderItemDTO[]NoOrder items
discountsOrderDiscountDTO[]NoApplied discounts
chargesOrderChargeDTO[]NoAdditional charges
paymentsOrderPaymentDTO[]NoPayment information
customerCustomerDTONoCustomer information
deliveryDeliveryDTONoDelivery information (third-party)
paymentPaymentDTONoPayment information

OrderRegistrationResponseDTO

Response model for order registration attempts.
FieldTypeRequiredDescription
typestringYesResponse type: “orderPaid”, “orderRegistered”, “checkoutUrl”, “failed”
orderOrderDTONoOrder data (for orderPaid/orderRegistered)
checkoutUrlstringNoCheckout URL (for checkoutUrl type)
failureReasonstringNoFailure reason (for failed type)

Order Lifecycle

Draft Phase

  1. Creation: Order draft is created when customer starts ordering
  2. Item Addition: Items and deals are added to the draft
  3. Updates: Customer information and preferences are updated
  4. Validation: Draft is validated before payment

Order Phase

  1. Registration: Draft is converted to order after payment
  2. Processing: Restaurant receives and processes the order
  3. Preparation: Order moves through preparation stages
  4. Completion: Order is delivered or picked up

Status Transitions

Common status flow:
  • newawaiting_paymentreceivedacceptedin_preparation
  • Delivery: awaiting_shipmentin_deliverycompleted
  • Collection: awaiting_collectioncompleted
Order drafts allow customers to build their order gradually through conversation, while completed orders represent finalized transactions with full payment and preparation tracking.