Skip to main content

Operation Definitions

Enterprise Kitchen API version 2.0 supports calls that expose a RESTful interface. These calls are described in the following:

Endpoints

POST /order

Summary

The send order command allows the integrator to submit a new order to Enterprise Kitchen, as well as update a previously submitted order. The entire order must be included in the payload for each request.

Request Parameters

In

Field Name

Type

Required

Description

header

ACCEPT

string

Yes

This field is used to tell Enterprise Kitchen what type of point of sale (POS) is willing to receive in response

header

CONTENT-TYPE

string

Yes

application/json

header

sec-fingerprint

string

No

This field is use to identify which exact secret key was used to encrypt the current message

header

sec-iv

string

No

A fixed-sized input to a cryptographic algorithm that is required to be random or pseudorandom

body

body

SendOrderRequestBody

Yes

The send order request information

Responses

Code

Description

Schema

200

Success

SendOrderResponseBody

400

Bad Request

A secure communication is configured on Genius Portal, but the request does not have all required fields, such as authorization, IV, or fingerprint

{

errorCode: 1,

message: 'Incorrect security headers'

}

400

Bad Request

An error occurred during the message decryption

{

errorCode: 2,

message: 'Unable to decrypt payload'

}

400

Bad Request

The fingerprint was not found including after updating the site object

{

errorCode: 3,

message: 'Security credential mismatch'

}

500

Internal Server Error

POST /alert

Summary

The send alert command allows the integrator to submit an alert to Enterprise Kitchen. When Enterprise Kitchen receives this call, the corresponding alert appears on the relevant Enterprise Kitchen screens.

Request Parameters

In

Field Name

Type

Required

Description

header

ACCEPT

string

Yes

This field is used to tell Enterprise Kitchen what type of point of sale (POS) is willing to receive in response

header

CONTENT-TYPE

string

Yes

application/json

body

body

SendAlertRequestBody

Yes

The send alert request information

Responses

Code

Description

Schema

200

Success

SendAlertResponseBody

500

Internal Server Error

POST /forecaster

Summary

The send forecast command allows the integrator to submit data on expected needs for the site.

Request Parameters

In

Field Name

Type

Required

Description

header

ACCEPT

string

Yes

This field is used to tell Enterprise Kitchen what type of point of sale (POS) is willing to receive in response

header

CONTENT-TYPE

string

Yes

application/json

body

body

SendForecastRequestBody

Yes

The send alert request information

Responses

Code

Description

Schema

200

Success

400

Bad Request

Invalid Request

GET /schemes

Summary

Use this operation to get the Enterprise Kitchen scheme list. This list contains simplified entities that Enterprise Kitchen has received from Data Management.

Note

This scheme can be sent to one kitchen station and all kitchen stations for the site will be updated. It does not need to be sent to each individual kitchen station.

Responses

Code

Description

Schema

200

A list of Enterprise Kitchen schemes.

The array can be empty if the request was made during a configuration update process or if Enterprise Kitchen has a corrupt configuration.

Message: OK

GetSchemesResponseBody

500

An error occurred during the request processing.

Message: Internal Server Error

GetSchemesErrorResponseBody

GET /schemes/current

Summary

Use this operation to get the current Enterprise Kitchen scheme. This scheme is a simplified entity that Enterprise Kitchen has received from Data Management. This scheme is used by Enterprise Kitchen to establish relations between stations and screens.

Note

This scheme can be sent to one kitchen station and all kitchen stations for the site will be updated. It does not need to be sent to each individual kitchen station.

Responses

Code

Description

Schema

200

Success. The current Enterprise Kitchen scheme.

Message: OK

GetSchemesCurrentResponseBody

404

Failed to get the current scheme.

Message: Not Found

GetSchemesCurrentNotFoundResponseBody

500

An error occurred during the request processing.

Message: Internal Server Error

GetSchemesCurrentErrorResponseBody

POST /schemes/current

Summary

Use this operation to set the current Enterprise Kitchen scheme. Enterprise Kitchen finds the requested scheme in its configuration received from Data Management, and sets it as its current. This scheme is used by Enterprise Kitchen to establish relations between stations and screens.

Note

This scheme can be sent to one kitchen station and all kitchen stations for the site will be updated. It does not need to be sent to each individual kitchen station.

Request Parameters

In

Field Name

Type

Required

Description

body

entity_id

string

Yes

The entity identifier (ID)

Responses

Code

Description

Schema

200

Success. Provides a scheme that is set as current.

Message: OK

None

400

Response is caused by one of the following:

  • Failed to parse received JSON string.

  • Received object has no entity_id field.

  • Received entity_id value is not a string.

Message: Bad Request

PostSchemesCurrentBadRequestResponseBody

404

The received request has the correct format but there is no scheme with this entity_id in Enterprise Kitchen's configuration.

Message: Not Found

PostSchemesCurrentNotFoundResponseBody

