Main docs page Auth API Ordering API Menu API Venue API Inventory API Payment API Loyalty API Wallet API

Ordering API (1.0)

Download OpenAPI specification:Download

OrderingStack ordering API

Authentication

oauth2

Standard token auth

Security Scheme Type OAuth2

oauth2-client

Internal authorization between microservices

Security Scheme Type OAuth2

order

getList

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

Authorizations:
oauth2-clientoauth2 (ROLE_SUROLE_MANAGERROLE_ORDERSROLE_{venue}_MANAGERROLE_{venue}_ORDERS)
query Parameters
required
object (OrdersFilter)
header Parameters
x-tenant
string <uuid>

Responses

commentOrder

Add comment to order.

Authorizations:
path Parameters
uid
required
string <uuid>

Order id

Request Body schema: */*
string

Responses

commentOrderLine

Add comment to order line.

Authorizations:
path Parameters
uid
required
string <uuid>

Order id

lid
required
string <uuid>

Line id

Request Body schema: */*
string

Responses

setQueuePos

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

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

Order id

Request Body schema: */*
venue
required
string [ 1 .. 128 ] characters [\p{L}\p{N}_.-]+
queuePos
required
string [ 1 .. 32 ] characters [a-zA-Z0-9_.-]+

Responses

kdsTraceView

Track order visibility on KDS.

Authorizations:
oauth2 (ROLE_SUROLE_MANAGERROLE_ORDERSROLE_KDSROLE_COOKROLE_WAITERROLE_{venue}_MANAGERROLE_{venue}_ORDERSROLE_{venue}_KDSROLE_{venue}_COOKROLE_{venue}_WAITER)
path Parameters
uid
required
string <uuid>

Order id

query Parameters
config
string

KDS config

Responses

verifyOrder

Mark order as verified.

Authorizations:
oauth2-clientoauth2 (ROLE_SUROLE_MANAGERROLE_ORDERSROLE_VERIFYROLE_{venue}_MANAGERROLE_{venue}_ORDERSROLE_{venue}_VERIFY)
path Parameters
uid
required
string <uuid>

Order id

Responses

newAggregatorOrder

Create new order from aggregator (already paid).

Authorizations:
oauth2-clientoauth2 (ROLE_SUROLE_AGGREGATOR + ROLE_PAYROLE_AGGREGATOR + ROLE_PAY_{paymentType})
Request Body schema: */*
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"
due
string <date-time>
object (Address)

Delivery 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
required
object (Payment)
comment
string [ 3 .. 255 ] characters

Responses

deliverReadyOrder

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

Authorizations:
oauth2-clientoauth2 (ROLE_SUROLE_MANAGERROLE_ORDERSROLE_DELIVERYROLE_{venue}_MANAGERROLE_{venue}_ORDERSROLE_{venue}_DELIVERY)
path Parameters
uid
required
string <uuid>

Order id

Responses

deliverOrder

Mark order as delivered.

Authorizations:
oauth2-clientoauth2 (ROLE_SUROLE_MANAGERROLE_ORDERSROLE_DELIVERYROLE_{venue}_MANAGERROLE_{venue}_ORDERSROLE_{venue}_DELIVERY)
path Parameters
uid
required
string <uuid>

Order id

Responses

setDue

Set due timestamp for order.

Authorizations:
path Parameters
uid
required
string <uuid>

Order id

Request Body schema: */*
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

newOrder

Create new order.

Authorizations:
Request Body schema: */*
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"
due
string <date-time>
object (Address)

Delivery 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

Responses

abandonOrder

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

Authorizations:
path Parameters
uid
required
string <uuid>

Order id

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

Responses

cancelOrder

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

Authorizations:
path Parameters
uid
required
string <uuid>

Order id

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

Responses

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:
path Parameters
uid
required
string <uuid>

Order id

Responses

processedLineOrder

Mark order line as processed/prepared.

