Ordering API (1.0)

Download OpenAPI specification:Download

OrderingStack ordering API

upsell

simpleUpsell

Simple upsell implementation. Uses 'category' extra tag in menu-api service to link categories that should co-exist in order. Configuration is in tenant as 'upselCfg' and consist of list of pairs: 'category1=category2|cat3=cat4|fallback'. Which means that if product from 'category1' is present in order, there should also be product from 'category2'. If it is missing upsell suggests 3 products from 'category2'. 'fallback' is a category to suggest in case no other matches were found. If 'upsellLastLine' is set to true in tenant config additionally it is looking for 'upsell' extra params in recently added line and produces popup upsell from it.

Authorizations:
(oauth2oauth2-client)
Request Body schema: application/json
required
object (Order)
appliedCommands
Array of strings

Responses

Request samples

Content type
application/json
{
  • "order": {
    },
  • "appliedCommands": [
    ]
}

loyalty

simpleLoyalty

Simple loyalty implementation with '3-parts sets 10% off' and 'every third item - half price'. It uses product extra tags 'PART' which should take one of values: 'main', 'side', 'drink'. This endpoint counts every value and tries to combine them in sets (one 'main', one 'size', one 'drink'). There is also 'BULK3' tag which works as a 'third product of this kind (id) for half price'.

Authorizations:
(oauth2oauth2-client)
Request Body schema: application/json
required
object (Order)
appliedCommands
Array of strings

Responses

Request samples

Content type
application/json
{
  • "order": {
    },
  • "appliedCommands": [
    ]
}

loyaltyWallet

Simple loyalty wallet update callback. It computes order total for non-technical items, multiplicates with 'mul' parametr (0.1 by default) and adds points calculated this way to users wallet. Points are rounded to whole numbers (round=true) and expire in one year (expire=365).

Authorizations:
(oauth2oauth2-client)
query Parameters
mul
number
Default: 0.1
round
boolean
Default: true
expire
integer <int32>
Default: 365
notify
string
Request Body schema: application/json
required
commandClass
string
OrderSnapshotCommand (object) or PushFeedbackCommand (object) or CloseOrderEventCommand (object) or LinesExtraAlterCommand (object) or ConfirmDeferredPaymentsEventCommand (object) or InviteEventCommand (object) or VenueQueueEventCommand (object) or AddPaymentEventCommand (object) or SetAddressEventCommand (object) or AddCommentEventCommand (object) or ClaimEventCommand (object) or CouponEventCommand (object) or OrderExtraAlterCommand (object) or DiscountEventCommand (object) or CancelOrderEventCommand (object) or SetBucketsEventCommand (object) or RemoveDeferredPaymentEventCommand (object) or AddLinesEventCommand (object) or AbandonOrderEventCommand (object) or OrderDeliveredEventCommand (object) or RemoveLinesEventCommand (object) or OrderPickedEventCommand (object) or LinesSplitEventCommand (object) or ChangeOrderTypeEventCommand (object) or CompleteOrderEventCommand (object) or AddFiscalEventCommand (object) or LinesQuantityChangeEventCommand (object) or DueTimeEventCommand (object) or NewOrderEventCommand (object) or LockIfValidEventCommand (object) or LinesStatusChangeEventCommand (object) or RequestFiscalEventCommand (object) or OrderKdsTraceEventCommand (object) or VerifyOrderEventCommand (object) or AttachEventUserEventCommand (object) or PaymentUpdateEventCommand (object) or OrderDeliverReadyEventCommand (object) or LoyaltyIdEventCommand (object) or StatusChangeEventCommand (object) (Event)
required
object (Order)
object

Responses

Request samples

Content type
application/json
{
  • "commandClass": "string",
  • "command": {
    },
  • "order": {
    },
  • "extra": {
    }
}

loyaltyWallet2

Simple loyalty wallet update callback (wallet2-api). It computes order total for non-technical items, multiplicates with 'mul' parametr (0.1 by default) and adds points calculated this way to users wallet. Points are rounded to whole numbers (round=true) and expire in one year (expire=365).

Authorizations:
(oauth2oauth2-client)
query Parameters
mul
number
Default: 0.1
round
boolean
Default: true
expire
integer <int32>
Default: 365
notify
string
Request Body schema: application/json
required
commandClass
string
OrderSnapshotCommand (object) or PushFeedbackCommand (object) or CloseOrderEventCommand (object) or LinesExtraAlterCommand (object) or ConfirmDeferredPaymentsEventCommand (object) or InviteEventCommand (object) or VenueQueueEventCommand (object) or AddPaymentEventCommand (object) or SetAddressEventCommand (object) or AddCommentEventCommand (object) or ClaimEventCommand (object) or CouponEventCommand (object) or OrderExtraAlterCommand (object) or DiscountEventCommand (object) or CancelOrderEventCommand (object) or SetBucketsEventCommand (object) or RemoveDeferredPaymentEventCommand (object) or AddLinesEventCommand (object) or AbandonOrderEventCommand (object) or OrderDeliveredEventCommand (object) or RemoveLinesEventCommand (object) or OrderPickedEventCommand (object) or LinesSplitEventCommand (object) or ChangeOrderTypeEventCommand (object) or CompleteOrderEventCommand (object) or AddFiscalEventCommand (object) or LinesQuantityChangeEventCommand (object) or DueTimeEventCommand (object) or NewOrderEventCommand (object) or LockIfValidEventCommand (object) or LinesStatusChangeEventCommand (object) or RequestFiscalEventCommand (object) or OrderKdsTraceEventCommand (object) or VerifyOrderEventCommand (object) or AttachEventUserEventCommand (object) or PaymentUpdateEventCommand (object) or OrderDeliverReadyEventCommand (object) or LoyaltyIdEventCommand (object) or StatusChangeEventCommand (object) (Event)
required
object (Order)
object

Responses

Request samples

Content type
application/json
{
  • "commandClass": "string",
  • "command": {
    },
  • "order": {
    },
  • "extra": {
    }
}

removeCoupon

Remove coupon from order.

Authorizations:
(oauth2oauth2-client)
path Parameters
uid
required
string <uuid>

Order id

Request Body schema: application/json
required
string [ 0 .. 32 ] characters

Responses

Request samples

Content type
application/json
"string"

alterDiscountLayer

Alter discounts on named layer for order.

Authorizations:
oauth2-clientoauth2
path Parameters
uid
required
string <uuid>

Order id

header Parameters
x-tenant
string <uuid>
x-user
string <uuid>
Request Body schema: application/json
required
object
object
layer
required
string [ 3 .. 32 ] characters [a-zA-Z0-9_.-]+
Default: "DISCOUNT"

Discounts layer. Subsequent requests with same layer will remove previous discounts and apply new one for that same layer.

Responses

Request samples

Content type
application/json
{
  • "discounts": {
    },
  • "prices": {
    },
  • "layer": "DISCOUNT"
}

detach

Detach loyalty ID from order.

Authorizations:
(oauth2oauth2-client)
path Parameters
uid
required
string <uuid>

Order id

Responses

attach

Attach loyalty ID to order.

Authorizations:
(oauth2oauth2-client)
path Parameters
uid
required
string <uuid>

Order id

Request Body schema: application/json
required
string [ 0 .. 255 ] characters

Responses

Request samples

Content type
application/json
"string"

addCoupon

Add coupon to order.

Authorizations:
(oauth2oauth2-client)
path Parameters
uid
required
string <uuid>

Order id

Request Body schema: application/json
required
string [ 0 .. 32 ] characters

Responses

Request samples

Content type
application/json
"string"

steering

postSteering