500

An error occurred during the request processing.

Message: Internal Server Error

PostSchemesCurrentErrorResponseBody

POST /order/images

Summary

The send image command allows the user to submit a new camera image of specific order to Enterprise Kitchen, as well as update a previously submitted image. When Enterprise Kitchen receives this call, the corresponding order updates an image on the user interface (UI) if the corresponding image template is configured on Data Management for the relevant Enterprise Kitchen screens.

Request Parameters

In

Field Name

Type

Required

Description

header

ACCEPT

string

Yes

This field is used to tell Enterprise Kitchen what type of point of sale (POS) is willing to receive in response

header

CONTENT-TYPE

string

Yes

application/json

header

sec-fingerprint

string

No

This field is use to identify which exact secret key was used to encrypt the current message

header

sec-iv

string

No

A fixed-sized input to a cryptographic algorithm that is required to be random or pseudorandom

body

body

SendImageRequestBody

Yes

The send image request information

Responses

Code

Description

Schema

200

Success

400

Bad Request

A secure communication is configured on Genius Portal, but the request does not have all required fields, such as authorization, IV, or fingerprint

{

errorCode: 1,

message: 'Incorrect security headers'

}

400

Bad Request

An error occurred during the message decryption

{

errorCode: 2,

message: 'Unable to decrypt payload'

}

400

Bad Request

The fingerprint was not found including after updating the site object

{

errorCode: 3,

message: 'Security credential mismatch'

}

500

Internal Server Error

POST /service-points

Summary

Use this command to update service points for a concrete order. The request payload has the same order's fields related to service points and updates them partially, without updating the whole order.

Request Parameters

In

Field Name

Type

Required

Description

header

ACCEPT

string

Yes

This field is used to tell Enterprise Kitchen what type of point of sale (POS) is willing to receive in response

header

CONTENT-TYPE

string

Yes

application/json

header

sec-fingerprint

string

No

This field is use to identify which exact secret key was used to encrypt the current message

header

sec-iv

string

No

A fixed-sized input to a cryptographic algorithm that is required to be random or pseudorandom

body

body

SendServicePointsRequestBody

Yes

The send service points request information

Responses

Code

Description

Schema

200

Success

400

Bad Request

A secure communication is configured on Genius Portal, but the request does not have all required fields, such as authorization, IV, or fingerprint

{

errorCode: 1,

message: 'Incorrect security headers'

}

400

Bad Request

An error occurred during the message decryption

{

errorCode: 2,

message: 'Unable to decrypt payload'

}

400

Bad Request

The fingerprint was not found including after updating the site object

{

errorCode: 3,

message: 'Security credential mismatch'

}

500

Internal Server Error

POST /spooler_ownership

Summary

The send spooler ownership command is served to receive the printer spooler ownership map to define who is responsible for the concrete printer device. This is used when POS terminals owns printers that are set up for Enterprise Kitchen stations. In this case, Enterprise Kitchen checks the ownership map first, then tries to use the printer directly.

Request Parameters

In

Field Name

Type

Required

Description

header

ACCEPT

string

Yes

This field is used to tell Enterprise Kitchen what type of point of sale (POS) is willing to receive in response

header

CONTENT-TYPE

string

Yes

application/json

body

body

SendSpoolerOwnershipRequestBody

Yes

The send alert request information

Responses

Code

Description

Schema

200

Success

500

Internal Server Error

GET /settings

Summary

The get settings command allows the user to get Enterprise Kitchen settings from concrete kitchen stations. When the Service API server receives this call, it responds with actual Enterprise Kitchen settings of the current station.

Request Parameters

In

Field Name

Type

Required

Description

header

ACCEPT

string

Yes

This field is used to tell Enterprise Kitchen what type of point of sale (POS) is willing to receive in response

header

CONTENT-TYPE

string

Yes

application/json

header

site-id

string

Yes

Used to identify the exact site in the request for the Enterprise Kitchen screen settings

Responses

Code

Description

Schema

200

Success.

Message: OK

GetSettingsResponseBody

400

Error happened when the server could not understand the request due to invalid syntax.

Message: Bad Request

403

Error happened when the server received a request that does not contain the header site-id or terminal has another site-id: 'site-id': <string>.

Message: Forbidden

404

Error happened when the current terminal does not have Enterprise Kitchen station settings and the server has set this status code.

Message: Not Found

429

Error happened when the current terminal received too many requests from the same IP.

The response contains the next header with information of the next new open window for requests: 'Retry-After': <number> (in ms).

Message: Too Many Requests

500

Message: Internal Server Error

Data Models

SendOrderRequestBody

Field Name

Type

Required

Description

platform

string

Yes

Identifies the point of sale (POS) platform that is using Enterprise Kitchen. The value is not validated and is used for audits.

Example: XPOS

version

string

No