Authorizations:
path Parameters
uid
required
string <uuid>

Order id

Request Body schema: */*
Array ()
string <uuid>

Responses

processingLineOrder

Mark order lines as preparing/processing.

Authorizations:
path Parameters
uid
required
string <uuid>

Order id

Request Body schema: */*
Array ()
string <uuid>

Responses

voidLineOrder

Mark order lines as voided.

Authorizations:
path Parameters
uid
required
string <uuid>

Order id

Request Body schema: */*
Array ()
string <uuid>

Responses

confirmLineOrder

Mark order lines as confirmed.

Authorizations:
path Parameters
uid
required
string <uuid>

Order id

Request Body schema: */*
Array ()
string <uuid>

Responses

pickedOrder

Mark order as picked by carrier.

Authorizations:
path Parameters
uid
required
string <uuid>

Order id

Responses

payOrder

Add payment information to order.

Authorizations:
oauth2-clientoauth2 (ROLE_SUROLE_PAYROLE_PAY_{paymentType})
path Parameters
uid
required
string <uuid>

Order id

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

Responses

paymentUpdate

Update payment information in order.

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

Order id

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

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

object

Additional (extra) data.

Responses

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:
path Parameters
uid
required
string <uuid>

Order id

Request Body schema: */*
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 [ 0 .. 128 ] 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

contact

Set contact information for user.

Authorizations:
path Parameters
uid
required
string <uuid>

Order id

Request Body schema: */*
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 [ 0 .. 128 ] characters

Email to be stored as user contact information

Responses

attachUser

Attach user to order with specified role(s).

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

Order id

Request Body schema: */*
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 [ 0 .. 128 ] characters

Email to be stored as user contact information

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.

Responses

changeOrderType

Change order type.

Authorizations:
path Parameters
uid
required
string <uuid>

Order id

Request Body schema: */*
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"

Responses

alterExtra

Change extra params in order.

Authorizations:
path Parameters
uid
required
string <uuid>

Order id

Request Body schema: */*
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

changeVenues

Set venues (buckets) in order.

Authorizations:
path Parameters
uid
required
string <uuid>

Order id

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

Venue id(s)

Responses

appendLineOrder

Add order line to order.

Authorizations:
path Parameters
uid
required
string <uuid>

Order id

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

Responses

setAddress

Set delivery address for order.

Authorizations:
path Parameters
uid
required
string <uuid>

Order id

Request Body schema: */*
required
object (Address)

Delivery address

Responses

changeQuantities

Change lines quantity.

Authorizations:
path Parameters
uid
required
string <uuid>

Order id

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

Responses

splitLines

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

Authorizations:
path Parameters
uid
required
string <uuid>

Order id

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

Responses

alterLinesExtra

Change extra params in order.

Authorizations:
path Parameters
uid
required
string <uuid>

Order id

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

Incremental change of extra params in lines

Responses

removeLineOrder

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

Authorizations:
path Parameters
uid
required
string <uuid>

Order id

Request Body schema: */*
Array ()
string <uuid>

Responses

inviteUser

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

Authorizations:
path Parameters
uid
required
string <uuid>

Order id

Request Body schema: */*
id
required
string <uuid>

User id.

name
string [ 0 .. 128 ] characters

Responses

attach

Attach loyalty ID to order.

Authorizations:
path Parameters
uid
required
string <uuid>

Order id

Request Body schema: */*
string

Responses

detach

Detach loyalty ID from order.

Authorizations:
path Parameters
uid
required
string <uuid>

Order id

Responses

addCoupon

Add coupon to order.

Authorizations:
path Parameters
uid
required
string <uuid>

Order id

Request Body schema: */*
string

Responses

removeCoupon

Remove coupon from order.

Authorizations:
path Parameters
uid
required
string <uuid>

Order id