Post steering message.

Authorizations:
oauth2-clientoauth2
header Parameters
x-tenant
string <uuid>
Request Body schema: application/json
required
command
required
string [ 1 .. 32 ] characters [a-zA-Z0-9_.-]+
venue
string [ 1 .. 128 ] characters [a-zA-Z0-9_.-]+
object

Responses

Request samples

Content type
application/json
{
  • "command": "string",
  • "venue": "string",
  • "properties": {
    }
}

secret

signLineDiscounts

Sign line discounts.

Authorizations:
oauth2-clientoauth2
query Parameters
required
object (SignLineDiscountRequest)
tenantId
required
string <uuid>

Responses

order

commentOrderLine

Add comment to order line.

Authorizations:
(oauth2oauth2-client)
path Parameters
uid
required
string <uuid>

Order id

lid
required
string <uuid>

Line id

Request Body schema: application/json
required
string [ 3 .. 255 ] characters

Responses

Request samples

Content type
application/json
"string"

verifyOrder

Mark order as verified.

Authorizations:
oauth2-clientoauth2
path Parameters
uid
required
string <uuid>

Order id

Responses

verifyOrderPayment

Verify order by ID if it can be paid.

Authorizations:
(oauth2oauth2-client)
path Parameters
uid
required
string <uuid>

Order id

query Parameters
returnOrder
boolean
Default: false
header Parameters
x-tenant
string <uuid>
Request Body schema: application/json
required
type
required
string
Enum: "CASH" "CARD" "COD" "TERMINAL" "EPAYMENT" "CARD_CLOUD" "BLIK_POS" "COUPON" "WALLET" "PREAUTHORIZED" "RETURN" "EXTERNAL" "UNKNOWN"
source
required
string[\p{L}\p{N}_.-]+
amount
required
number

Responses

Request samples

Content type
application/json
{
  • "type": "CASH",
  • "source": "string",
  • "amount": 0
}

Response samples

Content type
{
  • "result": true,
  • "order": {
    },
  • "codes": [
    ]
}

changeVenues

Set venues (buckets) in order.

Authorizations:
(oauth2oauth2-client)
path Parameters
uid
required
string <uuid>

Order id

query Parameters
venue
Array of strings [ 1 .. 64 ] items

Venue id(s)

Responses

requestFiscal

Request fiscal data for order. Data is returnet through websocket.

Authorizations:
oauth2-clientoauth2
path Parameters
uid
required
string <uuid>

Order id

header Parameters
x-tenant
string <uuid>
x-user
string <uuid>

Responses

removeCoupon

Remove coupon from order.

Authorizations:
(oauth2oauth2-client)
path Parameters
uid
required
string <uuid>

Order id

Request Body schema: application/json
required
string [ 0 .. 32 ] characters

Responses

Request samples

Content type
application/json
"string"

removeDeferredPayment

Remove deferred payment from order.

Authorizations:
oauth2-clientoauth2
path Parameters
uid
required
string <uuid>

Order id

header Parameters
x-tenant
string <uuid>
x-user
string <uuid>
Request Body schema: application/json
required
paymentId
required
string <uuid>

Responses

Request samples

Content type
application/json
{
  • "paymentId": "472e651e-5a1e-424d-8098-23858bf03ad7"
}

setQueuePos

Manually set queue pos for order. Tenant configuration must allow it.

Authorizations:
oauth2-clientoauth2
path Parameters
uid
required
string <uuid>
Request Body schema: application/json
required
venue
required
string [ 1 .. 128 ] characters [a-zA-Z0-9_.-]+
queuePos
required
string [ 1 .. 32 ] characters [a-zA-Z0-9_.-]+

Responses

Request samples

Content type
application/json
{
  • "venue": "string",
  • "queuePos": "string"
}

changeQuantities

Change lines quantity.

Authorizations:
(oauth2oauth2-client)
path Parameters
uid
required
string <uuid>

Order id

Request Body schema: application/json
required
required
Array of objects (LineQuantity)

Responses

Request samples

Content type
application/json
{
  • "lines": [
    ]
}

pickedOrder

Mark order as picked by carrier.

Authorizations:
(oauth2oauth2-client)
path Parameters
uid
required
string <uuid>

Order id

Responses

payOrder

Add payment information to order.

Authorizations:
oauth2-clientoauth2
path Parameters
uid
required
string <uuid>

Order id

header Parameters
x-tenant
string <uuid>
x-user
string <uuid>
Request Body schema: application/json
required
type
required
string
Enum: "CASH" "CARD" "COD" "TERMINAL" "EPAYMENT" "CARD_CLOUD" "BLIK_POS" "COUPON" "WALLET" "PREAUTHORIZED" "RETURN" "EXTERNAL"
source
required
string[\p{L}\p{N}_.-]+
amount
required
number >= 0
deferred
boolean
Default: false

Payment is deferred, does not trigger next steps

object

Responses

Request samples

Content type
application/json
{
  • "type": "CASH",
  • "source": "string",
  • "amount": 0,
  • "deferred": false,
  • "extra": {
    }
}

paymentUpdate

Update payment information in order.

Authorizations:
oauth2-clientoauth2
path Parameters
uid
required
string <uuid>

Order id

header Parameters
x-tenant
string <uuid>
x-user
string <uuid>
Request Body schema: application/json
required
paymentId
required
string <uuid>
amount
number >= 0

Can be NULL then it is not altered in payment record.

object

Additional (extra) data.

Responses

Request samples

Content type
application/json
{
  • "paymentId": "472e651e-5a1e-424d-8098-23858bf03ad7",
  • "amount": 0,
  • "extra": {
    }
}

lockIfValid

QSR flow - lock the order for further editing if it is valid. Validation re-checks venue cluster (with due time), delivery area, products availability.

Authorizations:
(oauth2oauth2-client)
path Parameters
uid
required
string <uuid>

Order id

Responses

voidLineOrder

Mark order lines as voided.

Authorizations:
(oauth2oauth2-client)
path Parameters
uid
required
string <uuid>

Order id

Request Body schema: application/json
required
Array
string <uuid>

Responses

Request samples