The version of the JSON format used. This value must be set to 2.0 or Enterprise Kitchen rejects the payload.

orderid

string

Yes

The unique identifier (UID) for the order.

Example: n2jj232j123gjh22h1hh12h13hj

ordernumber

string

Yes

The string representing the user-facing order number.

Example: 300001

orderstate

string

Yes

The POS state of the order.

  • PAID

  • CLOSED

  • DELETED

  • OPEN

  • PENDING

  • SAVED

  • SUSPENDED

  • VOIDED

ordersourceid

string

No

The order source, or channel, from which the order originated such as Mobile, Kiosk, or DoorDash.

Example: xsREG01

destinationlongname

string

Yes

The long version of the destination name.

Example: EAT IN

destinationshortname

string

Yes

The short version of the destination name.

Example: IN

customername

string

Yes

The customer name.

Example: Sarah

exponum

string

No

An alternative identifier for the order that may not be unique during the course of a day, but is unique at the moment. For example, "serving number 32."

Example: 32

total

string

No

The total monetary amount of the order.

Example: $ 23.23

businessdate

date

No

The business date of the order.

Example: 2016-08-17

sentdatetime

date

Yes

The time the order is sent to Enterprise Kitchen from the POS. The value must be in ISO 8601 or comparable format.

Example: 2016-08-17T10:45:00Z

terminalid

string

No

The name or identifier of the terminal sending the order.

Example: Term2

cashiername

string

Yes

The name of the cashier taking payment for the order.

Example: Anna

servername

string

No

The name of the server who is responsible for the order.

Example: Marcus

tablenumber

string

No

The table number or identifier.

Example: T1

tabletentnumber

string

No

The table tent number or identifier.

Example: A

pickupdate

date

No

Determines the time that the order will be picked up by the customer. The value must be in ISO 8601 or comparable format.

Example: 2016-08-17T10:45:00Z

futuresendtime

date

Yes

If specified and if greater than now, Enterprise Kitchen suppresses the display of the order until the current time is >= this futuresenttime value.

item

object

Yes

Contains each item object

cameraimage

string

No

An image in Base64 format.

Example: data:image/jpeg;base64,/9j/4AAQSk...

firstitemadded

string/date

No

Represents the moment when the first item was added to the current order in ISO 8601 compatible format.

Example: 2022-09-20T11:16:34.283Z

assignedfulfillmentpoint

string

No

The service point to which the order has been assigned for fulfillment.

Example: Window 1

assignedfulfillmentpointentityid

string

No

The service point UID to which the order has been assigned for fulfillment.

Example: 89faa828-7b14-4e7b-a2fb-58840fa6b4e3

begin

string/date

No

Indicates when the order was created ISO 8601 compatible format.

Example: 2022-09-20T11:16:34.283Z

creationpoint

string

No

The name of the service point when the order was created.

Example: Window 1

creationpointentityid

string

No

The UID of the service point when the order was created.

Example: 89faa828-7b14-4e7b-a2fb-58840fa6b4e3

currentfulfillmentpoint

string

No

The fulfillment point name where the customer or vehicle associated to the order is detected currently, if applicable.

Example: Window 1

currentfulfillmentpointentityid

string

No

The fulfillment point UID where the customer or vehicle associated to the order is detected currently, if applicable.

Example: 89faa828-7b14-4e7b-a2fb-58840fa6b4e3

currency

string

No

The currency sign.

Example: $

destinationentityid

string

No

Represents the destination UID for the current order.

Example: 89faa828-7b14-4e7b-a2fb-58840fa6b4e3

firstsaved

string/date

No

Indicates when an order was saved for the first time in ISO 8601 compatible format.

Example: 2022-09-20T11:16:34.283Z

fulfillmentstatus

string

No

Shows the order's preparation status. Possible values:

Value

Description

PENDING

The item has not been sent for preparation

SUBMITTED

The item was sent for preparation

READY

The item preparation is complete and available to be served to the customer

ON_HOLD

The item should not be sent for preparation

FULFILLED

The item has been delivered to the customer

orderdiscount

[string]

No

The order discounts.

Example: ["$1 OFF", "FREE"]

orderdiscountentityid

[string]

No

The order discount entity IDs.

Example: ["89faa828-7b14-4e7b-a2fb-58840fa6b4e3", "89faa828-7b14-4e7b-a2fb-58840fa6b4e4"]

orderlifecycle

string

No

Shows the current order's active status. Possible values:

Value

Description

EDITING

The order is active and will likely be changed

IDLE

The order is inactive and not going to change

paidtime

string/date

No

The time when the order was paid in ISO 8601 compatible format.

Example: 2022-09-20T11:16:34.283Z

tabletags

[string]

No

Readable names which identify the area where table is located.

Example: ["LOBBY", "UPSTAIRS"]

tips

number

No

The amount of tips for the order.

Example: 10

vehicleidentifier

string

No