Request Body schema: */*
string

Responses

addFiscalize

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

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

Order id

header Parameters
x-tenant
string <uuid>
x-user
string <uuid>
Request Body schema: */*
timestamp
required
string <date-time>
user
string <uuid>
venue
string[\p{L}\p{N}_.-]+
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)
object
Array of objects (SubTotalDiscount) [ 0 .. 24 ] items
object

Responses

requestFiscal

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

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

Order id

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

Responses

verifyOrderPayment

Verify order by ID if it can be paid.

Authorizations:
path Parameters
uid
required
string <uuid>

Order id

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

Responses

Response samples

Content type
application/json; charset=utf-8
{
  • "result": true,
  • "order": {
    },
  • "codes": [
    ]
}

get

Get single order by ID.

Authorizations:
path Parameters
uid
required
string <uuid>

Order id

header Parameters
x-tenant
string <uuid>

Required when using client token

Responses

Response samples

Content type
application/json; charset=utf-8
{
  • "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",
  • "buckets": [
    ],
  • "payments": [
    ],
  • "fiscal": [
    ],
  • "tax": [
    ],
  • "extra": {
    },
  • "traces": {
    },
  • "logs": [
    ],
  • "locked": true,
  • "completed": true,
  • "verified": true,
  • "closed": true
}

exists

Check order existence by ID.

Authorizations:
path Parameters
uid
required
string <uuid>

Order id

header Parameters
x-tenant
string <uuid>

Required when using client token

Responses

Response samples

Content type
application/json; charset=utf-8
{
  • "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",
  • "buckets": [
    ],
  • "payments": [
    ],
  • "fiscal": [
    ],
  • "tax": [
    ],
  • "extra": {
    },
  • "traces": {
    },
  • "logs": [
    ],
  • "locked": true,
  • "completed": true,
  • "verified": true,
  • "closed": true
}

listOpened

Get opened orders for user.

Authorizations:
header Parameters
x-tenant
string <uuid>

Required when using client token

Responses

Response samples

Content type
application/json; charset=utf-8
[
  • {
    }
]

listLast

Get last orders for user (all states included).

Authorizations:
header Parameters
x-tenant
string <uuid>

Required when using client token

Responses

Response samples

Content type
application/json; charset=utf-8
[
  • {
    }
]

listOpenedVenue

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

Authorizations:
oauth2-clientoauth2 (ROLE_SUROLE_MANAGERROLE_ORDERSROLE_KDSROLE_COOKROLE_WAITERROLE_{venue}_MANAGERROLE_{venue}_ORDERSROLE_{venue}_KDSROLE_{venue}_COOKROLE_{venue}_WAITER)
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
application/json; charset=utf-8
[
  • {
    }
]

administration

getList

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

Authorizations:
oauth2-clientoauth2 (ROLE_SUROLE_MANAGERROLE_ORDERSROLE_{venue}_MANAGERROLE_{venue}_ORDERS)
query Parameters
required
object (OrdersFilter)
header Parameters
x-tenant
string <uuid>

Responses

comments

commentOrder

Add comment to order.

Authorizations:
path Parameters
uid
required
string <uuid>

Order id

Request Body schema: */*
string

Responses

commentOrderLine

Add comment to order line.

Authorizations:
path Parameters
uid
required
string <uuid>

Order id

lid
required
string <uuid>

Line id

Request Body schema: */*
string

Responses

internal

syncOrder

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

Authorizations:
oauth2-clientoauth2 (ROLE_SUROLE_SYNC)
Request Body schema: */*
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"

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

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

object

Extra params

object

Traces

Array of objects (OrderLog)

Logs

locked
boolean
completed
boolean
verified
boolean
closed
boolean

Responses

kds

kdsTraceView

Track order visibility on KDS.

Authorizations:
oauth2 (ROLE_SUROLE_MANAGERROLE_ORDERSROLE_KDSROLE_COOKROLE_WAITERROLE_{venue}_MANAGERROLE_{venue}_ORDERSROLE_{venue}_KDSROLE_{venue}_COOKROLE_{venue}_WAITER)
path Parameters
uid
required
string <uuid>

Order id

query Parameters
config
string

KDS config

Responses

lines

processedLineOrder

Mark order line as processed/prepared.

Authorizations:
path Parameters
uid
required
string <uuid>

Order id

Request Body schema: */*
Array ()
string <uuid>

