EPOS Data API (1.0)
Download OpenAPI specification:Download
A proposal Open API spec for OMNI ordering system for a single Location/Account.
Core modules: - Tables - Areas - Orders - Parties - Reservations
API modules can generally be implemented independently, with a small number of interdependent fields affected by other modules (for example, if Parties are implemented & the information is known, a partyId
should be attached to an Order's dineInDetails
).
List areas
Retrieves all areas that are being served. Capability: ListAreas
Responses
Response Schema: application/json
id required | string Unique ID of the area |
name required | string User friendly name of the area |
waiterIds | Array of strings |
Request samples
- Python + Python3
- Node + Request
- Shell + Curl
- Php + Curl
- Csharp + Restsharp
- Python + Requests
- Javascript + Jquery
- Javascript + Xhr
- Swift + Nsurlsession
- Ruby + Native
- Go + Native
- C + Libcurl
- Powershell + Webrequest
import http.client conn = http.client.HTTPSConnection("virtserver.swaggerhub.com") conn.request("GET", "/DojoPaymentProducts/EPOS-Gateway-API/1.0/v1/areas") res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
Response samples
- 200
- 4XX
- 5XX
[- {
- "id": "area_1234",
- "name": "downstairs"
}
]
Create an order
Create an order on the EPOS. Capability: CreateOrder
Request Body schema: application/jsonrequired
required | Array of objects The line items purchased by the customer. |
note | string Order note |
object | |
Array of objects List of discounts applied to the order | |
required | object |
Array of objects Taxes applied to the order | |
object | |
reference | string Human readable order ID |
dojoOrderId required | string The Dojo API order ID |
required | Array of objects |
required | Dine In (object) or Collection (object) Details about the order including the type and the details. |
displayName | string The display name of the order |
Responses
Response Schema: application/json
id required | string Order ID |
Array of objects The line items purchased by the customer. | |
note | string |
object | |
Array of objects List of discounts applied to the order | |
Array of objects Taxes applied to the order | |
status required | string Enum: "New" "Submitted" "Confirmed" "Accepted" "Preparing" "Prepared" "Ready" "Finalized" "Canceled" "Failed" |
createdAt | string <date-time> The creation date, in ISO 8601 UTC format. |
updatedAt | string <date-time> The timestamp of the update date, in ISO 8601 UTC format. |
object | |
Array of objects | |
payable | boolean Flag to indicate if the order is able to be paid for. |
object | |
object | |
reference | string Human readable order ID |
object | |
required | Dine In (object) or Collection (object) Details about the order including the type and the details. |
displayName | string The display name of the order |
Request samples
- Payload
- Python + Python3
- Node + Request
- Shell + Curl
- Php + Curl
- Csharp + Restsharp
- Python + Requests
- Javascript + Jquery
- Javascript + Xhr
- Swift + Nsurlsession
- Ruby + Native
- Go + Native
- C + Libcurl
- Powershell + Webrequest
{- "items": [
- {
- "amountPerItem": {
- "value": 1000,
- "currencyCode": "GBP"
}, - "quantity": 0,
- "name": "string",
- "plu": "string"
}
], - "totalAmount": {
- "value": 1000,
- "currencyCode": "GBP"
}, - "dojoOrderId": "string",
- "payments": [
- {
- "paidAmount": {
- "value": 1000,
- "currencyCode": "GBP"
}
}
], - "details": {
- "orderType": "DineIn"
}
}
Response samples
- 200
- 4XX
- 5XX
{- "id": "string",
- "items": [
- {
- "amountPerItem": {
- "value": 1000,
- "currencyCode": "GBP"
}, - "quantity": 0,
- "note": "string",
- "name": "string",
- "plu": "string",
- "subItems": [
- {
- "amountPerItem": {
- "value": 1000,
- "currencyCode": "GBP"
}, - "quantity": 0,
- "note": "string",
- "name": "string",
- "plu": "string",
- "modifiers": [
- {
- "name": "string",
- "quantity": 0,
- "amountPerModifier": {
- "value": 1000,
- "currencyCode": "GBP"
}, - "plu": "string"
}
]
}
], - "modifiers": [
- {
- "name": "string",
- "quantity": 0,
- "amountPerModifier": {
- "value": 1000,
- "currencyCode": "GBP"
}, - "plu": "string"
}
]
}
], - "note": "string",
- "customer": {
- "emailAddress": "support@dojo.com",
- "phoneNumber": 448000443550
}, - "discounts": [
- {
- "isPercentage": true,
- "provider": "Order & Pay app",
- "name": "Spring Sale 25% off",
- "discountCode": "SPRING2023",
- "discountReference": "123456",
- "affectedPlu": "item_123",
- "value": 2500,
- "amount": 500
}
], - "taxLines": [
- {
- "id": "string",
- "name": "string",
- "affectedPlu": "string",
- "amountPercentage": 0,
- "amountTotal": {
- "value": 1000,
- "currencyCode": "GBP"
}
}
], - "status": "New",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "totalAmount": {
- "value": 1000,
- "currencyCode": "GBP"
}, - "payments": [
- {
- "paymentIntentId": "string",
- "paidAmount": {
- "value": 1000,
- "currencyCode": "GBP"
}, - "tipsAmount": {
- "value": 1000,
- "currencyCode": "GBP"
}
}
], - "payable": true,
- "paidAmount": {
- "value": 1000,
- "currencyCode": "GBP"
}, - "serviceChargeAmount": {
- "value": 1000,
- "currencyCode": "GBP"
}, - "reference": "string",
- "tipsAmount": {
- "value": 1000,
- "currencyCode": "GBP"
}, - "details": {
- "dineIn": {
- "tableId": "string",
- "waiterId": "string",
- "partyId": "string",
- "reservationId": "string",
- "readyAt": "2019-08-24T14:15:22Z"
}, - "collection": {
- "collectionTime": "2024-02-21T14:39:21.6050276Z",
- "asap": false
}, - "orderType": "DineIn"
}, - "displayName": "string"
}
Get an order by id
Retrieve details of an order using the order ID. Capability: GetOrderById
path Parameters
orderId required | string |
Responses
Response Schema: application/json
id required | string Order ID |
Array of objects The line items purchased by the customer. | |
note | string |
object | |
Array of objects List of discounts applied to the order | |
Array of objects Taxes applied to the order | |
status required | string Enum: "New" "Submitted" "Confirmed" "Accepted" "Preparing" "Prepared" "Ready" "Finalized" "Canceled" "Failed" |
createdAt | string <date-time> The creation date, in ISO 8601 UTC format. |
updatedAt | string <date-time> The timestamp of the update date, in ISO 8601 UTC format. |
object | |
Array of objects | |
payable | boolean Flag to indicate if the order is able to be paid for. |
object | |
object | |
reference | string Human readable order ID |
object | |
required | Dine In (object) or Collection (object) Details about the order including the type and the details. |
displayName | string The display name of the order |
Request samples
- Python + Python3
- Node + Request
- Shell + Curl
- Php + Curl
- Csharp + Restsharp
- Python + Requests
- Javascript + Jquery
- Javascript + Xhr
- Swift + Nsurlsession
- Ruby + Native
- Go + Native
- C + Libcurl
- Powershell + Webrequest
import http.client conn = http.client.HTTPSConnection("virtserver.swaggerhub.com") conn.request("GET", "/DojoPaymentProducts/EPOS-Gateway-API/1.0/v1/orders/%7BorderId%7D") res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
Response samples
- 200
- 4XX
- 5XX
{- "id": "string",
- "items": [
- {
- "amountPerItem": {
- "value": 1000,
- "currencyCode": "GBP"
}, - "quantity": 0,
- "note": "string",
- "name": "string",
- "plu": "string",
- "subItems": [
- {
- "amountPerItem": {
- "value": 1000,
- "currencyCode": "GBP"
}, - "quantity": 0,
- "note": "string",
- "name": "string",
- "plu": "string",
- "modifiers": [
- {
- "name": "string",
- "quantity": 0,
- "amountPerModifier": {
- "value": 1000,
- "currencyCode": "GBP"
}, - "plu": "string"
}
]
}
], - "modifiers": [
- {
- "name": "string",
- "quantity": 0,
- "amountPerModifier": {
- "value": 1000,
- "currencyCode": "GBP"
}, - "plu": "string"
}
]
}
], - "note": "string",
- "customer": {
- "emailAddress": "support@dojo.com",
- "phoneNumber": 448000443550
}, - "discounts": [
- {
- "isPercentage": true,
- "provider": "Order & Pay app",
- "name": "Spring Sale 25% off",
- "discountCode": "SPRING2023",
- "discountReference": "123456",
- "affectedPlu": "item_123",
- "value": 2500,
- "amount": 500
}
], - "taxLines": [
- {
- "id": "string",
- "name": "string",
- "affectedPlu": "string",
- "amountPercentage": 0,
- "amountTotal": {
- "value": 1000,
- "currencyCode": "GBP"
}
}
], - "status": "New",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "totalAmount": {
- "value": 1000,
- "currencyCode": "GBP"
}, - "payments": [
- {
- "paymentIntentId": "string",
- "paidAmount": {
- "value": 1000,
- "currencyCode": "GBP"
}, - "tipsAmount": {
- "value": 1000,
- "currencyCode": "GBP"
}
}
], - "payable": true,
- "paidAmount": {
- "value": 1000,
- "currencyCode": "GBP"
}, - "serviceChargeAmount": {
- "value": 1000,
- "currencyCode": "GBP"
}, - "reference": "string",
- "tipsAmount": {
- "value": 1000,
- "currencyCode": "GBP"
}, - "details": {
- "dineIn": {
- "tableId": "string",
- "waiterId": "string",
- "partyId": "string",
- "reservationId": "string",
- "readyAt": "2019-08-24T14:15:22Z"
}, - "collection": {
- "collectionTime": "2024-02-21T14:39:21.6050276Z",
- "asap": false
}, - "orderType": "DineIn"
}, - "displayName": "string"
}
Cancel an order by id
Cancels an order by ID. Capability: CancelOrderById
path Parameters
orderId required | string |
Responses
Response Schema: application/json
id required | string Order ID |
Array of objects The line items purchased by the customer. | |
note | string |
object | |
Array of objects List of discounts applied to the order | |
Array of objects Taxes applied to the order | |
status required | string Enum: "New" "Submitted" "Confirmed" "Accepted" "Preparing" "Prepared" "Ready" "Finalized" "Canceled" "Failed" |
createdAt | string <date-time> The creation date, in ISO 8601 UTC format. |
updatedAt | string <date-time> The timestamp of the update date, in ISO 8601 UTC format. |
object | |
Array of objects | |
payable | boolean Flag to indicate if the order is able to be paid for. |
object | |
object | |
reference | string Human readable order ID |
object | |
required | Dine In (object) or Collection (object) Details about the order including the type and the details. |
displayName | string The display name of the order |
Request samples
- Python + Python3
- Node + Request
- Shell + Curl
- Php + Curl
- Csharp + Restsharp
- Python + Requests
- Javascript + Jquery
- Javascript + Xhr
- Swift + Nsurlsession
- Ruby + Native
- Go + Native
- C + Libcurl
- Powershell + Webrequest
import http.client conn = http.client.HTTPSConnection("virtserver.swaggerhub.com") conn.request("DELETE", "/DojoPaymentProducts/EPOS-Gateway-API/1.0/v1/orders/%7BorderId%7D") res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
Response samples
- 200
- 4XX
- 5XX
{- "id": "string",
- "items": [
- {
- "amountPerItem": {
- "value": 1000,
- "currencyCode": "GBP"
}, - "quantity": 0,
- "note": "string",
- "name": "string",
- "plu": "string",
- "subItems": [
- {
- "amountPerItem": {
- "value": 1000,
- "currencyCode": "GBP"
}, - "quantity": 0,
- "note": "string",
- "name": "string",
- "plu": "string",
- "modifiers": [
- {
- "name": "string",
- "quantity": 0,
- "amountPerModifier": {
- "value": 1000,
- "currencyCode": "GBP"
}, - "plu": "string"
}
]
}
], - "modifiers": [
- {
- "name": "string",
- "quantity": 0,
- "amountPerModifier": {
- "value": 1000,
- "currencyCode": "GBP"
}, - "plu": "string"
}
]
}
], - "note": "string",
- "customer": {
- "emailAddress": "support@dojo.com",
- "phoneNumber": 448000443550
}, - "discounts": [
- {
- "isPercentage": true,
- "provider": "Order & Pay app",
- "name": "Spring Sale 25% off",
- "discountCode": "SPRING2023",
- "discountReference": "123456",
- "affectedPlu": "item_123",
- "value": 2500,
- "amount": 500
}
], - "taxLines": [
- {
- "id": "string",
- "name": "string",
- "affectedPlu": "string",
- "amountPercentage": 0,
- "amountTotal": {
- "value": 1000,
- "currencyCode": "GBP"
}
}
], - "status": "New",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "totalAmount": {
- "value": 1000,
- "currencyCode": "GBP"
}, - "payments": [
- {
- "paymentIntentId": "string",
- "paidAmount": {
- "value": 1000,
- "currencyCode": "GBP"
}, - "tipsAmount": {
- "value": 1000,
- "currencyCode": "GBP"
}
}
], - "payable": true,
- "paidAmount": {
- "value": 1000,
- "currencyCode": "GBP"
}, - "serviceChargeAmount": {
- "value": 1000,
- "currencyCode": "GBP"
}, - "reference": "string",
- "tipsAmount": {
- "value": 1000,
- "currencyCode": "GBP"
}, - "details": {
- "dineIn": {
- "tableId": "string",
- "waiterId": "string",
- "partyId": "string",
- "reservationId": "string",
- "readyAt": "2019-08-24T14:15:22Z"
}, - "collection": {
- "collectionTime": "2024-02-21T14:39:21.6050276Z",
- "asap": false
}, - "orderType": "DineIn"
}, - "displayName": "string"
}
Search orders
Searches through the orders on the EPOS. Capability: SearchOrders
Request Body schema: application/jsonrequired
object Details for searching order-in orders | |
payableOnly | boolean Return only orders where payable=true |
object A cursor for use in pagination. |
Responses
Response Schema: application/json
Array of objects | |
before | string |
after | string |
Request samples
- Payload
- Python + Python3
- Node + Request
- Shell + Curl
- Php + Curl
- Csharp + Restsharp
- Python + Requests
- Javascript + Jquery
- Javascript + Xhr
- Swift + Nsurlsession
- Ruby + Native
- Go + Native
- C + Libcurl
- Powershell + Webrequest
{ }
Response samples
- 200
- 4XX
- 5XX
{- "data": [
- {
- "id": "string",
- "items": [
- {
- "amountPerItem": {
- "value": 1000,
- "currencyCode": "GBP"
}, - "quantity": 0,
- "note": "string",
- "name": "string",
- "plu": "string",
- "subItems": [
- {
- "amountPerItem": {
- "value": 1000,
- "currencyCode": "GBP"
}, - "quantity": 0,
- "note": "string",
- "name": "string",
- "plu": "string",
- "modifiers": [
- {
- "name": "string",
- "quantity": 0,
- "amountPerModifier": {
- "value": 1000,
- "currencyCode": "GBP"
}, - "plu": "string"
}
]
}
], - "modifiers": [
- {
- "name": "string",
- "quantity": 0,
- "amountPerModifier": {
- "value": 1000,
- "currencyCode": "GBP"
}, - "plu": "string"
}
]
}
], - "note": "string",
- "customer": {
- "emailAddress": "support@dojo.com",
- "phoneNumber": 448000443550
}, - "discounts": [
- {
- "isPercentage": true,
- "provider": "Order & Pay app",
- "name": "Spring Sale 25% off",
- "discountCode": "SPRING2023",
- "discountReference": "123456",
- "affectedPlu": "item_123",
- "value": 2500,
- "amount": 500
}
], - "taxLines": [
- {
- "id": "string",
- "name": "string",
- "affectedPlu": "string",
- "amountPercentage": 0,
- "amountTotal": {
- "value": 1000,
- "currencyCode": "GBP"
}
}
], - "status": "New",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "totalAmount": {
- "value": 1000,
- "currencyCode": "GBP"
}, - "payments": [
- {
- "paymentIntentId": "string",
- "paidAmount": {
- "value": 1000,
- "currencyCode": "GBP"
}, - "tipsAmount": {
- "value": 1000,
- "currencyCode": "GBP"
}
}
], - "payable": true,
- "paidAmount": {
- "value": 1000,
- "currencyCode": "GBP"
}, - "serviceChargeAmount": {
- "value": 1000,
- "currencyCode": "GBP"
}, - "reference": "string",
- "tipsAmount": {
- "value": 1000,
- "currencyCode": "GBP"
}, - "details": {
- "dineIn": {
- "tableId": "string",
- "waiterId": "string",
- "partyId": "string",
- "reservationId": "string",
- "readyAt": "2019-08-24T14:15:22Z"
}, - "collection": {
- "collectionTime": "2024-02-21T14:39:21.6050276Z",
- "asap": false
}, - "orderType": "DineIn"
}, - "displayName": "string"
}
], - "before": "string",
- "after": "string"
}
Create party
Create a new party in the POS domain. Capability: CreateParty
Request Body schema: application/json
name | string |
covers | integer |
tableIds required | Array of strings non-empty |
status | string |
startTime required | string <date-time> When the party was seated. ISO8601 formatted, ms precise. |
expectedEndTime | string <date-time> When the party is expected to leave, if known. ISO8601 formatted, ms precise. |
hostNotes | string |
guestRequests | string |
reservationId | string |
object Information about payments captured pre-arrival to secure the reservation. | |
dojoPartyId required | string |
dojoReservationId | string |
Responses
Response Schema: application/json
id required | string The EPOS-internal ID for this party. Must be globally unique within the EPOS' domain. |
name | string The human-readable name, typically the name of the lead guest. |
covers | integer The number of covers this party occupies. |
tableIds required | Array of strings non-empty The set of tables this party is currently sat across. |
status required | string non-empty An arbitrary description of the party's current status - typically used to show where in their journey the party is, such as "partially arrived", "ordered" or "paying"/"paid". |
startTime required | string <date-time> The time the party was seated. ISO8601 formatted, millisecond precision. |
expectedEndTime | string <date-time> The time the party is expected to depart, if known. ISO8601 formatted, millisecond precision. |
endTime | string <date-time> The time the party actually departed. ISO8601 formatted, millisecond precision. |
hostNotes | string Host-written notes about the party. Not surfaced to the Guest(s). |
guestRequests | string Guest-written requests for the party. Surfaced to & editable by the Guest(s). May not be edited by the EPOS partner, as this may contain dietary requirements set by the Guest. |
reservationId | string If reservations are implemented & this party has an associated reservation, the EPOS-internal ID of the reservation this party corresponds to. |
object Information about payments captured pre-arrival to secure the reservation. |
Request samples
- Payload
- Python + Python3
- Node + Request
- Shell + Curl
- Php + Curl
- Csharp + Restsharp
- Python + Requests
- Javascript + Jquery
- Javascript + Xhr
- Swift + Nsurlsession
- Ruby + Native
- Go + Native
- C + Libcurl
- Powershell + Webrequest
{- "name": "Martin B.",
- "covers": 4,
- "tableIds": [
- "table-01-001",
- "table-01-002"
], - "startTime": "2024-08-12T09:30:00.000Z",
- "expectedEndTime": "2024-08-12T11:00:00.000Z",
- "guestRequests": "nut allergy; gluten intolerance; please could we have a table next to a window?",
- "hostNotes": "called ahead to notify kitchen of dietary requirements - confirm upon arrival",
- "reservationId": "reservation-2024-08-12-0028",
- "deposit": {
- "totalAmount": {
- "value": 5000,
- "currencyCode": "GBP"
}
}
}
Response samples
- 200
- 4XX
- 5XX
{- "id": "party-2024-08-12-0001",
- "startTime": "2024-08-12T09:30:00.000Z",
- "status": "Ordered",
- "tableIds": [
- "table-01-001",
- "table-01-002"
]
}
Get party
Retrieves a specific party. Capability: GetPartyById
path Parameters
partyId required | string The ID of the party to retrieve. |
Responses
Response Schema: application/json
id required | string The EPOS-internal ID for this party. Must be globally unique within the EPOS' domain. |
name | string The human-readable name, typically the name of the lead guest. |
covers | integer The number of covers this party occupies. |
tableIds required | Array of strings non-empty The set of tables this party is currently sat across. |
status required | string non-empty An arbitrary description of the party's current status - typically used to show where in their journey the party is, such as "partially arrived", "ordered" or "paying"/"paid". |
startTime required | string <date-time> The time the party was seated. ISO8601 formatted, millisecond precision. |
expectedEndTime | string <date-time> The time the party is expected to depart, if known. ISO8601 formatted, millisecond precision. |
endTime | string <date-time> The time the party actually departed. ISO8601 formatted, millisecond precision. |
hostNotes | string Host-written notes about the party. Not surfaced to the Guest(s). |
guestRequests | string Guest-written requests for the party. Surfaced to & editable by the Guest(s). May not be edited by the EPOS partner, as this may contain dietary requirements set by the Guest. |
reservationId | string If reservations are implemented & this party has an associated reservation, the EPOS-internal ID of the reservation this party corresponds to. |
object Information about payments captured pre-arrival to secure the reservation. |
Request samples
- Python + Python3
- Node + Request
- Shell + Curl
- Php + Curl
- Csharp + Restsharp
- Python + Requests
- Javascript + Jquery
- Javascript + Xhr
- Swift + Nsurlsession
- Ruby + Native
- Go + Native
- C + Libcurl
- Powershell + Webrequest
import http.client conn = http.client.HTTPSConnection("virtserver.swaggerhub.com") conn.request("GET", "/DojoPaymentProducts/EPOS-Gateway-API/1.0/v1/parties/%7BpartyId%7D") res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
Response samples
- 200
- 4XX
- 5XX
{- "id": "party-2024-08-12-0001",
- "startTime": "2024-08-12T09:30:00.000Z",
- "status": "Ordered",
- "tableIds": [
- "table-01-001",
- "table-01-002"
]
}
Update party
Sets the party's details to those provided. Capability: UpdatePartyById
path Parameters
partyId required | string The ID of the party to update. It is an error for this ID not to match the one in the request body - partners must reject requests with mismatched ID values. |
Request Body schema: application/json
dojoPartyId required | string The Dojo API party ID |
name | string The human-readable name, typically the name of the lead guest. |
covers | integer The number of covers this party occupies. |
tableIds required | Array of strings non-empty The set of tables this party is currently sat across. |
status required | string non-empty An arbitrary description of the party's current status - typically used to show where in their journey the party is, such as "partially arrived", "ordered" or "paying"/"paid". |
startTime required | string <date-time> The time the party was seated. ISO8601 formatted, millisecond precision. |
expectedEndTime | string <date-time> The time the party is expected to depart, if known. ISO8601 formatted, millisecond precision. |
endTime | string <date-time> The time the party actually departed. ISO8601 formatted, millisecond precision. |
hostNotes | string Host-written notes about the party. Not surfaced to the Guest(s). |
guestRequests | string Guest-written requests for the party. Surfaced to & editable by the Guest(s). May not be edited by the EPOS partner, as this may contain dietary requirements set by the Guest. |
object Information about payments captured pre-arrival to secure the reservation. |
Responses
Response Schema: application/json
id required | string The EPOS-internal ID for this party. Must be globally unique within the EPOS' domain. |
name | string The human-readable name, typically the name of the lead guest. |
covers | integer The number of covers this party occupies. |
tableIds required | Array of strings non-empty The set of tables this party is currently sat across. |
status required | string non-empty An arbitrary description of the party's current status - typically used to show where in their journey the party is, such as "partially arrived", "ordered" or "paying"/"paid". |
startTime required | string <date-time> The time the party was seated. ISO8601 formatted, millisecond precision. |
expectedEndTime | string <date-time> The time the party is expected to depart, if known. ISO8601 formatted, millisecond precision. |
endTime | string <date-time> The time the party actually departed. ISO8601 formatted, millisecond precision. |
hostNotes | string Host-written notes about the party. Not surfaced to the Guest(s). |
guestRequests | string Guest-written requests for the party. Surfaced to & editable by the Guest(s). May not be edited by the EPOS partner, as this may contain dietary requirements set by the Guest. |
reservationId | string If reservations are implemented & this party has an associated reservation, the EPOS-internal ID of the reservation this party corresponds to. |
object Information about payments captured pre-arrival to secure the reservation. |
Request samples
- Payload
- Python + Python3
- Node + Request
- Shell + Curl
- Php + Curl
- Csharp + Restsharp
- Python + Requests
- Javascript + Jquery
- Javascript + Xhr
- Swift + Nsurlsession
- Ruby + Native
- Go + Native
- C + Libcurl
- Powershell + Webrequest
{- "startTime": "2024-08-12T09:30:00.000Z",
- "status": "Ordered",
- "tableIds": [
- "table-01-001",
- "table-01-002"
]
}
Response samples
- 200
- 4XX
- 5XX
{- "id": "party-2024-08-12-0001",
- "startTime": "2024-08-12T09:30:00.000Z",
- "status": "Ordered",
- "tableIds": [
- "table-01-001",
- "table-01-002"
]
}
Delete party
Deletes a specific party. Capability: DeletePartyById
path Parameters
partyId required | string The ID of the party to delete. |
Responses
Request samples
- Python + Python3
- Node + Request
- Shell + Curl
- Php + Curl
- Csharp + Restsharp
- Python + Requests
- Javascript + Jquery
- Javascript + Xhr
- Swift + Nsurlsession
- Ruby + Native
- Go + Native
- C + Libcurl
- Powershell + Webrequest
import http.client conn = http.client.HTTPSConnection("virtserver.swaggerhub.com") conn.request("DELETE", "/DojoPaymentProducts/EPOS-Gateway-API/1.0/v1/parties/%7BpartyId%7D") res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
Response samples
- 4XX
- 5XX
{- "debugMessage": "string",
- "traceId": "string",
- "errorType": "NotFound"
}
Search parties
Searches through parties on the EPOS.
By default, this endpoint should exclude parties with endTime
set, including them only when completedOnly: true
.
Capability: SearchParties
Request Body schema: application/jsonrequired
object A cursor for use in pagination. | |
completedOnly | boolean |
tableId | string |
Responses
Response Schema: application/json
Array of objects | |
before | string |
after | string |
Request samples
- Payload
- Python + Python3
- Node + Request
- Shell + Curl
- Php + Curl
- Csharp + Restsharp
- Python + Requests
- Javascript + Jquery
- Javascript + Xhr
- Swift + Nsurlsession
- Ruby + Native
- Go + Native
- C + Libcurl
- Powershell + Webrequest
{ }
Response samples
- 200
- 4XX
- 5XX
{- "data": [
- {
- "id": "party-2024-08-12-0001",
- "startTime": "2024-08-12T09:30:00.000Z",
- "status": "Ordered",
- "tableIds": [
- "table-01-001",
- "table-01-002"
]
}
], - "before": "string",
- "after": "string"
}
Create reservation
Create a new reservation in the POS domain. Capability: CreateReservation
Request Body schema: application/json
dojoReservationId required | string |
name required | string |
covers required | integer |
startTime required | string <date-time> When the reservation is expected to arrive. ISO8601 formatted, ms precise. |
endTime required | string <date-time> When the reservation is expected to depart. ISO8601 formatted, ms precise. |
tableIds required | Array of strings non-empty |
hostNotes | string |
guestRequests | string |
Responses
Response Schema: application/json
id required | string The globally unique (within the EPOS) ID for the reservation. |
name required | string The name of the guest who the reservation is for. |
covers required | integer The number of covers the reservation is expected to occupy. |
startTime required | string <date-time> The time the reservation is expected to begin. ISO8601 formatted, millisecond precision. |
endTime required | string <date-time> The time the reservation is expected to finish. ISO8601 formatted, millisecond precision. |
tableIds required | Array of strings non-empty The tables the reservation is expected to occupy. |
hostNotes | string Host-written notes about the reservation. Not exposed to guests. |
guestRequests | string Guest-written requests for the reservation. Shown to & editable by guests. May not be edited by the EPOS partner, as this may contain dietary requirements set by the Guest. |
Request samples
- Payload
- Python + Python3
- Node + Request
- Shell + Curl
- Php + Curl
- Csharp + Restsharp
- Python + Requests
- Javascript + Jquery
- Javascript + Xhr
- Swift + Nsurlsession
- Ruby + Native
- Go + Native
- C + Libcurl
- Powershell + Webrequest
{- "dojoReservationId": "dojo-res-210345",
- "name": "Sasha J.",
- "covers": 3,
- "startTime": "2024-08-12T13:00:00.000Z",
- "endTime": "2024-08-12T15:00:00.000Z",
- "tableIds": [
- "table-02-003",
- "table-02-004"
], - "guestRequests": "we'll be bringing our dog",
- "hostNotes": "dog may be given little snacks"
}
Response samples
- 200
- 4XX
- 5XX
{- "id": "reservation-2024-08-12-0065",
- "name": "Sasha J.",
- "covers": 3,
- "startTime": "2024-08-12T13:00:00.000Z",
- "endTime": "2024-08-12T15:00:00.000Z",
- "tableIds": [
- "table-02-003",
- "table-02-004"
]
}
Get reservation
Retrieves a specific reservation. Capability: GetReservationById
path Parameters
reservationId required | string The ID of the reservation to retrieve. |
Responses
Response Schema: application/json
id required | string The globally unique (within the EPOS) ID for the reservation. |
name required | string The name of the guest who the reservation is for. |
covers required | integer The number of covers the reservation is expected to occupy. |
startTime required | string <date-time> The time the reservation is expected to begin. ISO8601 formatted, millisecond precision. |
endTime required | string <date-time> The time the reservation is expected to finish. ISO8601 formatted, millisecond precision. |
tableIds required | Array of strings non-empty The tables the reservation is expected to occupy. |
hostNotes | string Host-written notes about the reservation. Not exposed to guests. |
guestRequests | string Guest-written requests for the reservation. Shown to & editable by guests. May not be edited by the EPOS partner, as this may contain dietary requirements set by the Guest. |
Request samples
- Python + Python3
- Node + Request
- Shell + Curl
- Php + Curl
- Csharp + Restsharp
- Python + Requests
- Javascript + Jquery
- Javascript + Xhr
- Swift + Nsurlsession
- Ruby + Native
- Go + Native
- C + Libcurl
- Powershell + Webrequest
import http.client conn = http.client.HTTPSConnection("virtserver.swaggerhub.com") conn.request("GET", "/DojoPaymentProducts/EPOS-Gateway-API/1.0/v1/reservations/%7BreservationId%7D") res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
Response samples
- 200
- 4XX
- 5XX
{- "id": "reservation-2024-08-12-0065",
- "name": "Sasha J.",
- "covers": 3,
- "startTime": "2024-08-12T13:00:00.000Z",
- "endTime": "2024-08-12T15:00:00.000Z",
- "tableIds": [
- "table-02-003",
- "table-02-004"
]
}
Update reservation
Sets the reservation's details to those provided. Capbility: UpdateReservationById
path Parameters
reservationId required | string The ID of the reservation to update. It is an error for this ID not to match the one in the request body - partners must reject requests with mismatched ID values. |
Request Body schema: application/json
dojoReservationId required | string The Dojo API reservation ID |
name required | string The name of the guest who the reservation is for. |
covers required | integer The number of covers the reservation is expected to occupy. |
startTime required | string <date-time> The time the reservation is expected to begin. ISO8601 formatted, millisecond precision. |
endTime required | string <date-time> The time the reservation is expected to finish. ISO8601 formatted, millisecond precision. |
tableIds required | Array of strings non-empty The tables the reservation is expected to occupy. |
hostNotes | string Host-written notes about the reservation. Not exposed to guests. |
guestRequests | string Guest-written requests for the reservation. Shown to & editable by guests. May not be edited by the EPOS partner, as this may contain dietary requirements set by the Guest. |
Responses
Response Schema: application/json
id required | string The globally unique (within the EPOS) ID for the reservation. |
name required | string The name of the guest who the reservation is for. |
covers required | integer The number of covers the reservation is expected to occupy. |
startTime required | string <date-time> The time the reservation is expected to begin. ISO8601 formatted, millisecond precision. |
endTime required | string <date-time> The time the reservation is expected to finish. ISO8601 formatted, millisecond precision. |
tableIds required | Array of strings non-empty The tables the reservation is expected to occupy. |
hostNotes | string Host-written notes about the reservation. Not exposed to guests. |
guestRequests | string Guest-written requests for the reservation. Shown to & editable by guests. May not be edited by the EPOS partner, as this may contain dietary requirements set by the Guest. |
Request samples
- Payload
- Python + Python3
- Node + Request
- Shell + Curl
- Php + Curl
- Csharp + Restsharp
- Python + Requests
- Javascript + Jquery
- Javascript + Xhr
- Swift + Nsurlsession
- Ruby + Native
- Go + Native
- C + Libcurl
- Powershell + Webrequest
{- "name": "Sasha J.",
- "covers": 3,
- "startTime": "2024-08-12T13:00:00.000Z",
- "endTime": "2024-08-12T15:00:00.000Z",
- "tableIds": [
- "table-02-003",
- "table-02-004"
]
}
Response samples
- 200
- 4XX
- 5XX
{- "id": "reservation-2024-08-12-0065",
- "name": "Sasha J.",
- "covers": 3,
- "startTime": "2024-08-12T13:00:00.000Z",
- "endTime": "2024-08-12T15:00:00.000Z",
- "tableIds": [
- "table-02-003",
- "table-02-004"
]
}
Delete reservation
Deletes a specific reservation. Capability: DeleteReservationById
path Parameters
reservationId required | string The ID of the reservation to delete. |
Responses
Request samples
- Python + Python3
- Node + Request
- Shell + Curl
- Php + Curl
- Csharp + Restsharp
- Python + Requests
- Javascript + Jquery
- Javascript + Xhr
- Swift + Nsurlsession
- Ruby + Native
- Go + Native
- C + Libcurl
- Powershell + Webrequest
import http.client conn = http.client.HTTPSConnection("virtserver.swaggerhub.com") conn.request("DELETE", "/DojoPaymentProducts/EPOS-Gateway-API/1.0/v1/reservations/%7BreservationId%7D") res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
Response samples
- 4XX
- 5XX
{- "debugMessage": "string",
- "traceId": "string",
- "errorType": "NotFound"
}
Search reservations
Search through reservations on the EPOS. Capability: SearchReservations
Request Body schema: application/jsonrequired
object A cursor for use in pagination. | |
tableId | string |
fromTime | string <date-time> |
toTime | string <date-time> |
Responses
Response Schema: application/json
Array of objects | |
before | string |
after | string |
Request samples
- Payload
- Python + Python3
- Node + Request
- Shell + Curl
- Php + Curl
- Csharp + Restsharp
- Python + Requests
- Javascript + Jquery
- Javascript + Xhr
- Swift + Nsurlsession
- Ruby + Native
- Go + Native
- C + Libcurl
- Powershell + Webrequest
{ }
Response samples
- 200
- 4XX
- 5XX
{- "data": [
- {
- "id": "reservation-2024-08-12-0065",
- "name": "Sasha J.",
- "covers": 3,
- "startTime": "2024-08-12T13:00:00.000Z",
- "endTime": "2024-08-12T15:00:00.000Z",
- "tableIds": [
- "table-02-003",
- "table-02-004"
]
}
], - "before": "string",
- "after": "string"
}
Search tables
Search through tables on the EPOS. Capability: SearchTables
Request Body schema: application/jsonrequired
object A cursor for use in pagination. | |
areaId | string |
waiterId | string |
Responses
Response Schema: application/json
Array of objects | |
before | string |
after | string |
Request samples
- Payload
- Python + Python3
- Node + Request
- Shell + Curl
- Php + Curl
- Csharp + Restsharp
- Python + Requests
- Javascript + Jquery
- Javascript + Xhr
- Swift + Nsurlsession
- Ruby + Native
- Go + Native
- C + Libcurl
- Powershell + Webrequest
{ }
Response samples
- 200
- 4XX
- 5XX
[- {
- "data": [
- {
- "id": "tbl_12345",
- "name": "Table 12",
- "maxCovers": 4,
- "areaId": "area_123"
}
], - "before": "string",
- "after": "string"
}
]
Handle event
Handle events from Dojo. Capabilities:
HandleEvent:payment_intent.created
HandleEvent:payment_intent.status_updated
Request Body schema: application/jsonrequired
id required | string |
accountId required | string |
event required | string one of EventType |
required | PaymentIntentEvent (object) |
createdAt required | string <date-time> |
Responses
Request samples
- Payload
- Python + Python3
- Node + Request
- Shell + Curl
- Php + Curl
- Csharp + Restsharp
- Python + Requests
- Javascript + Jquery
- Javascript + Xhr
- Swift + Nsurlsession
- Ruby + Native
- Go + Native
- C + Libcurl
- Powershell + Webrequest
{- "id": "string",
- "accountId": "string",
- "event": "string",
- "data": {
- "paymentIntentId": "string",
- "paymentStatus": "Created",
- "captureMode": "Auto"
}, - "createdAt": "2019-08-24T14:15:22Z"
}
Response samples
- 4XX
- 5XX
{- "debugMessage": "string",
- "traceId": "string",
- "errorType": "NotFound"
}