Identifies the vehicle with the type and color.

Example: Blue Wagon

vehicleuniqueid

string

No

The vehicle UID.

Example: 89faa828-7b14-4e7b-a2fb-58840fa6b4e3

parkstatus

string

No

Identify if the customer car was parked. Possible values:

Value

Description

parked

Shows that customer was parked near the Drive Thru window

unparked

Shows that customer is not parked any more

queuetime

string

No

A sorting field, which can be used to have additional sorting criteria on the Enterprise Kitchen side.

Example: 2022-09-20T11:16:34.283Z

item Object

Field Name

Type

Required

Description

item_type

string

Yes

The string representation of the item type. Possible values:

  • standard

  • modifier

  • child

  • comment

  • build

  • build_mix

  • fee

  • placeholder

  • modifier_placeholder

  • gift_card

  • gift_certificate

  • refund

  • retail_item

  • non_inventory_item

quantity

number

Yes

The number of items. The default value is 1.

itemname

string

Yes

The text printed on the screen for this item.

Example: Classic Hamburger

kitchenmessage

string

No

Allows the user to submit messages to the kitchen within the order.

Note

Setting this value overwrites itemname field value.

modifier

boolean

No

A flag that indicates if an item is a modifier of its parent.

Exampled: true or false

buildmodifiers

string

No

Consumes and displays build modifiers within the item on the order

parentserial

string

No

The parent serialnumber of a child item or modifier. For top-level parents, a blank string should be supplied.

serialnumber

number

Yes

The unique identifier (UID) of an item in an order

sequencenumber

number

No

Defines display sequence for items on the screen. The possible values always starts with 1. Enterprise Kitchen will reject the payload if the value for this field is set to 0.

seatnumber

number

No

Identifies multiple containers used to inform kitchen user how to separate items in an order: seat, tray, or table.

Example: 1

itemcategories

array

No

An array of strings used to define item categories.

Example: Salad, Fry, Front Counter

routingcategories

array

No

An array of strings used to define screen routing configuration.

Example: Salad, Grill, Front Counter

discount

boolean

No

A flag that identifies if items are discounts.

Examples: true or false

itemstate

string

Yes

Identifies item state. Possible values:

  • DELETED

  • PENDING

  • PAID

  • SAVED

  • VOIDED

combinedfromorderid

string

No

The ID of the original order if the order item was combined into a new order.

combinedfromitemid

string

No

The ID of the original item if the order item was combined into a new order

splitfromorderid

string

No

The identifier of the original order if the order item was split from an order

splitfromitemid

string

No

The identifier of the original item if the order item was split from an order

split

boolean

No

A flag that indicates whether the item should be ignored because it was split to another order.

Examples: true or false

ingredients

ingredient Array

No

A list of properly formatted objects that represent individual ingredients for the ingredient summary pane

alternativename

string

No

An alternative display name for the system to use only in kitchen displays.

Example: Burger

customseattag

string

No

Defines the segment to which the item belongs. Segments are groups within the order that provide the mechanism of labelling items for a particular reason. For example, if an order is big, segments can be used to group items for every person.

Example: Tray

discounts

ItemDiscount Array

No

The discount properties

entityid

string

No

The UID of the item

fractionalquantity

fractionalquantity Object

No

Represents the part of a whole

fractionalquantitybuildinclusive

fractionalquantity Object

No

Indicates the quantity of build modifiers

itemcount

number

No

Used to count items and display the quantity in the footer

itempriority

number

No

Used to prioritise items between each other

itemsourceid

string

No

Used for filtering order items by the source ID

kitchensenttime

string

No

Represents the timestamp when an item was sent to Enterprise Kitchen the last time in ISO 8601 compatible format. Used to filter out obsolete items after order is purged from Enterprise Kitchen.

alwaysprintinred

boolean

No

A flag that indicates whether to print the order item emphasized on receipts

productid

string

No

The product ID to which the item is bound

quantitybuildinclusive

number

No

Indicates how many items are being considered

Portion

number

No

Data entered is displayed in a special format if this option is enabled

segmentid

string

No

Used to consolidate items for printing receipt by person

unitprice

number

No

Used to consolidate items for printing receipt by unit prices

ingredient Array

Field Name

Type

Required

Description

group

string

Yes

The meta group for this ingredient.

Example: Meat

label

string

Yes

The text displayed in the ingredient summary pane for this item.

Example: Patty

quantity

number

Yes

The number or weight to prepare for this item.

Example: 1

entityid

string

Yes

The unique identifier (UID) for the entity

ItemDiscount Array

Field Name

Type

Description

name

string

The name of the discount

amount

number

The value of discount

fractionalquantity Object

Field Name

Type

Description

numerator

number

Indicates how many item parts are being considered

denominator

number

Indicates the total number of equal parts into which the numerator is divided

SendOrderRequestBody Sample

Minimum Request Body Example