Responses

processingLineOrder

Mark order lines as preparing/processing.

Authorizations:
path Parameters
uid
required
string <uuid>

Order id

Request Body schema: */*
Array ()
string <uuid>

Responses

voidLineOrder

Mark order lines as voided.

Authorizations:
path Parameters
uid
required
string <uuid>

Order id

Request Body schema: */*
Array ()
string <uuid>

Responses

confirmLineOrder

Mark order lines as confirmed.

Authorizations:
path Parameters
uid
required
string <uuid>

Order id

Request Body schema: */*
Array ()
string <uuid>

Responses

appendLineOrder

Add order line to order.

Authorizations:
path Parameters
uid
required
string <uuid>

Order id

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

Responses

changeQuantities

Change lines quantity.

Authorizations:
path Parameters
uid
required
string <uuid>

Order id

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

Responses

splitLines

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

Authorizations:
path Parameters
uid
required
string <uuid>

Order id

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

Responses

alterLinesExtra

Change extra params in order.

Authorizations:
path Parameters
uid
required
string <uuid>

Order id

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

Incremental change of extra params in lines

Responses

removeLineOrder

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

Authorizations:
path Parameters
uid
required
string <uuid>

Order id

Request Body schema: */*
Array ()
string <uuid>

Responses

loyalty

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:
query Parameters
mul
number
Default: 0.1
round
boolean
Default: true
expire
integer <int32>
Default: 365
notify
string
Request Body schema: */*
commandClass
string
object (AbstractOrderEventCommand)
required
object (Order)

Responses

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:
query Parameters
mul
number
Default: 0.1
round
boolean
Default: true
expire
integer <int32>
Default: 365
notify
string
Request Body schema: */*
commandClass
string
object (AbstractOrderEventCommand)
required
object (Order)

Responses

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:
Request Body schema: */*
object (Order)
appliedCommands
Array of strings

Responses

attach

Attach loyalty ID to order.

Authorizations:
path Parameters
uid
required
string <uuid>

Order id

Request Body schema: */*
string

Responses

detach

Detach loyalty ID from order.

Authorizations:
path Parameters
uid
required
string <uuid>

Order id

Responses

addCoupon

Add coupon to order.

Authorizations:
path Parameters
uid
required
string <uuid>

Order id

Request Body schema: */*
string

Responses

removeCoupon

Remove coupon from order.

Authorizations:
path Parameters
uid
required
string <uuid>

Order id

Request Body schema: */*
string

Responses

push

pushUpsell

Push upsell message to users of order.

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

Order id

header Parameters
x-tenant
string <uuid>
Request Body schema: */*
roles
Array of strings [ 0 .. 8 ] items
Items Enum: "CREATOR" "CUSTOMER" "COUPON" "KIOSK" "WAITER" "MANAGER" "VIEWER" "DRIVER" "STAFF"
object (Details)
showAs
required
string
Enum: "ANY" "POPUP" "SIDE" "BASKET"
items
required
Array of strings [ 1 .. 2147483647 ] items

Responses

pushMessage

Push message to users of order.

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

Order id

header Parameters
x-tenant
string <uuid>
Request Body schema: */*
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

Responses

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'. 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'.

Authorizations:
Request Body schema: */*
object (Order)
appliedCommands
Array of strings

Responses

secret

signLineDiscounts

Sign line discounts.

Authorizations:
oauth2-clientoauth2 (ROLE_SUROLE_MANAGERROLE_SIGN)
header Parameters
x-tenant
string <uuid>
Request Body schema: */*
required
object