Content type
application/json
[
  • "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]

splitLines

Split order lines. Makes copies of existing order line with smaller quantities. Sum of quantities must match.

Authorizations:
(oauth2oauth2-client)
path Parameters
uid
required
string <uuid>

Order id

Request Body schema: application/json
required
required
Array of objects (LineSplit) [ 1 .. 2147483647 ] items

Responses

Request samples

Content type
application/json
{
  • "lines": [
    ]
}

removeLineOrder

Remove order line. Whether line can be removed depends on its state.

Authorizations:
(oauth2oauth2-client)
path Parameters
uid
required
string <uuid>

Order id

Request Body schema: application/json
required
Array
string <uuid>

Responses

Request samples

Content type
application/json
[
  • "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]

processingLineOrder

Mark order lines as preparing/processing.

Authorizations:
(oauth2oauth2-client)
path Parameters
uid
required
string <uuid>

Order id

Request Body schema: application/json
required
Array
string <uuid>

Responses

Request samples

Content type
application/json
[
  • "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]

processingLineOrder_1

Mark order lines as preparing/processing.

Authorizations:
(oauth2oauth2-client)
path Parameters
uid
required
string <uuid>

Order id

Request Body schema: application/json
required
Array
string <uuid>

Responses

Request samples

Content type
application/json
[
  • "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]

processedLineOrder

Mark order line as processed/prepared.

Authorizations:
(oauth2oauth2-client)
path Parameters
uid
required
string <uuid>

Order id

Request Body schema: application/json
required
Array
string <uuid>

Responses

Request samples

Content type
application/json
[
  • "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]

processedLineOrder_1

Mark order line as processed/prepared.

Authorizations:
(oauth2oauth2-client)
path Parameters
uid
required
string <uuid>

Order id

Request Body schema: application/json
required
Array
string <uuid>

Responses

Request samples

Content type
application/json
[
  • "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]

alterLinesExtra

Change extra params in order.

Authorizations:
(oauth2oauth2-client)
path Parameters
uid
required
string <uuid>

Order id

Request Body schema: application/json
required
required
Array of objects (LinesExtra)

Incremental change of extra params in lines

Responses

Request samples

Content type
application/json
{
  • "lines": [
    ]
}

confirmLineOrder

Mark order lines as confirmed.

Authorizations:
(oauth2oauth2-client)
path Parameters
uid
required
string <uuid>

Order id

Request Body schema: application/json
required
Array
string <uuid>

Responses

Request samples

Content type
application/json
[
  • "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]

kdsTraceView

Track order visibility on KDS.

Authorizations:
oauth2
path Parameters
uid
required
string <uuid>

Order id

query Parameters
config
string

KDS config

Responses

inviteUser

Invite another user to this order. This is used to attach additional user to order.

Authorizations:
(oauth2oauth2-client)
path Parameters
uid
required
string <uuid>

Order id

Request Body schema: application/json
required
id
required
string <uuid>

User id.

name
string [ 0 .. 128 ] characters

Responses

Request samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string"
}

addFiscalize

Add fiscal information to order. This should reflect printed fiscal strip.

Authorizations:
oauth2-clientoauth2
path Parameters
uid
required
string <uuid>

Order id

header Parameters
x-tenant
string <uuid>
x-user
string <uuid>
Request Body schema: application/json
required
timestamp
required
string <date-time>
proforma
boolean
user
string <uuid>
venue
string[a-zA-Z0-9_.-]+
amount
required
number
printer
required
string [ 3 .. 64 ] characters
slip
required
string [ 3 .. 64 ] characters
taxId
string [ 0 .. 32 ] characters
message
string [ 0 .. 64 ] characters
Array of objects (SlipEntry)
Array of objects (DrsSummary) [ 0 .. 64 ] items
object
Array of objects (SubTotalDiscount) [ 0 .. 24 ] items
object

Responses

Request samples

Content type
application/json
{
  • "timestamp": "2019-08-24T14:15:22Z",
  • "proforma": true,
  • "user": "76f62a58-5404-486d-9afc-07bded328704",
  • "venue": "string",
  • "amount": 0,
  • "printer": "string",
  • "slip": "string",
  • "taxId": "string",
  • "message": "string",
  • "entries": [
    ],
  • "drsSummary": [
    ],
  • "payments": {
    },
  • "subTotalDiscounts": [
    ],
  • "extra": {
    }
}

alterExtra

Change extra params in order.

Authorizations:
(oauth2oauth2-client)
path Parameters
uid
required
string <uuid>

Order id

Request Body schema: application/json
required
object

Extra params to add as name:value pairs. Only names starting with 'X-' are allowed.

remove
Array of strings [ 0 .. 64 ] items

Names of extra params to remove

Responses

Request samples

Content type
application/json
{
  • "store": {
    },
  • "remove": "{\"X-PARAM\"}"
}

setDue

Set due timestamp for order.

Authorizations:
(oauth2oauth2-client)
path Parameters
uid
required
string <uuid>

Order id

Request Body schema: application/json
required
due
string <date-time>

Due timestamp of order. Allows to place future orders. Some conditions depending on tenant configuration must be met on how soon or late this timestamp can be.

Responses

Request samples

Content type
application/json
{
  • "due": "2019-08-24T14:15:22Z"
}

alterDiscountLayer

Alter discounts on named layer for order.

Authorizations:
oauth2-clientoauth2
path Parameters
uid
required
string <uuid>

Order id

header Parameters
x-tenant
string <uuid>
x-user
string <uuid>
Request Body schema: application/json
required
object
object
layer
required
string [ 3 .. 32 ] characters [a-zA-Z0-9_.-]+
Default: "DISCOUNT"

Discounts layer. Subsequent requests with same layer will remove previous discounts and apply new one for that same layer.

Responses

Request samples

Content type
application/json
{
  • "discounts": {
    },
  • "prices": {
    },
  • "layer": "DISCOUNT"
}

detach

Detach loyalty ID from order.

Authorizations:
(oauth2oauth2-client)
path Parameters
uid
required
string <uuid>

Order id

Responses

deliverOrder

Mark order as delivered.

Authorizations:
oauth2-clientoauth2
path Parameters
uid
required
string <uuid>

Order id

Responses

deliverReadyOrder

Mark order as deliver ready (before it is delivered).

Authorizations:
oauth2-clientoauth2
path Parameters
uid
required
string <uuid>

Order id

Responses

contact

Set contact information for user. At least one contact is required (email and/or phone).

Authorizations:
(oauth2oauth2-client)
path Parameters
uid
required
string <uuid>

Order id

Request Body schema: application/json
required
name
string [ 0 .. 64 ] characters

Name to be stored as user contact information

phone
string [ 4 .. 32 ] characters \+?[0-9]+

Phone to be stored as user contact information

mail
string <email> [ 4 .. 256 ] characters

Email to be stored as user contact information

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "phone": "string",
  • "mail": "user@example.com"
}

confirmDeferredPayments

Confirm deferred payments in order.

Authorizations:
oauth2-clientoauth2
path Parameters
uid
required
string <uuid>

Order id

header Parameters
x-tenant
string <uuid>
x-user
string <uuid>

Responses

commentOrder

Add comment to order.

Authorizations:
(oauth2oauth2-client)
path Parameters
uid
required
string <uuid>

Order id

Request Body schema: application/json
required
string [ 3 .. 255 ] characters

Responses

Request samples

Content type
application/json
"string"

claimOrder

Claim order. This is used to attach additional user to order. User can be just another user, waiter or technical account for kiosk, etc.

Authorizations:
(oauth2oauth2-client)
path Parameters
uid
required
string <uuid>

Order id

Request Body schema: application/json
required
name
string [ 0 .. 64 ] characters

Name to be stored as user contact information

phone
string [ 4 .. 32 ] characters \+?[0-9]+

Phone to be stored as user contact information

mail
string <email> [ 4 .. 256 ] characters

Email to be stored as user contact information

code
required
string [ 0 .. 32 ] characters [0-9]{0,16}

Claim code. Must match code in order.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "phone": "string",
  • "mail": "user@example.com",
  • "code": "123456"
}

changeOrderType

Change order type.

Authorizations:
(oauth2oauth2-client)
path Parameters
uid
required
string <uuid>

Order id

Request Body schema: application/json
required
orderType
required
string
Enum: "DELIVERY" "TAKE_AWAY" "DINE_IN_OPEN" "DINE_IN" "GLOVO_DELIVERY" "GLOVO_TAKE_AWAY" "JUSTEAT_DELIVERY" "JUSTEAT_TAKE_AWAY" "UBER_DELIVERY" "UBER_TAKE_AWAY" "UBER_DINE_IN" "WOLT_DELIVERY" "WOLT_TAKE_AWAY" "WOLT_DINE_IN" "BOLT_DELIVERY" "BOLT_TAKE_AWAY" "BOLT_DINE_IN" "TAZZ_DELIVERY" "TAZZ_TAKE_AWAY" "UPMENU_DELIVERY" "UPMENU_TAKE_AWAY" "UPMENU_DINE_IN"

Responses

Request samples

Content type
application/json
{
  • "orderType": "DELIVERY"
}

cancelOrder

Cancel order. Cancelling is available for restaurant staff. Involves e-payments refund. If refund fails - cancelling does not take place.

Authorizations:
(oauth2oauth2-client)
path Parameters
uid
required
string <uuid>

Order id

Request Body schema: application/json
statusInfo
string [ 0 .. 128 ] characters

Responses

Request samples

Content type
application/json
{
  • "statusInfo": "string"
}

attach

Attach loyalty ID to order.

Authorizations:
(oauth2oauth2-client)
path Parameters
uid
required
string <uuid>

Order id

Request Body schema: application/json
required
string [ 0 .. 255 ] characters

Responses

Request samples

Content type
application/json
"string"

attachUser

Attach user to order with specified role(s).

Authorizations:
oauth2-clientoauth2
path Parameters
uid
required
string <uuid>

Order id

header Parameters
x-tenant
string <uuid>
x-user
string <uuid>
Request Body schema: application/json
required
user
required
string <uuid>

User to be attached

roles
required
Array of strings [ 1 .. 10 ] items unique
Items Enum: "CREATOR" "CUSTOMER" "COUPON" "KIOSK" "WAITER" "MANAGER" "VIEWER" "DRIVER" "STAFF"

Roles. Not all roles can be set this way.

name
string [ 0 .. 64 ] characters

Name to be stored as user contact information

phone
string [ 0 .. 32 ] characters [0-9]+

Phone to be stored as user contact information

mail
string <email> [ 0 .. 128 ] characters

Email to be stored as user contact information

Responses

Request samples

Content type
application/json
{
  • "user": "76f62a58-5404-486d-9afc-07bded328704",
  • "roles": [
    ],
  • "name": "string",
  • "phone": "string",
  • "mail": "user@example.com"
}

appendLineOrder

Add order line to order.

Authorizations:
(oauth2oauth2-client)
path Parameters
uid
required
string <uuid>

Order id

Request Body schema: application/json
required
venue
required
string
required
Array of objects (AppendedLine) [ 1 .. 32 ] items

Responses

Request samples

Content type
application/json
{
  • "venue": "string",
  • "lines": [
    ]
}

setAddress

Set delivery address for order.

Authorizations:
(oauth2oauth2-client)
path Parameters
uid
required
string <uuid>

Order id

Request Body schema: application/json
required
required
object (Address)

Responses

Request samples

Content type
application/json
{
  • "address": {
    }
}

addCoupon

Add coupon to order.

Authorizations:
(oauth2oauth2-client)
path Parameters
uid
required
string <uuid>

Order id

Request Body schema: application/json
required
string [ 0 .. 32 ] characters

Responses

Request samples

Content type
application/json
"string"

abandonOrder

Abandon order. Only not completed orders can be abandoned this way.

Authorizations:
(oauth2oauth2-client)
path Parameters
uid
required
string <uuid>

Order id

Request Body schema: application/json
statusInfo
string [ 0 .. 128 ] characters

Responses

Request samples

Content type
application/json
{
  • "statusInfo": "string"
}

newOrder

Create new order. In oauth2-client scenario required X-Tenant and X-User HTTP headers.

Authorizations:
oauth2-clientoauth2
Request Body schema: application/json
required
orderType
required
string
Enum: "DELIVERY" "TAKE_AWAY" "DINE_IN_OPEN" "DINE_IN" "GLOVO_DELIVERY" "GLOVO_TAKE_AWAY" "JUSTEAT_DELIVERY" "JUSTEAT_TAKE_AWAY" "UBER_DELIVERY" "UBER_TAKE_AWAY" "UBER_DINE_IN" "WOLT_DELIVERY" "WOLT_TAKE_AWAY" "WOLT_DINE_IN" "BOLT_DELIVERY" "BOLT_TAKE_AWAY" "BOLT_DINE_IN" "TAZZ_DELIVERY" "TAZZ_TAKE_AWAY" "UPMENU_DELIVERY" "UPMENU_TAKE_AWAY" "UPMENU_DINE_IN"
due
string <date-time>
object (Address)
Array of objects (AppendedBucket) [ 0 .. 5 ] items
discardInvalidLines
boolean
Default: false

Whether lines referencing invalid products should be discarded and order containing rest of lines should be created (when true) or whole order should be rejected if some lines do not validate (false). Can be used to post historical order again and have all still valid products added.

object (ContactRequest)
object
loyaltyCard
string [ 0 .. 255 ] characters
variant
string = 1 characters [AB]

Responses

Request samples

Content type
application/json
{
  • "orderType": "DELIVERY",
  • "due": "2019-08-24T14:15:22Z",
  • "address": {
    },
  • "buckets": [
    ],
  • "discardInvalidLines": false,
  • "contact": {
    },
  • "extra": {
    },
  • "loyaltyCard": "string",
  • "variant": "s"
}

newAggregatorOrder

Create new order from aggregator (already paid). In oauth2-client scenario required X-Tenant and X-User HTTP headers.

Authorizations:
oauth2-clientoauth2
Request Body schema: application/json
required
orderType
required
string
Enum: "DELIVERY" "TAKE_AWAY" "DINE_IN_OPEN" "DINE_IN" "GLOVO_DELIVERY" "GLOVO_TAKE_AWAY" "JUSTEAT_DELIVERY" "JUSTEAT_TAKE_AWAY" "UBER_DELIVERY" "UBER_TAKE_AWAY" "UBER_DINE_IN" "WOLT_DELIVERY" "WOLT_TAKE_AWAY" "WOLT_DINE_IN" "BOLT_DELIVERY" "BOLT_TAKE_AWAY" "BOLT_DINE_IN" "TAZZ_DELIVERY" "TAZZ_TAKE_AWAY" "UPMENU_DELIVERY" "UPMENU_TAKE_AWAY" "UPMENU_DINE_IN"
due
string <date-time>
object (Address)
Array of objects (AppendedBucket) [ 0 .. 5 ] items
discardInvalidLines
boolean
Default: false

Whether lines referencing invalid products should be discarded and order containing rest of lines should be created (when true) or whole order should be rejected if some lines do not validate (false). Can be used to post historical order again and have all still valid products added.

object (ContactRequest)
object
loyaltyCard
string [ 0 .. 255 ] characters
extId
string [ 8 .. 64 ] characters [a-zA-Z0-9_./-]+
object (Payment)
comment
string [ 3 .. 255 ] characters

Responses

Request samples

Content type
application/json
{
  • "orderType": "DELIVERY",
  • "due": "2019-08-24T14:15:22Z",
  • "address": {
    },
  • "buckets": [
    ],
  • "discardInvalidLines": false,
  • "contact": {
    },
  • "extra": {
    },
  • "loyaltyCard": "string",
  • "extId": "stringst",
  • "payment": {
    },
  • "comment": "string"
}

getList

Get paginated list of orders. This endpoint is compatible with React AdminOnRest framework to provide DataSource.

Authorizations:
oauth2-clientoauth2
query Parameters
required
object (OrdersFilter)
header Parameters
x-tenant
string <uuid>

Responses

get

Get single order by ID.

Authorizations:
(oauth2oauth2-client)
path Parameters
uid
required
string <uuid>

Order id

header Parameters
x-tenant
string <uuid>

Required when using client token

Responses

Response samples

Content type
{
  • "tenant": "93360892-48a4-4f76-a117-3304c9c61771",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "extId": "string",
  • "created": "2019-08-24T14:15:22Z",
  • "due": "2019-08-24T14:15:22Z",
  • "etf": "2019-08-24T14:15:22Z",
  • "closedDate": "2019-08-24T14:15:22Z",
  • "lastChanged": "2019-08-24T14:15:22Z",
  • "completedTime": "2019-08-24T14:15:22Z",
  • "verifiedTime": "2019-08-24T14:15:22Z",
  • "processingStartedTime": "2019-08-24T14:15:22Z",
  • "deliveredTime": "2019-08-24T14:15:22Z",
  • "source": "string",
  • "users": [
    ],
  • "loyaltyId": "string",
  • "coupons": [
    ],
  • "orderType": "DELIVERY",
  • "deliveryAddress": {
    },
  • "geoPosition": {
    },
  • "total": 0,
  • "editTotal": 0,
  • "status": "string",
  • "statusInfo": "string",
  • "comments": [
    ],
  • "claimCode": "string",
  • "variant": "s",
  • "buckets": [
    ],
  • "payments": [
    ],
  • "fiscal": [
    ],
  • "tax": [
    ],
  • "drsSummary": [
    ],
  • "extra": {
    },
  • "traces": {
    },
  • "logs": [
    ],
  • "locked": true,
  • "completed": true,
  • "verified": true,
  • "closed": true
}

exists

Check if order already exists. Used only internally.

Authorizations:
oauth2-client
path Parameters
uid
required
string <uuid>

Order id

header Parameters
x-tenant
string <uuid>

Required when using client token

Responses

Response samples

Content type
{
  • "tenant": "93360892-48a4-4f76-a117-3304c9c61771",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "extId": "string",
  • "created": "2019-08-24T14:15:22Z",
  • "due": "2019-08-24T14:15:22Z",
  • "etf": "2019-08-24T14:15:22Z",
  • "closedDate": "2019-08-24T14:15:22Z",
  • "lastChanged": "2019-08-24T14:15:22Z",
  • "completedTime": "2019-08-24T14:15:22Z",
  • "verifiedTime": "2019-08-24T14:15:22Z",
  • "processingStartedTime": "2019-08-24T14:15:22Z",
  • "deliveredTime": "2019-08-24T14:15:22Z",
  • "source": "string",
  • "users": [
    ],
  • "loyaltyId": "string",
  • "coupons": [
    ],
  • "orderType": "DELIVERY",
  • "deliveryAddress": {
    },
  • "geoPosition": {
    },
  • "total": 0,
  • "editTotal": 0,
  • "status": "string",
  • "statusInfo": "string",
  • "comments": [
    ],
  • "claimCode": "string",
  • "variant": "s",
  • "buckets": [
    ],
  • "payments": [
    ],
  • "fiscal": [
    ],
  • "tax": [
    ],
  • "drsSummary": [
    ],
  • "extra": {
    },
  • "traces": {
    },
  • "logs": [
    ],
  • "locked": true,
  • "completed": true,
  • "verified": true,
  • "closed": true
}

listOpenedVenue

Get opened orders in venue. Used by KDS, queue displays etc.

Authorizations:
oauth2
path Parameters
uid
required
string [ 3 .. 128 ] characters

Venue id

header Parameters
x-tenant
string <uuid>

Required when using client token

Responses

Response samples

Content type
[
  • {
    }
]

listOpened

Get opened orders for user.

Authorizations:
(oauth2oauth2-client)
query Parameters
venue
string [ 3 .. 128 ] characters [a-zA-Z0-9_.-]+

Optional filter by venue (complementary to websocket filtering by venue)

header Parameters
x-tenant
string <uuid>

Required when using client token

Responses

Response samples

Content type
[
  • {
    }
]

listLast

Get last orders for user (all states included).

Authorizations:
(oauth2oauth2-client)
header Parameters
x-tenant
string <uuid>

Required when using client token

Responses

Response samples

Content type
[
  • {
    }
]

comments

commentOrderLine

Add comment to order line.

Authorizations:
(oauth2oauth2-client)
path Parameters
uid
required
string <uuid>

Order id

lid
required
string <uuid>

Line id

Request Body schema: application/json
required
string [ 3 .. 255 ] characters

Responses

Request samples

Content type
application/json
"string"

commentOrder

Add comment to order.

Authorizations:
(oauth2oauth2-client)
path Parameters
uid
required
string <uuid>

Order id

Request Body schema: application/json
required
string [ 3 .. 255 ] characters

Responses

Request samples

Content type
application/json
"string"

verification

verifyOrderPayment

Verify order by ID if it can be paid.

Authorizations:
(oauth2oauth2-client)
path Parameters
uid
required
string <uuid>

Order id

query Parameters
returnOrder
boolean
Default: false
header Parameters
x-tenant
string <uuid>
Request Body schema: application/json
required
type
required
string
Enum: "CASH" "CARD" "COD" "TERMINAL" "EPAYMENT" "CARD_CLOUD" "BLIK_POS" "COUPON" "WALLET" "PREAUTHORIZED" "RETURN" "EXTERNAL" "UNKNOWN"
source
required
string[\p{L}\p{N}_.-]+
amount
required
number

Responses

Request samples

Content type
application/json
{
  • "type": "CASH",
  • "source": "string",
  • "amount": 0
}

Response samples

Content type
{
  • "result": true,
  • "order": {
    },
  • "codes": [
    ]
}

fetch

verifyOrderPayment

Verify order by ID if it can be paid.

Authorizations:
(oauth2oauth2-client)
path Parameters
uid
required
string <uuid>

Order id

query Parameters
returnOrder
boolean
Default: false
header Parameters
x-tenant
string <uuid>
Request Body schema: application/json
required
type
required
string
Enum: "CASH" "CARD" "COD" "TERMINAL" "EPAYMENT" "CARD_CLOUD" "BLIK_POS" "COUPON" "WALLET" "PREAUTHORIZED" "RETURN" "EXTERNAL" "UNKNOWN"
source
required
string[\p{L}\p{N}_.-]+
amount
required
number

Responses

Request samples

Content type
application/json
{
  • "type": "CASH",
  • "source": "string",
  • "amount": 0
}

Response samples

Content type
{
  • "result": true,
  • "order": {
    },
  • "codes": [
    ]
}

get

Get single order by ID.

Authorizations:
(oauth2oauth2-client)
path Parameters
uid
required
string <uuid>

Order id

header Parameters
x-tenant
string <uuid>

Required when using client token

Responses

Response samples

Content type
{
  • "tenant": "93360892-48a4-4f76-a117-3304c9c61771",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "extId": "string",
  • "created": "2019-08-24T14:15:22Z",
  • "due": "2019-08-24T14:15:22Z",
  • "etf": "2019-08-24T14:15:22Z",
  • "closedDate": "2019-08-24T14:15:22Z",
  • "lastChanged": "2019-08-24T14:15:22Z",
  • "completedTime": "2019-08-24T14:15:22Z",
  • "verifiedTime": "2019-08-24T14:15:22Z",
  • "processingStartedTime": "2019-08-24T14:15:22Z",
  • "deliveredTime": "2019-08-24T14:15:22Z",
  • "source": "string",
  • "users": [
    ],
  • "loyaltyId": "string",
  • "coupons": [
    ],
  • "orderType": "DELIVERY",
  • "deliveryAddress": {
    },
  • "geoPosition": {
    },
  • "total": 0,
  • "editTotal": 0,
  • "status": "string",
  • "statusInfo": "string",
  • "comments": [
    ],
  • "claimCode": "string",
  • "variant": "s",
  • "buckets": [
    ],
  • "payments": [
    ],
  • "fiscal": [
    ],
  • "tax": [
    ],
  • "drsSummary": [
    ],
  • "extra": {
    },
  • "traces": {
    },
  • "logs": [
    ],
  • "locked": true,
  • "completed": true,
  • "verified": true,
  • "closed": true
}

exists

Check if order already exists. Used only internally.

Authorizations:
oauth2-client
path Parameters
uid
required
string <uuid>

Order id

header Parameters
x-tenant
string <uuid>

Required when using client token

Responses

Response samples

Content type
{
  • "tenant": "93360892-48a4-4f76-a117-3304c9c61771",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "extId": "string",
  • "created": "2019-08-24T14:15:22Z",
  • "due": "2019-08-24T14:15:22Z",
  • "etf": "2019-08-24T14:15:22Z",
  • "closedDate": "2019-08-24T14:15:22Z",
  • "lastChanged": "2019-08-24T14:15:22Z",
  • "completedTime": "2019-08-24T14:15:22Z",
  • "verifiedTime": "2019-08-24T14:15:22Z",
  • "processingStartedTime": "2019-08-24T14:15:22Z",
  • "deliveredTime": "2019-08-24T14:15:22Z",
  • "source": "string",
  • "users": [
    ],
  • "loyaltyId": "string",
  • "coupons": [
    ],
  • "orderType": "DELIVERY",
  • "deliveryAddress": {
    },
  • "geoPosition": {
    },
  • "total": 0,
  • "editTotal": 0,
  • "status": "string",
  • "statusInfo": "string",
  • "comments": [
    ],
  • "claimCode": "string",
  • "variant": "s",
  • "buckets": [
    ],
  • "payments": [
    ],
  • "fiscal": [
    ],
  • "tax": [
    ],
  • "drsSummary": [
    ],
  • "extra": {
    },
  • "traces": {
    },
  • "logs": [
    ],
  • "locked": true,
  • "completed": true,
  • "verified": true,
  • "closed": true
}

listOpenedVenue

Get opened orders in venue. Used by KDS, queue displays etc.

Authorizations:
oauth2
path Parameters
uid
required
string [ 3 .. 128 ] characters

Venue id

header Parameters
x-tenant
string <uuid>

Required when using client token

Responses

Response samples

Content type
[
  • {
    }
]

listOpened

Get opened orders for user.

Authorizations:
(oauth2oauth2-client)
query Parameters
venue
string [ 3 .. 128 ] characters [a-zA-Z0-9_.-]+

Optional filter by venue (complementary to websocket filtering by venue)

header Parameters
x-tenant
string <uuid>

Required when using client token

Responses

Response samples

Content type
[
  • {
    }
]

listLast

Get last orders for user (all states included).

Authorizations:
(oauth2oauth2-client)
header Parameters
x-tenant
string <uuid>

Required when using client token

Responses

Response samples

Content type
[
  • {
    }
]

fiscal

requestFiscal

Request fiscal data for order. Data is returnet through websocket.

Authorizations:
oauth2-clientoauth2
path Parameters
uid
required
string <uuid>

Order id

header Parameters
x-tenant
string <uuid>
x-user
string <uuid>

Responses

addFiscalize

Add fiscal information to order. This should reflect printed fiscal strip.

Authorizations:
oauth2-clientoauth2
path Parameters
uid
required
string <uuid>

Order id

header Parameters
x-tenant
string <uuid>
x-user
string <uuid>
Request Body schema: application/json
required
timestamp
required
string <date-time>
proforma
boolean
user
string <uuid>
venue
string[a-zA-Z0-9_.-]+
amount
required
number
printer
required
string [ 3 .. 64 ] characters
slip
required
string [ 3 .. 64 ] characters
taxId
string [ 0 .. 32 ] characters
message
string [ 0 .. 64 ] characters
Array of objects (SlipEntry)
Array of objects (DrsSummary) [ 0 .. 64 ] items
object
Array of objects (SubTotalDiscount) [ 0 .. 24 ] items
object

Responses

Request samples

Content type
application/json
{
  • "timestamp": "2019-08-24T14:15:22Z",
  • "proforma": true,
  • "user": "76f62a58-5404-486d-9afc-07bded328704",
  • "venue": "string",
  • "amount": 0,
  • "printer": "string",
  • "slip": "string",
  • "taxId": "string",
  • "message": "string",
  • "entries": [
    ],
  • "drsSummary": [
    ],
  • "payments": {
    },
  • "subTotalDiscounts": [
    ],
  • "extra": {
    }
}

payment

removeDeferredPayment

Remove deferred payment from order.

Authorizations:
oauth2-clientoauth2
path Parameters
uid
required
string <uuid>

Order id

header Parameters
x-tenant
string <uuid>
x-user
string <uuid>
Request Body schema: application/json
required
paymentId
required
string <uuid>

Responses

Request samples

Content type
application/json
{
  • "paymentId": "472e651e-5a1e-424d-8098-23858bf03ad7"
}

payOrder

Add payment information to order.

Authorizations:
oauth2-clientoauth2
path Parameters
uid
required
string <uuid>

Order id

header Parameters
x-tenant
string <uuid>
x-user
string <uuid>
Request Body schema: application/json
required
type
required
string
Enum: "CASH" "CARD" "COD" "TERMINAL" "EPAYMENT" "CARD_CLOUD" "BLIK_POS" "COUPON" "WALLET" "PREAUTHORIZED" "RETURN" "EXTERNAL"
source
required
string[\p{L}\p{N}_.-]+
amount
required
number >= 0
deferred
boolean
Default: false

Payment is deferred, does not trigger next steps

object

Responses

Request samples

Content type
application/json
{
  • "type": "CASH",
  • "source": "string",
  • "amount": 0,
  • "deferred": false,
  • "extra": {
    }
}

paymentUpdate

Update payment information in order.

Authorizations:
oauth2-clientoauth2
path Parameters
uid
required
string <uuid>

Order id

header Parameters
x-tenant
string <uuid>
x-user
string <uuid>
Request Body schema: application/json
required
paymentId
required
string <uuid>
amount
number >= 0

Can be NULL then it is not altered in payment record.

object

Additional (extra) data.

Responses

Request samples

Content type
application/json
{
  • "paymentId": "472e651e-5a1e-424d-8098-23858bf03ad7",
  • "amount": 0,
  • "extra": {
    }
}

confirmDeferredPayments

Confirm deferred payments in order.

Authorizations:
oauth2-clientoauth2
path Parameters
uid
required
string <uuid>

Order id

header Parameters
x-tenant
string <uuid>
x-user
string <uuid>

Responses

lines

changeQuantities

Change lines quantity.

Authorizations:
(oauth2oauth2-client)
path Parameters
uid
required
string <uuid>

Order id

Request Body schema: application/json
required
required
Array of objects (LineQuantity)

Responses

Request samples

Content type
application/json
{
  • "lines": [
    ]
}

voidLineOrder

Mark order lines as voided.

Authorizations:
(oauth2oauth2-client)
path Parameters
uid
required
string <uuid>

Order id

Request Body schema: application/json
required
Array
string <uuid>

Responses

Request samples

Content type
application/json
[
  • "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]

splitLines

Split order lines. Makes copies of existing order line with smaller quantities. Sum of quantities must match.

Authorizations:
(oauth2oauth2-client)
path Parameters
uid
required
string <uuid>

Order id

Request Body schema: application/json
required
required
Array of objects (LineSplit) [ 1 .. 2147483647 ] items

Responses

Request samples

Content type
application/json
{
  • "lines": [
    ]
}

removeLineOrder

Remove order line. Whether line can be removed depends on its state.

Authorizations:
(oauth2oauth2-client)
path Parameters
uid
required
string <uuid>

Order id

Request Body schema: application/json
required
Array
string <uuid>

Responses

Request samples

Content type
application/json
[
  • "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]

processingLineOrder

Mark order lines as preparing/processing.

Authorizations:
(oauth2oauth2-client)
path Parameters
uid
required
string <uuid>

Order id

Request Body schema: application/json
required
Array
string <uuid>

Responses

Request samples

Content type
application/json
[
  • "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]

processingLineOrder_1

Mark order lines as preparing/processing.

Authorizations:
(oauth2oauth2-client)
path Parameters
uid
required
string <uuid>

Order id

Request Body schema: application/json
required
Array
string <uuid>

Responses

Request samples

Content type
application/json
[
  • "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]

processedLineOrder

Mark order line as processed/prepared.

Authorizations:
(oauth2oauth2-client)
path Parameters
uid
required
string <uuid>

Order id

Request Body schema: application/json
required
Array
string <uuid>

Responses

Request samples

Content type
application/json
[
  • "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]

processedLineOrder_1

Mark order line as processed/prepared.

Authorizations:
(oauth2oauth2-client)
path Parameters
uid
required
string <uuid>

Order id

Request Body schema: application/json
required
Array
string <uuid>

Responses

Request samples

Content type
application/json
[
  • "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]

alterLinesExtra

Change extra params in order.

Authorizations:
(oauth2oauth2-client)
path Parameters
uid
required
string <uuid>

Order id

Request Body schema: application/json
required
required
Array of objects (LinesExtra)

Incremental change of extra params in lines

Responses

Request samples

Content type
application/json
{
  • "lines": [
    ]
}

confirmLineOrder

Mark order lines as confirmed.

Authorizations:
(oauth2oauth2-client)
path Parameters
uid
required
string <uuid>

Order id

Request Body schema: application/json
required
Array
string <uuid>

Responses

Request samples

Content type
application/json
[
  • "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]

appendLineOrder

Add order line to order.

Authorizations:
(oauth2oauth2-client)
path Parameters
uid
required
string <uuid>

Order id

Request Body schema: application/json
required
venue
required
string
required
Array of objects (AppendedLine) [ 1 .. 32 ] items

Responses

Request samples

Content type
application/json
{
  • "venue": "string",
  • "lines": [
    ]
}

push

pushUpsell

Push upsell message to users of order.

Authorizations:
oauth2-clientoauth2
path Parameters
uid
required
string <uuid>

Order id

header Parameters
x-tenant
string <uuid>
Request Body schema: application/json
required
roles
Array of strings [ 0 .. 8 ] items
Items Enum: "CREATOR" "CUSTOMER" "COUPON" "KIOSK" "WAITER" "MANAGER" "VIEWER" "DRIVER" "STAFF"
object (Details)
showAs
required
string [ 1 .. 16 ] characters [A-Z0-9]+
items
required
Array of strings [ 1 .. 2147483647 ] items
object

Extra params.

Responses

Request samples

Content type
application/json
{
  • "roles": [
    ],
  • "details": {
    },
  • "showAs": "string",
  • "items": [
    ],
  • "extra": {
    }
}

pushMessage

Push message to users of order.

Authorizations:
oauth2-clientoauth2
path Parameters
uid
required
string <uuid>

Order id

header Parameters
x-tenant
string <uuid>
Request Body schema: application/json
required
roles
Array of strings [ 0 .. 8 ] items
Items Enum: "CREATOR" "CUSTOMER" "COUPON" "KIOSK" "WAITER" "MANAGER" "VIEWER" "DRIVER" "STAFF"
object (Details)
code
string [ 0 .. 128 ] characters [\p{L}\p{N}_.-]+
message
string [ 0 .. 1024 ] characters
args
Array of strings [ 0 .. 32 ] items [ items [ 1 .. 256 ] characters ]

Responses

Request samples

Content type
application/json
{
  • "roles": [
    ],
  • "details": {
    },
  • "code": "string",
  • "message": "string",
  • "args": [
    ]
}

kds

kdsTraceView

Track order visibility on KDS.

Authorizations:
oauth2
path Parameters
uid
required
string <uuid>

Order id

query Parameters
config
string

KDS config

Responses

internal

syncOrder

Sync order from external source. It acts as snapshot and all required order structures must be filled.

Authorizations:
oauth2-client
Request Body schema: application/json
required
tenant
required
string <uuid>

Tenant identifier

id
required
string <uuid>

Order identifier

extId
string

Additional identifier

created
required
string <date-time>

Timestamp of creation

due
string <date-time>

Timestamp of order due (for future orders)

etf
string <date-time>

Estimated Time of Fulfilment, defined as max(due, now + minDeliveryTime)

closedDate
string <date-time>

Timestamp of closing order

lastChanged
string <date-time>

Timestamp of last update

completedTime
string <date-time>

Timestamp of order completion

verifiedTime
string <date-time>

Timestamp of order verification

processingStartedTime
string <date-time>

Timestamp of order processing started (when first line got status above CONFIRMED)

deliveredTime
string <date-time>

Timestamp of delivery

source
required
string

Internal system param

Array of objects (OrderUser)

Users involved in this order

loyaltyId
string

Loyalty card id

Array of objects (OrderCoupon)

Coupons

orderType
required
string
Enum: "DELIVERY" "TAKE_AWAY" "DINE_IN_OPEN" "DINE_IN" "GLOVO_DELIVERY" "GLOVO_TAKE_AWAY" "JUSTEAT_DELIVERY" "JUSTEAT_TAKE_AWAY" "UBER_DELIVERY" "UBER_TAKE_AWAY" "UBER_DINE_IN" "WOLT_DELIVERY" "WOLT_TAKE_AWAY" "WOLT_DINE_IN" "BOLT_DELIVERY" "BOLT_TAKE_AWAY" "BOLT_DINE_IN" "TAZZ_DELIVERY" "TAZZ_TAKE_AWAY" "UPMENU_DELIVERY" "UPMENU_TAKE_AWAY" "UPMENU_DINE_IN"

Order type

object (Address)

Delivery address

object (GeoPosition)

Geo position for delivery

total
required
number

Order total

editTotal
required
number

Editing total (including lines that are not confirmed)

status
required
string

Order status

statusInfo
string

Additional status info

Array of objects (OrderComment)

Comments

claimCode
string

Secret code for order claims

variant
string = 1 characters [AB]

Variant for AB testing

Array of objects (OrderBucket)

Buckets with order lines

Array of objects (OrderPayment)

Payments for this order

Array of objects (OrderFiscal)

Printed fiscal slips

Array of objects (TaxSummary) [ 0 .. 128 ] items

Tax summary

Array of objects (OrderDrsSummary) [ 0 .. 128 ] items

DRS summary

object

Extra params

object

Traces

Array of objects (OrderLog)

Logs

locked
boolean
completed
boolean
verified
boolean
closed
boolean

Responses

Request samples

Content type
application/json
{
  • "tenant": "93360892-48a4-4f76-a117-3304c9c61771",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "extId": "string",
  • "created": "2019-08-24T14:15:22Z",
  • "due": "2019-08-24T14:15:22Z",
  • "etf": "2019-08-24T14:15:22Z",
  • "closedDate": "2019-08-24T14:15:22Z",
  • "lastChanged": "2019-08-24T14:15:22Z",
  • "completedTime": "2019-08-24T14:15:22Z",
  • "verifiedTime": "2019-08-24T14:15:22Z",
  • "processingStartedTime": "2019-08-24T14:15:22Z",
  • "deliveredTime": "2019-08-24T14:15:22Z",
  • "source": "string",
  • "users": [
    ],
  • "loyaltyId": "string",
  • "coupons": [
    ],
  • "orderType": "DELIVERY",
  • "deliveryAddress": {
    },
  • "geoPosition": {
    },
  • "total": 0,
  • "editTotal": 0,
  • "status": "string",
  • "statusInfo": "string",
  • "comments": [
    ],
  • "claimCode": "string",
  • "variant": "s",
  • "buckets": [
    ],
  • "payments": [
    ],
  • "fiscal": [
    ],
  • "tax": [
    ],
  • "drsSummary": [
    ],
  • "extra": {
    },
  • "traces": {
    },
  • "logs": [
    ],
  • "locked": true,
  • "completed": true,
  • "verified": true,
  • "closed": true
}

stats

getTodayStats

Get paginated list of all venues stats for today. This endpoint is compatible with React AdminOnRest framework to provide DataSource.

Authorizations:
oauth2-clientoauth2
query Parameters
required
object (StatsTodayFilter)
header Parameters
x-tenant
string <uuid>

Responses

getGlobalStats

Get paginated list of globals stats. This endpoint is compatible with React AdminOnRest framework to provide DataSource.

Authorizations:
oauth2-clientoauth2
query Parameters
required
object (StatsFilter)
header Parameters
x-tenant
string <uuid>

Responses

getVenueStats

Get paginated list of single venue stats. This endpoint is compatible with React AdminOnRest framework to provide DataSource.

Authorizations:
oauth2-clientoauth2
path Parameters
venue
required
string [ 1 .. 128 ] characters [a-zA-Z0-9_.-]+
query Parameters
required
object (StatsFilter)
header Parameters
x-tenant
string <uuid>

Responses

administration

getList

Get paginated list of orders. This endpoint is compatible with React AdminOnRest framework to provide DataSource.

Authorizations:
oauth2-clientoauth2
query Parameters
required
object (OrdersFilter)
header Parameters
x-tenant
string <uuid>

Responses

Webhooks

Order change notifications Webhook

We send this request when an event occurs on an order. Note the command object, which takes different forms depending on the event type.

⚙️ How to configure the webhook in the Tenant?

To start receiving these notifications, you must set the destination URL in the properties object of the Tenant configuration.

The configuration key is created by adding the constant prefix orderChangeWebhook- to the name of the selected event (visible in the list below).

Example: If you want to receive notifications about the CouponEventCommand event, set the following property in the Tenant:

orderChangeWebhook-CouponEventCommand: "https://your-server.com/api/webhook"


🔒 Security & Signature Verification

To secure your webhook endpoints, you should define a secret token. Add this token to the Tenant's properties under the key:

webhookSecurityToken: "your-secret-token-here"

When configured, our system will include an X-Signature header in every webhook request.

Authorizations:
WebhookSignature
Request Body schema: application/json
commandClass
string
OrderSnapshotCommand (object) or PushFeedbackCommand (object) or CloseOrderEventCommand (object) or LinesExtraAlterCommand (object) or ConfirmDeferredPaymentsEventCommand (object) or InviteEventCommand (object) or VenueQueueEventCommand (object) or AddPaymentEventCommand (object) or SetAddressEventCommand (object) or AddCommentEventCommand (object) or ClaimEventCommand (object) or CouponEventCommand (object) or OrderExtraAlterCommand (object) or DiscountEventCommand (object) or CancelOrderEventCommand (object) or SetBucketsEventCommand (object) or RemoveDeferredPaymentEventCommand (object) or AddLinesEventCommand (object) or AbandonOrderEventCommand (object) or OrderDeliveredEventCommand (object) or RemoveLinesEventCommand (object) or OrderPickedEventCommand (object) or LinesSplitEventCommand (object) or ChangeOrderTypeEventCommand (object) or CompleteOrderEventCommand (object) or AddFiscalEventCommand (object) or LinesQuantityChangeEventCommand (object) or DueTimeEventCommand (object) or NewOrderEventCommand (object) or LockIfValidEventCommand (object) or LinesStatusChangeEventCommand (object) or RequestFiscalEventCommand (object) or OrderKdsTraceEventCommand (object) or VerifyOrderEventCommand (object) or AttachEventUserEventCommand (object) or PaymentUpdateEventCommand (object) or OrderDeliverReadyEventCommand (object) or LoyaltyIdEventCommand (object) or StatusChangeEventCommand (object) (Event)
required
object (Order)
object

Responses

Request samples

Content type
application/json
{
  • "commandClass": "string",
  • "command": {
    },
  • "order": {
    },
  • "extra": {
    }
}

Loyalty integration (Discounts) Webhook

We send this request to your external loyalty system to calculate discounts for the current order. The external system should respond with a LoyaltyResponse object containing the discounts to be applied.

⚙️ How to configure the webhook in the Tenant?

To enable this integration, set the destination URL in the properties object of the Tenant configuration:

loyaltyUrl: "https://your-loyalty-system.com/api/calculate"


🔒 Security & Signature Verification

To secure your webhook endpoints, you should define a secret token. Add this token to the Tenant's properties under the key:

loyaltySecurityToken: "your-secret-token-here"

When configured, our system will include an X-Signature header in every webhook request.

Authorizations:
WebhookSignature
Request Body schema: application/json
object (Order_Level2)
appliedCommands
Array of strings

Responses

Request samples

Content type
application/json
{
  • "order": {
    },
  • "appliedCommands": [
    ]
}

Response samples

Content type
application/json
{
  • "discounts": {
    },
  • "prices": {
    }
}

External Order Verification Webhook

We send this request during the order verification process (e.g., when /ordering-api/api/order/{uid}/verifyPayment or /ordering-api/api/order/{uid}/lock-if-valid endpoints are called). This allows your external system to perform additional validation on top of the standard OrderingStack checks. The external system must respond with a VerifyOrderHookResponse object determining if the order is valid.

⚙️ How to configure the webhook in the Tenant?

To enable this integration, set the destination URL in the properties object of the Tenant configuration:

orderVerificationUrl: "https://your-system.com/api/verify-order"


🔒 Security & Signature Verification

To secure your webhook endpoints, you should define a secret token. Add this token to the Tenant's properties under the key:

orderValidationSecurityToken: "your-secret-token-here"

When configured, our system will include an X-Signature header in every webhook request.

Authorizations:
WebhookSignature
Request Body schema: application/json
object (Order)

Responses

Request samples

Content type
application/json
{
  • "order": {
    }
}

Response samples

Content type
application/json
{
  • "ok": true,
  • "message": "string"
}

Upsell Recommendations Webhook

We send this request whenever there is a change in the order's contents (e.g., adding a new product, changing quantities, removing a product, or changing an order line's status). Your external system can analyze the current state of the order and return an UpsellResponse object containing cross-sell or up-sell suggestions. These suggestions are then seamlessly propagated back to the user interface where the order is being placed.

⚙️ How to configure the webhook in the Tenant?

To enable this integration, set the destination URL in the properties object of the Tenant configuration:

upsellUrl: "https://your-upsell-engine.com/api/recommendations"


🔒 Security & Signature Verification

To secure your webhook endpoints, you should define a secret token. Add this token to the Tenant's properties under the key:

upsellSecurityToken: "your-secret-token-here"

When configured, our system will include an X-Signature header in every webhook request.

Authorizations:
WebhookSignature
Request Body schema: application/json
object (Order_Level2)
appliedCommands
Array of strings

Responses

Request samples

Content type
application/json
{
  • "order": {
    },
  • "appliedCommands": [
    ]
}

Response samples

Content type
application/json
[
  • {
    }
]