{
        cashiername: 'Anton',
        customername: 'Matvii',
        platform: 'Xenial',
        orderid: '1',
        destinationlongname: '',
        destinationshortname: '',
        ordernumber: '00001',
        orderstate: 'PENDING',
        sentdatetime: "2024-02-09T12:15:28.154Z",
        terminalid: 'Terminal1',
        futuresendtime: "2024-02-09T12:15:28.154Z",
        item: [
            {
                item_type: 'standard',
                quantity: 1,
                itemname: 'Classic Hamburger',
                serialnumber: '1',
                itemstate: 'PENDING'
            }
        ]
    }

Advanced Request Body Example

{
  "orderid": "857e8c2e-872e-4812-9de0-1a7bf93d1c1c",
  "ordernumber": "9850134",
  "orderstate": "SAVED",
  "ordersourceid": "InStore",
  "destinationshortname": "OUT",
  "destinationentityid": "58ff21b2f7f03e0001024872",
  "customername": "",
  "businessdate": "2024-09-02T00:00:00.000Z",
  "tabletentnumber": "",
  "tablenumber": "",
  "exponum": "985034",
  "total": "$22.29",
  "servername": "ServerName1",
  "firstitemadded": "2024-09-02T16:20:54.597Z",
  "firstsaved": "2024-09-02T16:22:52.158Z",
  "begin": "2024-09-02T16:20:54.595Z",
  "orderdiscount": [],
  "orderdiscountentityid": [],
  "item": [
    {
      "productid": "1210020",
      "entityid": "6478a645e11eafc7019242f3",
      "parentserial": "",
      "sequencenumber": 1,
      "serialnumber": "4a91e320-b2b2-41a7-bd64-5c0d82de0484",
      "itemname": "Latte1",
      "itempriority": 10,
      "itemcategories": [
        "Hot Coffee",
        "Espresso"
      ],
      "alternativename": "Latte1",
      "quantity": 1,
      "recipename": "Latte1",
      "itemstate": "PENDING",
      "routingcategories": ["Hot Drinks"],
      "item_type": "standard",
      "fractionalquantity": { "numerator": 1, "denominator": 1 },
      "kitchensenttime": "2024-09-02T16:20:57.782Z",
      "discount": false,
      "modifier": false,
      "seatnumber": 1,
      "customseattag": "tray 1",
      "ingredients": [],
      "itemcount": 1
    },
    {
      "productid": "1210038",
      "entityid": "6478ad35e11eafc701924560",
      "parentserial": "",
      "sequencenumber": 2,
      "serialnumber": "1cf74565-d955-422c-b28e-70f2335a1d27",
      "itemname": "Latte2",
      "itempriority": 10,
      "itemcategories": [
        "Cold Coffee",
        "Medium Coffee"
      ],
      "alternativename": "Latte2",
      "quantity": 1,
      "recipename": "Latte2",
      "itemstate": "PENDING",
      "routingcategories": ["Cold Drinks"],
      "item_type": "standard",
      "fractionalquantity": { "numerator": 1, "denominator": 1 },
      "kitchensenttime": "2024-09-02T16:21:09.423Z",
      "discount": false,
      "modifier": false,
      "seatnumber": 1,
      "customseattag": "tray 1",
      "ingredients": [],
      "itemcount": 1
    },
    {
      "productid": "2110001",
      "entityid": "63e0d3fcf27cae2748c3ec1d",
      "parentserial": "",
      "sequencenumber": 3,
      "serialnumber": "dbac5370-6374-4473-a1ec-be6693cfa4ba",
      "itemname": "McMuffin",
      "itempriority": 50,
      "itemcategories": ["McMuffin"],
      "alternativename": "McMuffin",
      "quantity": 1,
      "recipename": "McMuffin",
      "itemstate": "PENDING",
      "routingcategories": ["Kitchen"],
      "item_type": "standard",
      "fractionalquantity": { "numerator": 1, "denominator": 1 },
      "kitchensenttime": "2024-09-02T16:21:13.765Z",
      "discount": false,
      "modifier": false,
      "seatnumber": 1,
      "customseattag": "tray 1",
      "ingredients": [
        {
          "label": "Egg",
          "entityid": "63eb847cdbde684bf91a4a12",
          "quantity": 1,
          "group": ""
        }
      ],
      "itemcount": 1
    },
    {
      "productid": "comment_16",
      "entityid": "58f9198f895beeed235bb559",
      "parentserial": "dbac5370-6374-4473-a1ec-be6693cfa4ba",
      "sequencenumber": 4,
      "serialnumber": "ad62e804-7c0b-4e6d-9777-d2431415a30a",
      "itemname": "This is item level comment",
      "itemcategories": [],
      "alternativename": "This is item level comment",
      "quantity": 1,
      "recipename": "This is item level comment",
      "itemstate": "PENDING",
      "kitchenmessage": "This is item level comment",
      "item_type": "comment",
      "fractionalquantity": { "numerator": 1, "denominator": 1 },
      "discount": false,
      "modifier": false,
      "ingredients": [],
      "itemcount": 1
    },
    {
      "productid": "3120002",
      "entityid": "647f901286fd726f19ef43a5",
      "parentserial": "",
      "sequencenumber": 5,
      "serialnumber": "991a394e-347a-44fd-87ac-aa154ad5122e",
      "itemname": "Cookie1",
      "itempriority": 80,
      "itemcategories": ["Snacks", "Dessert"],
      "alternativename": "Cookie1",
      "quantity": 1,
      "recipename": "Cookie1",
      "itemstate": "PENDING",
      "routingcategories": ["Snacks"],
      "item_type": "standard",
      "fractionalquantity": { "numerator": 1, "denominator": 1 },
      "kitchensenttime": "2024-09-02T16:22:39.455Z",
      "discount": false,
      "modifier": false,
      "seatnumber": 2,
      "customseattag": "tray 2",
      "ingredients": [],
      "itemcount": 1
    },
    {
      "productid": "3230001",
      "entityid": "63e0d4a7f27cae2748c3ec83",
      "parentserial": "",
      "sequencenumber": 6,
      "serialnumber": "54e3f69b-6e56-4056-a268-74ee2b1bc657",
      "itemname": "Cone",
      "itempriority": 100,
      "itemcategories": ["Ice Cream", "Dessert"],
      "alternativename": "Cone",
      "quantity": 1,
      "recipename": "Cone",
      "itemstate": "PENDING",
      "routingcategories": ["Cones"],
      "item_type": "standard",
      "fractionalquantity": { "numerator": 1, "denominator": 1 },
      "kitchensenttime": "2024-09-02T16:22:37.042Z",
      "discount": false,
      "modifier": false,
      "seatnumber": 1,
      "customseattag": "tray 1",
      "ingredients": [],
      "itemcount": 1
    },
    {
      "productid": "97_add",
      "entityid": "657cce78292045bfccdadbf2",
      "parentserial": "54e3f69b-6e56-4056-a268-74ee2b1bc657",
      "sequencenumber": 7,
      "serialnumber": "530e1448-72ab-4c88-8eda-a941b68f5aa2",
      "itemname": "Add In A Cup",
      "itemcategories": ["Customizations"],
      "alternativename": "Add In A Cup",
      "quantity": 1,
      "recipename": "Add In A Cup",
      "itemstate": "PENDING",
      "item_type": "modifier",
      "fractionalquantity": { "numerator": 1, "denominator": 1 },
      "force_quantity_display": false,
      "quantitybuildinclusive": 1,
      "fractionalquantitybuildinclusive": { "numerator": 1, "denominator": 1 },
      "discount": false,
      "modifier": true,
      "ingredients": [],
      "itemcount": 0
    },
    {
      "productid": "3230002",
      "entityid": "63e0d4d9f27cae2748c3ecac",
      "parentserial": "",
      "sequencenumber": 8,
      "serialnumber": "806d6bb6-acbb-4720-9882-e324f5bd20eb",
      "itemname": "Chocolate Cone",
      "itempriority": 100,
      "itemcategories": ["Ice Cream", "Dessert"],
      "alternativename": "Chocolate Cone",
      "quantity": 1,
      "recipename": "Chocolate Cone",
      "itemstate": "PENDING",
      "routingcategories": ["Cones"],
      "item_type": "standard",
      "fractionalquantity": { "numerator": 1, "denominator": 1 },
      "discount": false,
      "modifier": false,
      "seatnumber": 2,
      "customseattag": "tray 2",
      "ingredients": [],
      "itemcount": 1
    },
    {
      "productid": "97_add",
      "entityid": "657cce78292045bfccdadbf2",
      "parentserial": "806d6bb6-acbb-4720-9882-e324f5bd20eb",
      "sequencenumber": 9,
      "serialnumber": "3a01283b-6965-4baf-84f1-dc7f66293fd0",
      "itemname": "Add In A Cup",
      "itemcategories": ["Customizations"],
      "alternativename": "Add In A Cup",
      "quantity": 1,
      "recipename": "Add In A Cup",
      "itemstate": "PENDING",
      "item_type": "modifier",
      "fractionalquantity": { "numerator": 1, "denominator": 1 },
      "force_quantity_display": false,
      "quantitybuildinclusive": 1,
      "fractionalquantitybuildinclusive": { "numerator": 1, "denominator": 1 },
      "discount": false,
      "modifier": true,
      "ingredients": [],
      "itemcount": 0
    },
    {
      "productid": "",
      "parentserial": "",
      "sequencenumber": 10,
      "serialnumber": "857e8c2e-872e-4812-9de0-1a7bf93d1c1c",
      "itemname": "",
      "alternativename": "",
      "quantity": 1,
      "recipename": "",
      "itemstate": "PENDING",
      "kitchenmessage": "This is order level comment",
      "discount": false,
      "modifier": false,
      "ingredients": [],
      "itemcount": 0
    }
  ],
  "cashiername": "",
  "terminalid": "9850",
  "target": "Xenial",
  "platform": "Xenial",
  "version": "2.0",
  "destination": 1,
  "orderlifecycle": "IDLE",
  "tips": 0,
  "currency": "$",
  "destinationlongname": "TAKE OUT",
  "sentdatetime": "2024-09-02T16:22:52.198Z",
  "futuresendtime": "2024-09-02T16:22:52.198Z",
  "fulfillmentstatus": "PENDING"
}