Responses

payment

payOrder

Add payment information to order.

Authorizations:
oauth2-clientoauth2 (ROLE_SUROLE_PAYROLE_PAY_{paymentType})
path Parameters
uid
required
string <uuid>

Order id

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

Responses

paymentUpdate

Update payment information in order.

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

Order id

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

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

object

Additional (extra) data.

Responses

steering

postSteering

Post steering message.

Authorizations:
oauth2-clientoauth2 (ROLE_SUROLE_MANAGERROLE_STEERINGROLE_{venue}_MANAGERROLE_{venue}_STEERING)
header Parameters
x-tenant
string <uuid>
Request Body schema: */*
command
required
string [ 1 .. 32 ] characters [\p{L}\p{N}_.-]+
venue
required
string [ 1 .. 128 ] characters [\p{L}\p{N}_.-]+
object

Responses

fiscal

addFiscalize

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

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

Order id

header Parameters
x-tenant
string <uuid>
x-user
string <uuid>
Request Body schema: */*
timestamp
required
string <date-time>
user
string <uuid>
venue
string[\p{L}\p{N}_.-]+
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)
object
Array of objects (SubTotalDiscount) [ 0 .. 24 ] items
object

Responses

requestFiscal

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

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

Order id

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

Responses

verification

verifyOrderPayment

Verify order by ID if it can be paid.

Authorizations:
path Parameters
uid
required
string <uuid>

Order id

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

Responses

Response samples

Content type
application/json; charset=utf-8
{
  • "result": true,
  • "order": {
    },
  • "codes": [
    ]
}

fetch

verifyOrderPayment

Verify order by ID if it can be paid.

Authorizations:
path Parameters
uid
required
string <uuid>

Order id

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

Responses

Response samples

Content type
application/json; charset=utf-8
{
  • "result": true,
  • "order": {
    },
  • "codes": [
    ]
}

get

Get single order by ID.

Authorizations:
path Parameters
uid
required
string <uuid>

Order id

header Parameters
x-tenant
string <uuid>

Required when using client token

Responses

Response samples

Content type
application/json; charset=utf-8
{
  • "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",
  • "buckets": [
    ],
  • "payments": [
    ],
  • "fiscal": [
    ],
  • "tax": [
    ],
  • "extra": {
    },
  • "traces": {
    },
  • "logs": [
    ],
  • "locked": true,
  • "completed": true,
  • "verified": true,
  • "closed": true
}

exists

Check order existence by ID.

Authorizations:
path Parameters
uid
required
string <uuid>

Order id

header Parameters
x-tenant
string <uuid>

Required when using client token

Responses

Response samples

Content type
application/json; charset=utf-8
{
  • "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",
  • "buckets": [
    ],
  • "payments": [
    ],
  • "fiscal": [
    ],
  • "tax": [
    ],
  • "extra": {
    },
  • "traces": {
    },
  • "logs": [
    ],
  • "locked": true,
  • "completed": true,
  • "verified": true,
  • "closed": true
}

listOpened

Get opened orders for user.

Authorizations:
header Parameters
x-tenant
string <uuid>

Required when using client token

Responses

Response samples

Content type
application/json; charset=utf-8
[
  • {
    }
]

listLast

Get last orders for user (all states included).

Authorizations:
header Parameters
x-tenant
string <uuid>

Required when using client token

Responses

Response samples

Content type
application/json; charset=utf-8
[
  • {
    }
]

listOpenedVenue

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

Authorizations:
oauth2-clientoauth2 (ROLE_SUROLE_MANAGERROLE_ORDERSROLE_KDSROLE_COOKROLE_WAITERROLE_{venue}_MANAGERROLE_{venue}_ORDERSROLE_{venue}_KDSROLE_{venue}_COOKROLE_{venue}_WAITER)
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
application/json; charset=utf-8
[
  • {
    }
]