SendOrderResponseBody

Field Name

Type

Description

result

number

Error code values:

  • 0 indicates success

  • 1 indicates error

See resultmessage below.

length

number

The number of characters in the original message

resultmessage

string

The text description of the request status:

  • ok for success

  • JSONLINT message for error, indicating the line number and column for the source of the problem

SendOrderResponseBody Sample

{
	"result" : 0,
	"length" : 731,
	"resultmessage": "ok"
}

SendAlertRequestBody

Field Name

Type

Required

Description

message

string

Yes

The message that Enterprise Kitchen displays on the user interface (UI) for this alert.

Example: Printer is OFFLINE

SendAlertRequestBody Sample

{
	"target": "kvs",
	"platform": "iOrder",
	"version": "2.0",
	"source": "Kiosk1",
	"message": "Printer is OFFLINE"
}

SendAlertResponseBody

Field Name

Type

Description

result

number

Error code values:

  • 0 indicates success

  • 1 indicates error

See resultmessage below.

length

number

The number of characters in the original message

resultmessage

string

The text description of the request status:

  • ok for success

  • JSONLINT message for error, indicating the line number and column for the source of the problem

SendAlertResponseBody Sample

{
	"result" : 0,
	"length" : 731,
	"resultmessage": "ok"
}

SendForecastRequestBody

Field Name

Type

Required

Description

data

ForecastProduct Array

Yes

Holds forecast data

ForecastProduct Array

Field Name

Type

Required

Description

name

string

Yes

The product name

date

string

Yes

The date when data should be provided

tag

string

Yes

The Enterprise Kitchen station tag

quantities

[number]

Yes

The forecast intervals

SendForecastRequestBody Sample

{
	"data": [
		{
		"name" : "Black Bean",
        "quantities":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,
21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,
46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,
71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,
96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,
116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,
135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,
154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,
173,174,175,176,177,178,179],
        "date": "2022-03-19",
        "tag" : "kitchen_device"
        },
		{
        "name" : "Rice",
        "quantities":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,
21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,
46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,
71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,
96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,
116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,
135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,
154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,
173,174,175,176,177,178,179],
        "date": "2022-03-19",
        "tag" : "kitchen_device"
        },
        {
        "name" : "Fake Pork",
        "quantities":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,
21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,
46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,
71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,
96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,
116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,
135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,
154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,
173,174,175,176,177,178,179],
        "date": "2022-03-19",
        "tag" : "kitchen_device"
        }
	]
}

SendForecastResponseBody

Field Name

Type

Description

result

number

Error code values:

  • 0 indicates success

  • 1 indicates error

See resultmessage below.

length

number

The number of characters in the original message

resultmessage

string

The text description of the request status:

  • ok for success

  • JSONLINT message for error, indicating the line number and column for the source of the problem

SendForecastResponseBody Sample

{
	"result" : 0,
	"length" : 731,
	"resultmessage": "ok"
}

GetSchemesResponseBody

Field Name

Type

Description

list

array

The Enterprise Kitchen scheme list

name

string

The scheme name

entity_id

string

The entity identifier (ID)

GetSchemesResponseBody Sample

{
    "list": [
        {
            "name": "default",
            "entity_id": "5a15836d3fdde673a63e7ce7"
        },
        {
            "name": "New Scheme",
            "entity_id": "66f67e2819311469357631ad"
        }
   ]
}

GetSchemesErrorResponseBody

Field Name

Type

Description

error

object

The error response information

code

string

The error code

message

string

The error message

GetSchemesErrorResponseBody Sample

{
    "error": {
        "code": "INTERNAL_ERROR",
        "message": "Internal server error occurred"
    }
}

GetSchemesCurrentResponseBody

Field Name

Type

Description

name

string

The current scheme name

entity_id

string

The entity identifier (ID)

GetSchemesCurrentResponseBody Sample

{
    "name": "default",
    "entity_id": "5a15836d3fdde673a63e7ce7"
}

GetSchemesCurrentNotFoundResponseBody

Field Name

Type

Description

error

object

The error response information

code

string

The error code

message

string

The error message

GetSchemesCurrentNotFoundResponseBody Sample

{
    "error": {
        "code": "RESOURCE_NOT_FOUND",
        "message": "The requested resource was not found"
    }
}

GetSchemesCurrentErrorResponseBody

Field Name

Type

Description

error

object

The error response information

code

string

The error code

message

string

The error message

GetSchemeCurrentErrorResponseBody Sample

{
    "error": {
        "code": "INTERNAL_ERROR",
        "message": "Internal server error occurred"
    }
}

PostSchemesCurrentBadRequestResponseBody

Field Name

Type

Description

error

object

The error response information

code

string

The error code

message

string

The error message

PostSchemesCurrentBadRequestResponseBody Sample

{
    "error": {
        "code": "BAD_REQUEST",
        "message": "Bad request. Incorrect scheme format was received"
    }
}

PostSchemesCurrentNotFoundResponseBody

Field Name

Type

Description

error

object

The error response information

code

string

The error code

message

string

The error message

PostSchemesCurrentNotFoundResponseBody Sample

{
    "error": {
        "code": "RESOURCE_NOT_FOUND",
        "message": "The requested resource was not found. 
There is no scheme with such entity_id in the configuration"
    }
}

PostSchemesCurrentErrorResponseBody

Field Name

Type

Description

error

object

The error response information

code

string

The error code

message

string

The error message

PostSchemesCurrentErrorResponseBody Sample

{
    "error": {
        "code": "INTERNAL_ERROR",
        "message": "Internal server error occurred"
    }
}

SendImageRequestBody

Field Name

Type

Required

Description

orderid

string

Yes

The unique identifier (UID) for the order

cameraimage

string

Yes

The image in Base64 format

SendServicePointsRequestBody

Field Name

Type

Required

Description

orderid

string

Yes

The unique identifier (UID) for the order.

Example: 89faa828-7b14-4e7b-a2fb-58840fa6b4e3

assignedfulfillmentpoint

string

No

The service point to which the order has been assigned for fulfillment.

Example: Window 1

assignedfulfillmentpointentityid

string

No

The service point UID to which the order has been assigned for fulfillment.

Example: 89faa828-7b14-4e7b-a2fb-58840fa6b4e3

currentfulfillmentpoint

string

No

The fulfillment point name where the customer or vehicle associated to the order is detected currently, if there is one.

Example: Window 1

currentfulfillmentpointentityid

string

No

The fulfillment point UID where the customer or vehicle associated to the order is detected currently, if there is one.

Example: 89faa828-7b14-4e7b-a2fb-58840fa6b4e3

SendServicePointsRequestBody Sample

{
	"orderid": "89faa828-7b14-4e7b-a2fb-58840fa6b4e3",
	"assignedfulfillmentpoint": "Service Window 4",
	"assignedfulfillmentpointentityid": "54caa828-7b14-4e7b-a2fb-58840fa6b789",
	"currentfulfillmentpoint": "Service Window 2",
	"currentfulfillmentpointentityid": "3c987828-7b14-4e7b-a2fb-58840fa6baaa"
}

SendSpoolerOwnershipRequestBody

Field Name

Type

Required

Description

_id

string

Yes

The unique identifier (UID) for the spooler

isSpoolerEnabled

boolean

Yes

A flag that indicates if the spooler is enabled

ownershipMap

SpoolerOwnership Array

Yes

A list of IP addresses and printer IDs. Represents correspondence between the printers and their owners, the point of sale (POS) terminals.

SpoolerOwnership Array

Field Name

Type

Required

Description

ipAddress

string

Yes

The point of sale (POS) terminal, represented as the IP address of the device where it is run

printerId

string

Yes

The unique identifier (UID) of the printer

SendSpoolerOwnershipRequestBody Sample

{
	"_id": "3f4bb849-84f2-42f7-aaee-110a1f0c4df8",
	"isSpoolerEnabled": true,
	"ownershipMap": [
		{"ipAddress": "192.168.1.1", "printerId": 
"8d2889fc-120a-48ec-a67e-a454d8e565cf"},
		{"ipAddress": "192.168.1.2", "printerId": 
"96dc9824-0110-49b2-af0b-012e82fb8360"},
		{"ipAddress": "192.168.1.3", "printerId": 
"ba7a5aea-6acb-47cf-8dbd-fbcf22705250"}
	]
}

GetSettingsResponseBody

Field Name

Type

Description

stationId

string

The current terminal identifier (ID)

webSocketPort

number

Specifies the network port the Enterprise Kitchen station WebSocket server is listening to for the request

httpPort

number

Specifies the network port the Enterprise Kitchen station HTTP server is listening to for the HTTP request

siteId

string

The ID of the site to which the kitchen station belongs

kitchenUrl

string

Represented as an IP address of the concrete device in the network, where Enterprise Kitchen is run

lastUpdatedTime

string

The last updated time for Enterprise Kitchen screen settings in ISO format