POS Integration Module

Introduction

Connect your POS app or platform to Sinqro (consuming Sinqro APIs and listening Sinqro webhooks)

Target Developers

  • Internal developers from a POS software company
  • Developers from a restaurant chain or group having their own POS solution

Your company benefits

  • Your clients (restaurants and food shops using your software), will be able to manage their own web/mobile apps and external marketplaces orders/reservations, delivery services and many other Sinqro connected solutions, directly FROM YOUR POS.
  • You won’t have to integrate dozens of marketplaces or providers one by one. With one integration, your POS is connected to multiple external services.
  • Your software will be listed in our site as Sinqro-ready POS and this will accelerate your sales.

Getting started

The developer account is automatically created when your company's account is created.

In order to create your POS, marketplace, app or any other platform account, please go to our main site, select your company type and follow the instructions.

If your company's account was already created and you have problems to access your account, contact us through the chat in this site or by email at integrations@sinqro.com

API Environments

As you are going to develop using test accounts, you can work directly in production:

https://api.sinqro.com/pos-app/v1

API Security

About your credentials
You can find your credentials in your developer panel.
Authorization

All services of this API require an authorization token sent in headers ‘x-api-server-access-token’.

You can get your integration module assigned token in your developer panel.

Authentication

All this API services require an authentication token sent in headers 'x-api-user-access-token'.

How to get the authentication token?

The authentication token is generated automatically for each client's module setup.

In your developer panel you'll find listed all the module setups with its assigned token.

We will provide you a demo business with an authentication token to test your integration.

Guide & Examples

We show you some relevant use cases.

Understanding order types

Delivery orders (code: delivery)

A delivery order is just an order to be delivered to the consumer by the restaurant staff, an external marketplace with its own riders or by an on-demand delivery company.

Takeaway orders (code: collection)

A takeaway order is an order placed to be collected at the restaurant by the consumer. 

Reservations (code: reservation)

A reservation is a simple table reservation without order lines, without products.

Reservations with pre-order (code: insitu)

Can be understood as a simple reservation + an order, or an order + a reservation.

Also known as 'eat-in preorders'.

In both cases, the consumer decides what's gonna consume in the restaurant during the reservation.

Table service orders (code: inside)

Is an order placed by the consumer being at the restaurant, normally from the table.

Creating products

PRODUCTS

Pushing products is the first service that normally a POS wants to integrate.

We suggest starting pushing the products without any menu/menuSection relation, and then evaluate the different strategies you have to link these products with menus.

Menus and menuSections will be explicitely explained in the next use case.

PRODUCT OPTION CATEGORIES AND PRODUCT OPTIONS

Example:

BBQ Burger 10€ (product)

  • Choose a side (productOptionCategory)
    • Extra Bacon +2€ (productOption)
    • Extra Cheddar +1€ (productOption)
  • How do you prefer the meat ? (productOptionCategory)
    • Raw (productOption)
    • Rare (productOption)
    • Medium rare (productOption)
    • Medium (productOption)
    • Medium well (productOption)
    • Well done (productOption)

PRODUCT VARIANT

A productVariant is a product itself, linked to a parent product:

BBQ Burger 10€ (product)

> XXL BBQ Burger 15€ (productVariant)

Creating menus

MENUS

We have two 'menu' types: setMenus and menus. Both menu types have menuSections and a menuSection has a collection of products. 

A setMenu (not common in all countries), has a fixed price itself and the client must select normally only one product for each menuSection.

In a standard menu, the client has no limitations selecting products within the menuSections and the price is defined for each of the products, a not for the menu itself. 

 

SIMPLIFYNG THE INTEGRATION

If you don't have the 'menu' concept in your POS, you have different options:

A. Ignore the menu concept, push only products and ask the restaurant user to create the menus directly in Sinqro, selecting the products you pushed manually.

B. Create a single online menu with menuSections (manually) in Sinqro and push your products to this single menu

C. Incorporate to your data model the concept of menu.

Managing new orders and reservations

Receive and manage new orders and reservations (using webhooks). If you provide a webhook endpoint, new orders webhooks will be thrown for a real-time connection

New order / reservation workflow

ACTION DESCRIPTION
1. Place order The client places the order
2. API Post order The marketplace posts the order to Sinqro
3. Send order WEBHOOK Sinqro sends the new order webhook to the POS
4. Restaurant notification The POS notifies the restaurant
5. Get available order actions The POS get the possible actions (accept, cancel, ...) for the order
6. Show actions as buttons The POS shows the possible actions selectable by the restaurant
7. Select order action The restaurant accepts or cancels the order selecting one of the order actions
8. API Post order action The POS changes the order status providing the order action selected by the restaurant
9. New status WEBHOOK Sinqro sends the new status webhook to the market
10. Client notification The marketplace notifies the client

API SERVICES REFERENCE

BULK

Bulk actions
Patch menu collection
PATCH /sellingPoints/{sellingPointId}/menus/collectionRaw
Edit the full menu collection, including sections, products and modifiers for given selling point
REQUEST parameters
POSSIBLE RESPONSES
HTTP Code Description Body
400 Error/s object ErrorResponse
201 Created object PosMenuCollectionRaw

PRODUCTS

Products actions
Get products
GET /sellingPoints/{sellingPointId}/products
This method return all the selling point products as "partial products" to improve performance.
Product variants can be treated as products but they are always inside parent products, so this method return only products at first level (no variants).
If you need the full product info, you must use the GET product service
REQUEST parameters
x-api-server-access-token string header Authorization token
x-api-user-access-token string header Authentication token
sellingPointId integer path Selling point identifier
onlyPublicProducts ( optional ) boolean query Load only public products. False by default if the parameter is not send
POSSIBLE RESPONSES
HTTP Code Description Body
400 Error/s object ErrorResponse
200 Ok array PosPartialProduct
Post product
POST /sellingPoints/{sellingPointId}/products
Create new product for given selling point
Understanding product properties:
prices
  • price: Define the product price when the product is sold in menu.
  • inMenuPrice: Define the menu increment when the product is sold in setmenu.
productOptionsIds
Product options identifiers which can be added to product.

REQUEST parameters
x-api-server-access-token string header Authorization token
x-api-user-access-token string header Authentication token
sellingPointId integer path Selling point identifier
body body
POSSIBLE RESPONSES
HTTP Code Description Body
400 Error/s object ErrorResponse
201 Created object PosProduct
Get product
GET /sellingPoints/{sellingPointId}/products/{productId}
Get all product information.
REQUEST parameters
x-api-server-access-token string header Authorization token
x-api-user-access-token string header Authentication token
sellingPointId integer path Selling point identifier
productId integer path Product identifier
POSSIBLE RESPONSES
HTTP Code Description Body
400 Error/s object ErrorResponse
200 Ok object PosProduct
Patch product
PATCH /sellingPoints/{sellingPointId}/products/{productId}
Modify product and it's product variants. To delete a product variant use deleteSellingPointProduct using product variant identifier

Patch only modify send information, for example you can modify product options assigned to product only sending something like that:
{
"productOptionsIds": [
    1443,
    2552,
    1123
  ] 
}
REQUEST parameters
x-api-server-access-token string header Authorization token
x-api-user-access-token string header Authentication token
sellingPointId integer path Selling point identifier
productId integer path Product identifier
body body
POSSIBLE RESPONSES
HTTP Code Description Body
400 Error/s object ErrorResponse
200 Ok object PosProduct
Delete product
DELETE /sellingPoints/{sellingPointId}/products/{productId}
Delete product and its product variants, but you can use only to delete product variant using product variant identifier in the url as productId parameter
REQUEST parameters
x-api-server-access-token string header Authorization token
x-api-user-access-token string header Authentication token
sellingPointId integer path Selling point identifier
productId integer path Product identifier
POSSIBLE RESPONSES
HTTP Code Description Body
200 Ok Empty body
400 Error/s object ErrorResponse

PRODUCT OPTIONS

Product options actions
Get product option categories
GET /sellingPoints/{sellingPointId}/productOptionsCategories
Get selling point product option categories
REQUEST parameters
x-api-server-access-token string header Authorization token
x-api-user-access-token string header Authentication token
sellingPointId integer path Selling point identifier
POSSIBLE RESPONSES
HTTP Code Description Body
200 Ok array ProductOptionsCategory
400 Error/s object ErrorResponse
Post product options category
POST /sellingPoints/{sellingPointId}/productOptionsCategories
Create product options category
REQUEST parameters
x-api-server-access-token string header Authorization token
x-api-user-access-token string header Authentication token
sellingPointId integer path Selling point identifier
body body
POSSIBLE RESPONSES
HTTP Code Description Body
201 Created object ProductOptionsCategory
400 Error/s object ErrorResponse
Get product options category
GET /sellingPoints/{sellingPointId}/productOptionsCategories/{productOptionCategoryId}
Get product options category by identifier
REQUEST parameters
x-api-server-access-token string header Authorization token
x-api-user-access-token string header Authentication token
sellingPointId integer path Selling point identifier
productOptionCategoryId integer path Product Option Category identifier
POSSIBLE RESPONSES
HTTP Code Description Body
200 Ok object ProductOptionsCategory
400 Error/s object ErrorResponse
Patch product options category
PATCH /sellingPoints/{sellingPointId}/productOptionsCategories/{productOptionCategoryId}
Modify product options category and it's product options. To delete a product option use deleteSellingPointProductOption
REQUEST parameters
x-api-server-access-token string header Authorization token
x-api-user-access-token string header Authentication token
sellingPointId integer path Selling point identifier
productOptionCategoryId integer path Product Option Category identifier
body body
POSSIBLE RESPONSES
HTTP Code Description Body
200 Ok object ProductOptionsCategory
400 Error/s object ErrorResponse
Delete product options category
DELETE /sellingPoints/{sellingPointId}/productOptionsCategories/{productOptionCategoryId}
Delete product options category and it's product options
REQUEST parameters
x-api-server-access-token string header Authorization token
x-api-user-access-token string header Authentication token
sellingPointId integer path Selling point identifier
productOptionCategoryId integer path Product Option Category identifier
POSSIBLE RESPONSES
HTTP Code Description Body
200 Ok Empty body
400 Error/s object ErrorResponse
Delete product option
DELETE /sellingPoints/{sellingPointId}/productOptionsCategories/{productOptionCategoryId}/productOptions/{productOptionId}
Delete product option
REQUEST parameters
x-api-server-access-token string header Authorization token
x-api-user-access-token string header Authentication token
sellingPointId integer path Selling point identifier
productOptionCategoryId integer path Product Option Category identifier
productOptionId integer path Product Option identifier
POSSIBLE RESPONSES
HTTP Code Description Body
200 Ok Empty body
400 Error/s object ErrorResponse
Menus actions
Post menus
POST /sellingPoints/{sellingPointId}/menus/collection
Create new menus or set menus for given selling point
REQUEST parameters
POSSIBLE RESPONSES
HTTP Code Description Body
400 Error/s object ErrorResponse
201 Created object PosMenu
Patch menu
PATCH /sellingPoints/{sellingPointId}/menus/{menuId}
Update menu information
REQUEST parameters
body body
POSSIBLE RESPONSES
HTTP Code Description Body
400 Error/s object ErrorResponse
200 Ok object PosMenu
Get menu
GET /sellingPoints/{sellingPointId}/menus/{menuId}
Menu properties:

type
  • menu: Typical restaurant menu with pizzas or wines for example. This kind of menu doesn't have price, and are their products who has the price.
  • setmenu: This menu has price and the consumer has to select a required number of products for each section. Some products can modify the menu final price.
Understanding the differences between menu/setmenu is easy to understand that menu section properties minSelection and maxSelection only apply to setmenu menus.
REQUEST parameters
x-api-server-access-token string header Authorization token
x-api-user-access-token string header Authentication token
sellingPointId integer path Selling point identifier
menuId integer path Menu identifier
POSSIBLE RESPONSES
HTTP Code Description Body
400 Error/s object ErrorResponse
200 Ok object PosMenu
Delete menu
DELETE /sellingPoints/{sellingPointId}/menus/{menuId}
Delete menu
REQUEST parameters
x-api-server-access-token string header Authorization token
x-api-user-access-token string header Authentication token
sellingPointId integer path Selling point identifier
menuId integer path Menu identifier
POSSIBLE RESPONSES
HTTP Code Description Body
200 Ok Empty body
400 Error/s object ErrorResponse
Get menus
GET /sellingPoints/{sellingPointId}/menus
This method return all selling point menus as "partial menu" to improve performance.
To get all menu information you can use getSellingPointMenu
REQUEST parameters
x-api-server-access-token string header Authorization token
x-api-user-access-token string header Authentication token
sellingPointId integer path Selling point identifier
POSSIBLE RESPONSES
HTTP Code Description Body
200 Ok array Partial Menu
400 Error/s object ErrorResponse

ORDERS & RESERVATIONS

Services to manage orders and reservations
Get order
GET /orders/{orderId}
Get order by identifier
REQUEST parameters
x-api-server-access-token string header Authorization token
x-api-user-access-token string header Authentication token
orderId integer path Order identifier
POSSIBLE RESPONSES
HTTP Code Description Body
200 Ok object Order
400 Error/s object ErrorResponse
Get order actions (token)
GET /orders/{orderId}/actions
Get all possible actions allowed for a specific order. When sending any of the given action tokens, the order status will be changed.
REQUEST parameters
x-api-server-access-token string header Authorization token
x-api-user-access-token string header Authentication token
orderId integer path Order identifier
delayMinutes ( optional ) integer query Request order options using delay minutes
POSSIBLE RESPONSES
HTTP Code Description Body
200 Ok array OrderAction
400 Error/s object ErrorResponse
Change order status (using order action token)
POST /orders/{orderId}/actions
Change order status using order action token
REQUEST parameters
x-api-server-access-token string header Authorization token
x-api-user-access-token string header Authentication token
orderId integer path Order identifier
token string formData Order action token
cancellationComment ( optional ) string formData Required for type CANCEL actions
POSSIBLE RESPONSES
HTTP Code Description Body
200 Ok object Order
400 Error/s object ErrorResponse
Change order status (using order status type code)
POST /sellingPoints/{sellingPointId}/orders/{orderId}/status
Change order status using order status type code.

Accepted values for orderStatusTypeCode
  • accepted
  • preparation
  • ready
  • delivering: Only allowed for delivery orders delivered by self drivers
  • delivered: Only allowed for delivery orders delivered by self drivers
  • finished
  • cancelled_by_sp: In that case parameter "cancellationReason" is required
REQUEST parameters
NewOrderStatus body Change order status using order status type
POSSIBLE RESPONSES
HTTP Code Description Body
200 Ok object Order
Get orders
GET /sellingPoints/{sellingPointId}/orders
Get selling point filtered orders
REQUEST parameters
x-api-server-access-token string header Authorization token
x-api-user-access-token string header Authentication token
sellingPointId integer path Selling point identifier
startDate ( optional ) string query Start date to filter orders. Example: 2017-10-10
endDate ( optional ) string query End date to filter orders. Example: 2017-10-10
orderType ( optional ) string query Used to filter by order type code. More info in 'Understanding order types' section.
globalStatusCode ( optional ) string query Used to filter by order global status code
POSSIBLE RESPONSES
HTTP Code Description Body
200 Ok array Order
400 Error/s object ErrorResponse
Get active orders
GET /sellingPoints/{sellingPointId}/orders/active
Get selling point non-finished and non-cancelled orders
REQUEST parameters
x-api-server-access-token string header Authorization token
x-api-user-access-token string header Authentication token
sellingPointId integer path Selling point identifier
POSSIBLE RESPONSES
HTTP Code Description Body
200 Ok array Order
400 Error/s object ErrorResponse

CONSUMERS

Consumer actions
Get consumers
GET /sellingPoints/{sellingPointId}/consumers
Get selling points consumers
REQUEST parameters
x-api-server-access-token string header Authorization token
x-api-user-access-token string header Authentication token
sellingPointId integer path Selling point identifier
loadAccount ( optional ) boolean query Used to get consumer legal account data
POSSIBLE RESPONSES
HTTP Code Description Body
200 Ok array Consumer
400 Error/s object ErrorResponse
Get consumer orders
GET /sellingPoints/{sellingPointId}/consumers/{consumerId}/orders
Get selling point consumer orders
REQUEST parameters
x-api-server-access-token string header Authorization token
x-api-user-access-token string header Authentication token
sellingPointId integer path Selling point identifier
consumerId integer path Consumer identifier
POSSIBLE RESPONSES
HTTP Code Description Body
200 Ok array Order
400 Error/s object ErrorResponse

NOTIFICATIONS REFERENCE

We have two options for you to receive our notifications:
Option 1. WEBHOOKS TRANSPORT
If you can provide an endpoint for us to send you the notifications there, we understand it as the best option.
Be careful, we'll process the response, reading ONLY the HTTP STATUS CODE of your server's response, and understanding any status code different than 2XX as an error.
You can set your webhook endpoint in your developer panel.
Option 2. WEBSOCKET TRANSPORT
If you don't have a (cloud) server to receive the webhooks, we ask you to please avoid polling our servers and work in real-time context. This can be done listening our websocket notifications server.
In your app, you need to implement a websocket client and listen the notifications following the instructions in this test tool
You can enable websocket notifications in your developer panel.
Notification Title Notification Event Code Model of the payload Expected OK response
Order created new_order object PosNewOrderNotification 200 - 299 HTTP Status
Order status changed order_status_changed object PosNewOrderStatusNotification 200 - 299 HTTP Status

MODELS REFERENCE

We show the definition of all the models used in the previous API services and notifications:
PosNewOrderStatusNotification
The attributes definition for this model is not available yet; we can show you an example.
Despite this you can find the definition in other models in this document.
MODEL EXAMPLES

Example

{
    "event": "order_status_changed",
    "data": {
        "id": 4912,
        "totalAmount": 29.9,
        "baseAmount": 27.18,
        "vatAmount": 2.72,
        "executionTimeLabel": "11/10 at 13:10h",
        "executionTime": "2017-10-11T13:10:00+0000",
        "comment": "Thank you",
        "cancellationComment": "",
        "consumer": {
            "id": 1003,
            "email": "john@example.com",
            "name": "John",
            "lastname": "Doe",
            "image": "https://cdn.sinqro.com/assets/images/placeholder_image.jpg",
            "phone": "+34600000000",
            "posClientId": "CCCC-CCCC-CCCC",
            "marketClientId": "MMMM-MMMM-MMMM",
            "notificationsChannel": "549d70d0e0851200d11229c16f8d38a8b"
        },
        "status": {
            "code": "waiting_sp_validation",
            "name": "Waiting selling point validation",
            "color": "#f7981d",
            "isFinalStatus": false,
            "globalStatusCode": "processing"
        },
        "type": "delivery",
        "sellingPoint": {
            "id": 3442,
            "name": "My restaurant",
            "address": {
                "id": 1003,
                "street": "C/ Example, 23",
                "details": "Canada building",
                "city": "City name",
                "province": "Province name",
                "postalCode": "12345",
                "latitude": 41.308166,
                "longitude": 2.019725,
                "googlePlaceId": "xxxxxxxxxxxx",
                "placeName": "C/ Example, 23, City name"
            },
            "phone": "+34600000000",
            "email": "myrestaurant@example.com",
            "logo": "http://mycdn.com/selling-point-logo.jpeg",
            "mainImage": "http://mycdn.com/selling-point-main-image.jpeg",
            "listImage": "http://mycdn.com/selling-point-list-image.jpeg",
            "mainImageLarge": "https://content.sinqro.com/selling-point-main-image-large.png",
            "listImageLarge": "https://content.sinqro.com/selling-point-list-image-large.png",
            "urlKey": "restaurant-name-city",
            "type": "Italian",
            "timezone": "Europe/Madrid"
        },
        "payments": [
            {
                "id": 5922,
                "amount": 29.9,
                "paymentMethodName": "Credit card",
                "prepaid": true,
                "methodCode": "CREDIT_CARD",
                "status": {
                    "code": "DONE",
                    "name": "Finalizado",
                    "color": "#5AAC44",
                    "callToAction": null
                }
            }
        ],
        "orderLines": [
            {
                "totalAmount": 29.9,
                "unitPrice": 14.95,
                "baseAmount": 27.78,
                "vatAmount": 2.72,
                "vatValue": 10.0,
                "quantity": 2,
                "comment": "Order line comment",
                "label": "Pizza margherita",
                "type": "PRODUCT",
                "product": {
                    "id": 1221,
                    "externalId": "external_reference"
                },
                "childrenOrderLines": []
            },
            {
                "totalAmount": 0.0,
                "unitPrice": 0,
                "quantity": 1,
                "comment": "",
                "label": "Shipping costs",
                "type": "DELIVERY",
                "distance": 1.13,
                "childrenOrderLines": []
            }
        ],
        "deliveryAmount": 1.0,
        "deliveryAddress": {
            "id": 1003,
            "street": "C/ Example, 23",
            "details": "Canada building",
            "city": "City name",
            "province": "Province name",
            "postalCode": "12345",
            "latitude": 41.308166,
            "longitude": 2.019725,
            "googlePlaceId": "xxxxxxxxxxxx",
            "placeName": "C/ Example, 23, City name"
        },
        "deliveries": [
            {
                "id": 1003,
                "deliveryAccountName": "DeliveryCompanyName",
                "deliveryAccountPhone": "600000001",
                "pickupAddress": {
                    "id": 1003,
                    "street": "C/ Example, 23",
                    "details": "Canada building",
                    "city": "City name",
                    "province": "Province name",
                    "postalCode": "12345",
                    "latitude": 41.308166,
                    "longitude": 2.019725,
                    "googlePlaceId": "xxxxxxxxxxxx",
                    "placeName": "C/ Example, 23, City name"
                },
                "deliveryAddress": {
                    "id": 1003,
                    "street": "C/ Example, 23",
                    "details": "Canada building",
                    "city": "City name",
                    "province": "Province name",
                    "postalCode": "12345",
                    "latitude": 41.308166,
                    "longitude": 2.019725,
                    "googlePlaceId": "xxxxxxxxxxxx",
                    "placeName": "C/ Example, 23, City name"
                },
                "pickupAgreedAt": "2017-02-09T12:00:00+0000",
                "pickupConfirmedAt": "2017-02-09T12:00:00+0000",
                "deliveryAgreedAt": "2017-02-09T12:15:00+0000",
                "deliveryConfirmedAt": "2017-02-09T12:15:00+0000",
                "deliveryInstructions": null,
                "linearDistance": "1.56",
                "realDistance": "1.97",
                "estimatedDeliveryDuration": "15",
                "forSenderInstructions": null,
                "trackingUrl": "https://tracking.sinqro.com/es-es/delivery?t=46e1f49e944a73081211442162fbee96b7d2f306",
                "status": {
                    "code": "PICKING",
                    "name": "Picking",
                    "color": "blue",
                    "isFinalStatus": false
                },
                "destinationContactEmail": "jane@example.com",
                "destinationContactName": "Jane",
                "destinationContactPhone": "600000000",
                "route": "c_c{FmniKrBcBnAkA@QCMMg@_BbBoEzEEyD?GCQIKMAKB{DsDiBmBq@_A?EAKCICCtDqFtB}ChCwDPPxCrCj@h@",
                "driver": {
                    "id": 1003,
                    "email": "john@example.com",
                    "name": "John",
                    "lastname": "Doe",
                    "image": "https://cdn.sinqro.com/assets/images/placeholder_image.jpg",
                    "phone": "+34600000000",
                    "transport": {
                        "code": "SCOOTER",
                        "name": "Scooter"
                    },
                    "lastGeolocation": {
                        "latitude": 41.308166,
                        "longitude": 2.019725,
                        "createdAt": "2018-03-015T12:15:00+0000"
                    }
                },
                "isSelfDelivery": false
            }
        ],
        "dinersNumber": 1,
        "isCancellable": true,
        "createdAt": "2017-10-11T12:30:00+0000",
        "preparationTime": "2017-10-11T13:00:00+0000",
        "isAsap": false,
        "market": {
            "name": "My Restaurant",
            "darkLogo": "http://mycdn.com/darkLogo.jpeg",
            "lightLogo": "http://mycdn.com/lightLogo.jpeg",
            "horizontalLogo": "http://mycdn.com/horizontalLogo.jpeg",
            "squareLogo": "http://mycdn.com/squareLogo.jpeg"
        },
        "posOrderId": "XXXX-XXXX-XXXX",
        "marketOrderId": "ZZZZ-ZZZZ-ZZZZ",
        "marketOrderCode": "XYZ"
    },
    "config": {
        "config_param_1": "config_param_1_value",
        "config_param_2": "config_param_2_value"
    },
    "sellingPointId": 3442
}
Account
MODEL ATTRIBUTES

Consumer account

id integer (int32) Account identifier
name string Account name
balanceAmount number (float) Account balance amount
MODEL EXAMPLES

Example

{
    "id": "43",
    "name": "My account",
    "balanceAmount": 0
}
Address
MODEL ATTRIBUTES

Selling point address

id integer (int64) Address identifier
street string Address street with number
details string Extra address information
city string Address city name
province string Address province name
postalCode string Address postal code
latitude number (float) Address latitude
longitude number (float) Address longitude
googlePlaceId string Google place identifier
placeName string Place name
MODEL EXAMPLES

Example

{
    "id": 1003,
    "street": "C/ Example, 23",
    "details": "Canada building",
    "city": "City name",
    "province": "Province name",
    "postalCode": "12345",
    "latitude": 41.308166,
    "longitude": 2.019725,
    "googlePlaceId": "xxxxxxxxxxxx",
    "placeName": "C/ Example, 23, City name"
}
Address
MODEL ATTRIBUTES

Delivery pickup address

id integer (int64) Address identifier
street string Address street with number
details string Extra address information
city string Address city name
province string Address province name
postalCode string Address postal code
latitude number (float) Address latitude
longitude number (float) Address longitude
googlePlaceId string Google place identifier
placeName string Place name
MODEL EXAMPLES

Example

{
    "id": 1003,
    "street": "C/ Example, 23",
    "details": "Canada building",
    "city": "City name",
    "province": "Province name",
    "postalCode": "12345",
    "latitude": 41.308166,
    "longitude": 2.019725,
    "googlePlaceId": "xxxxxxxxxxxx",
    "placeName": "C/ Example, 23, City name"
}
Address
MODEL ATTRIBUTES

Delivery address

id integer (int64) Address identifier
street string Address street with number
details string Extra address information
city string Address city name
province string Address province name
postalCode string Address postal code
latitude number (float) Address latitude
longitude number (float) Address longitude
googlePlaceId string Google place identifier
placeName string Place name
MODEL EXAMPLES

Example

{
    "id": 1003,
    "street": "C/ Example, 23",
    "details": "Canada building",
    "city": "City name",
    "province": "Province name",
    "postalCode": "12345",
    "latitude": 41.308166,
    "longitude": 2.019725,
    "googlePlaceId": "xxxxxxxxxxxx",
    "placeName": "C/ Example, 23, City name"
}
Consumer
MODEL ATTRIBUTES
id integer (int64) Consumer identifier
email string Consumer email
name string Consumer name
lastname string Consumer last name
image string Consumer profile image url
phone string In international format. Ex. +34600000000
posClientId string POS client identifier
marketClientId string Market client identifier
notificationsChannel string Consumer notifications channel token
MODEL EXAMPLES

Example

{
    "id": 1003,
    "email": "john@example.com",
    "name": "John",
    "lastname": "Doe",
    "image": "https://cdn.sinqro.com/assets/images/placeholder_image.jpg",
    "phone": "+34600000000",
    "posClientId": "CCCC-CCCC-CCCC",
    "marketClientId": "MMMM-MMMM-MMMM"
}
Consumer
MODEL ATTRIBUTES

Consumer

id integer (int64) Consumer identifier
email string Consumer email
name string Consumer name
lastname string Consumer last name
image string Consumer profile image url
phone string In international format. Ex. +34600000000
account object Account Consumer account
MODEL EXAMPLES

Example

{
    "id": 1003,
    "email": "john@example.com",
    "name": "John",
    "lastname": "Doe",
    "image": "https://cdn.sinqro.com/assets/images/placeholder_image.jpg",
    "phone": "+34600000000",
    "account": {
        "id": "43",
        "name": "My account",
        "balanceAmount": 0
    }
}
Coupon
MODEL ATTRIBUTES

Only for orderLine type DISCOUNT

code string Coupon code
MODEL EXAMPLES

Example

{
    "code": "first10"
}
Currency
MODEL ATTRIBUTES

Currency

isoCode string Currency ISO code
symbol string Currency symbol
MODEL EXAMPLES

Example

{
    "isoCode": "EUR",
    "symbol": "€"
}
Day
MODEL ATTRIBUTES
id integer (int64) Day identifier
name string Day name
MODEL EXAMPLES

Example

{
    "id": 1,
    "name": "Lunes"
}
Day
MODEL ATTRIBUTES
id integer (int64) Day identifier
name string Day name
MODEL EXAMPLES

Example

{
    "id": 1,
    "name": "Lunes"
}
Delivery address
MODEL ATTRIBUTES

Only for delivery orders

id integer (int64) Address identifier
street string Address street with number
details string Extra address information
city string Address city name
province string Address province name
postalCode string Address postal code
latitude number (float) Address latitude
longitude number (float) Address longitude
googlePlaceId string Google place identifier
placeName string Place name
MODEL EXAMPLES

Example

{
    "id": 1003,
    "street": "C/ Example, 23",
    "details": "Canada building",
    "city": "City name",
    "province": "Province name",
    "postalCode": "12345",
    "latitude": 41.308166,
    "longitude": 2.019725,
    "googlePlaceId": "xxxxxxxxxxxx",
    "placeName": "C/ Example, 23, City name"
}
Delivery
MODEL ATTRIBUTES

Order delivery

id integer (int64) Delivery identifier
deliveryAccountName string Delivery company name
deliveryAccountPhone string Delivery company contact phone
pickupAddress object Address Delivery pickup address
deliveryAddress object Address Delivery address
pickupAgreedAt string (date-time) Pickup agreed time
pickupConfirmedAt string (date-time) Confirmed pickup time
deliveryAgreedAt string (date-time) Delivery agreed time
deliveryConfirmedAt string (date-time) Confirmed delivery time
deliveryInstructions string Driver instructions
linearDistance number (float) Linear distance between pickup and delivery points
realDistance number (float) Real distance between pickup and delivery points
estimatedDeliveryDuration number (float) Estimated delivery duration in minutes
status object Status Current delivery status
destinationContactEmail string Destination contact email
destinationContactName string Destination contact name
destinationContactPhone string Destination contact phone number
route string Polyline describing driver route
driver object Driver Delivery driver
isSelfDelivery boolean Return if delivery is done by selling point drivers
forSenderInstructions string Instructions for sender, for example pay the delivery
deliveryTrackingUrl string Delivery tracking url
MODEL EXAMPLES

Example

{
    "id": 1003,
    "deliveryAccountName": "DeliveryCompanyName",
    "deliveryAccountPhone": "600000001",
    "pickupAddress": {
        "id": 1003,
        "street": "C/ Example, 23",
        "details": "Canada building",
        "city": "City name",
        "province": "Province name",
        "postalCode": "12345",
        "latitude": 41.308166,
        "longitude": 2.019725,
        "googlePlaceId": "xxxxxxxxxxxx",
        "placeName": "C/ Example, 23, City name"
    },
    "deliveryAddress": {
        "id": 1003,
        "street": "C/ Example, 23",
        "details": "Canada building",
        "city": "City name",
        "province": "Province name",
        "postalCode": "12345",
        "latitude": 41.308166,
        "longitude": 2.019725,
        "googlePlaceId": "xxxxxxxxxxxx",
        "placeName": "C/ Example, 23, City name"
    },
    "pickupAgreedAt": "2017-02-09T12:00:00+0000",
    "pickupConfirmedAt": "2017-02-09T12:00:00+0000",
    "deliveryAgreedAt": "2017-02-09T12:15:00+0000",
    "deliveryConfirmedAt": "2017-02-09T12:15:00+0000",
    "deliveryInstructions": null,
    "linearDistance": "1.56",
    "realDistance": "1.97",
    "estimatedDeliveryDuration": "15",
    "status": {
        "code": "PICKING",
        "name": "Picking",
        "color": "blue",
        "isFinalStatus": false
    },
    "destinationContactEmail": "jane@example.com",
    "destinationContactName": "Jane",
    "destinationContactPhone": "600000000",
    "route": "c_c{FmniKrBcBnAkA@QCMMg@_BbBoEzEEyD?GCQIKMAKB{DsDiBmBq@_A?EAKCICCtDqFtB}ChCwDPPxCrCj@h@",
    "driver": {
        "id": 1003,
        "email": "john@example.com",
        "name": "John",
        "lastname": "Doe",
        "image": "https://cdn.sinqro.com/assets/images/placeholder_image.jpg",
        "phone": "+34600000000",
        "transport": {
            "code": "SCOOTER",
            "name": "Scooter"
        },
        "lastGeolocation": {
            "latitude": 41.308166,
            "longitude": 2.019725,
            "createdAt": "2018-03-015T12:15:00+0000"
        }
    },
    "isSelfDelivery": false
}
Discount
MODEL ATTRIBUTES

Only for orderLine type DISCOUNT

id integer (int64) Discount identifier
MODEL EXAMPLES

Example

{
    "id": "233"
}
Driver
MODEL ATTRIBUTES

Delivery driver

id integer (int64) Driver identifier
email string Driver email
name string Driver name
lastname string Driver last name
image string Driver image url
phone string In international format. Ex. +34600000000
transport object TransportType
lastGeolocation object Geolocation Driver last geolocation
MODEL EXAMPLES

Example

{
    "id": 1003,
    "email": "john@example.com",
    "name": "John",
    "lastname": "Doe",
    "image": "https://cdn.sinqro.com/assets/images/placeholder_image.jpg",
    "phone": "+34600000000",
    "transport": {
        "code": "SCOOTER",
        "name": "Scooter"
    },
    "lastGeolocation": {
        "latitude": 41.308166,
        "longitude": 2.019725,
        "createdAt": "2018-03-015T12:15:00+0000"
    }
}
Error
MODEL ATTRIBUTES

Error

code string Error code identifier
message string Error description
MODEL EXAMPLES

Example

{
    "code": "ERROR_CODE_EXAMPLE",
    "message": "Error message"
}
ErrorResponse
MODEL ATTRIBUTES

Error response

errors array Error Errors
code string Error code identifier
message string Error description
httpResponseCode string HTTP response code
MODEL EXAMPLES

Example

{
    "errors": [
        {
            "code": "ERROR_CODE_EXAMPLE",
            "message": "Error message"
        }
    ],
    "code": "ERROR_CODE_EXAMPLE",
    "message": "Error message",
    "httpResponseCode": "400"
}
Geolocation
MODEL ATTRIBUTES

Driver last geolocation

latitude number (float) Geolocation latitude
longitude number (float) Geolocation longitude
createdAt string (date-time) Geolocation creation time
MODEL EXAMPLES

Example

{
    "latitude": 41.308166,
    "longitude": 2.019725,
    "createdAt": "2018-03-015T12:15:00+0000"
}
Market
MODEL ATTRIBUTES

Order Market

name string Market name
darkLogo string Dark logo url
lightLogo string Light logo url
horizontalLogo string Horizontal logo url
squareLogo string Square logo url
MODEL EXAMPLES

Example

{
    "name": "My Restaurant",
    "darkLogo": "http://mycdn.com/darkLogo.jpeg",
    "lightLogo": "http://mycdn.com/lightLogo.jpeg",
    "horizontalLogo": "http://mycdn.com/horizontalLogo.jpeg",
    "squareLogo": "http://mycdn.com/squareLogo.jpeg"
}
Menu
MODEL ATTRIBUTES

Menu

id integer (int64) Menu identifier
name string Menu name
type string Menu type code

Possible values
menu
setmenu
position integer (int32) Menu position
allowedOrderTypes array Menu allowed order types code. More info in 'Understanding order types' section.
price object PriceData
shortDescription string Menu description
menuSections array MenuSection Menu sections information
urlKey string Encoded name for url
schedule object Schedule
public boolean Returns true if the menu is public and can be displayed for consumers
menuSelection object MenuSelection Last menu selection. Define which products are now available to sold in the menu and in which dates.
externalId string Custom identifier
MODEL EXAMPLES

Example

{
    "id": 543,
    "name": "Pizzas",
    "type": "menu",
    "position": 1,
    "allowedOrderTypes": [
        null
    ],
    "price": {
        "amount": 11.75,
        "vatValue": 10.0
    },
    "shortDescription": "Our best pizzas",
    "menuSections": [
        {
            "id": "298",
            "name": "Gluten free",
            "shortDescription": "Gluten free pizzas",
            "position": 1,
            "minSelection": 0,
            "maxSelection": 0,
            "showProductImages": true,
            "selectionLabel": "One required",
            "products": [
                {
                    "id": "843",
                    "name": "Neapolitan Pizza",
                    "image": "https://cdn.sinqro.com/assets/images/placeholder_image.jpg",
                    "price": {
                        "amount": 11.5,
                        "vatValue": 10.0
                    },
                    "public": true,
                    "featured": false,
                    "productVariants": [
                        {
                            "id": "843",
                            "name": "XXL size",
                            "image": "https://cdn.sinqro.com/assets/images/placeholder_image.jpg",
                            "price": {
                                "amount": 14,
                                "vatValue": 10.0
                            },
                            "public": true,
                            "featured": false
                        }
                    ]
                }
            ]
        }
    ],
    "urlKey": "menu-name",
    "schedule": {
        "id": 2113,
        "ranges": [
            {
                "startTime": "06:00:00",
                "endTime": "18:00:00",
                "timezone": "Europe/Madrid",
                "startDay": {
                    "id": 1,
                    "name": "Lunes"
                },
                "endDay": {
                    "id": 1,
                    "name": "Lunes"
                }
            }
        ],
        "name": "Delivery schedule"
    },
    "public": true,
    "menuSelection": {
        "startDate": "2017-02-12T21:30:00+0000",
        "endDate": "2017-02-15T21:30:00+0000",
        "menuSections": [
            {
                "id": "298",
                "name": "Gluten free",
                "shortDescription": "Gluten free pizzas",
                "position": 1,
                "minSelection": 0,
                "maxSelection": 0,
                "showProductImages": true,
                "selectionLabel": "One required",
                "selectedProducts": [
                    {
                        "id": "843",
                        "name": "Neapolitan Pizza",
                        "image": "https://cdn.sinqro.com/assets/images/placeholder_image.jpg",
                        "price": {
                            "amount": 11.5,
                            "vatValue": 10.0
                        },
                        "public": true,
                        "featured": false,
                        "productVariants": [
                            {
                                "id": "843",
                                "name": "XXL size",
                                "image": "https://cdn.sinqro.com/assets/images/placeholder_image.jpg",
                                "price": {
                                    "amount": 14,
                                    "vatValue": 10.0
                                },
                                "public": true,
                                "featured": false
                            }
                        ]
                    }
                ]
            }
        ]
    },
    "externalId": "external_reference"
}
Menu
MODEL ATTRIBUTES

Only for orderLine type MENU

id integer (int64) Menu identifier
externalId string Custom identifier
MODEL EXAMPLES

Example

{
    "id": 543
}
MenuCollectionInputData
The attributes definition for this model is not available yet; we can show you an example.
Despite this you can find the definition in other models in this document.
MODEL EXAMPLES

Example

[
    {
        "name": "Set Menu name",
        "externalId": "ext_m1",
        "type": "setmenu",
        "position": 1,
        "public": true,
        "allowedOrderTypes": [
            "delivery",
            "collection",
            "insitu"
        ],
        "availableFrom": "2019-01-01T00:00:00+0000",
        "availableTo": "2019-07-01T00:00:00+0000",
        "price": {
            "amount": 16.9,
            "vatValue": 10.0
        },
        "shortDescription": "Set menu description",
        "menuSections": [
            {
                "externalId": "ext_ms_1",
                "name": "First set menu section name",
                "shortDescription": "First set menu section description",
                "position": 1,
                "minSelection": 1,
                "maxSelection": 1,
                "productsIds": [
                    34332,
                    34333,
                    34334,
                    34335
                ]
            },
            {
                "externalId": "ext_ms_1",
                "name": "Second set menu section name",
                "shortDescription": "Second set menu section description",
                "position": 1,
                "minSelection": 1,
                "maxSelection": 1,
                "productsIds": [
                    39371,
                    39372,
                    39373,
                    39374
                ]
            }
        ],
        "scheduleId": null
    },
    {
        "name": "Menu name",
        "externalId": "ext_m2",
        "type": "menu",
        "position": 2,
        "public": true,
        "allowedOrderTypes": [
            "delivery",
            "collection",
            "insitu"
        ],
        "shortDescription": "Menu description",
        "menuSections": [
            {
                "externalId": "ext_ms_3",
                "name": "First menu section name",
                "shortDescription": "First menu section description",
                "position": 1,
                "productsIds": [
                    12391,
                    12392,
                    12393,
                    12394
                ]
            },
            {
                "externalId": "ext_ms_4",
                "name": "Second menu section name",
                "shortDescription": "Second menu section description",
                "position": 2,
                "productsIds": [
                    99211,
                    99212,
                    99213,
                    99214
                ]
            }
        ]
    }
]
MenuCollectionRawInputData
The attributes definition for this model is not available yet; we can show you an example.
Despite this you can find the definition in other models in this document.
MODEL EXAMPLES

Example

{
    "autoSelection": true,
    "menus": [
        {
            "name": "Our menu",
            "type": "menu",
            "externalId": "XXX",
            "public": true,
            "allowedOrderTypes": [
                "delivery",
                "collection",
                "insitu",
                "inside"
            ],
            "schedule": {
                "name": "Our menu schedule",
                "scheduleRanges": [
                    {
                        "startDay": 1,
                        "endDay": 1,
                        "startTime": "07:00",
                        "endTime": "10:30"
                    },
                    {
                        "startDay": 2,
                        "endDay": 2,
                        "startTime": "07:00",
                        "endTime": "10:30"
                    },
                    {
                        "startDay": 3,
                        "endDay": 3,
                        "startTime": "07:00",
                        "endTime": "10:30"
                    },
                    {
                        "startDay": 4,
                        "endDay": 4,
                        "startTime": "07:00",
                        "endTime": "10:30"
                    },
                    {
                        "startDay": 5,
                        "endDay": 5,
                        "startTime": "07:00",
                        "endTime": "10:30"
                    },
                    {
                        "startDay": 6,
                        "endDay": 6,
                        "startTime": "10:00",
                        "endTime": "16:30"
                    },
                    {
                        "startDay": 6,
                        "endDay": 6,
                        "startTime": "20:00",
                        "endTime": "23:59"
                    },
                    {
                        "startDay": 7,
                        "endDay": 7,
                        "startTime": "13:00",
                        "endTime": "23:59"
                    }
                ]
            },
            "menuSections": [
                {
                    "externalId": "12-345",
                    "name": "Maldito Tacos",
                    "position": 11,
                    "products": [
                        {
                            "name": "MEADLE EAST GREEN",
                            "externalId": "101-113-6-5",
                            "price": {
                                "amount": 10,
                                "vatValue": 10
                            },
                            "public": true,
                            "featured": false,
                            "isAvailable": true,
                            "addProductOptionsToVariants": false,
                            "productVariants": [],
                            "tags": [],
                            "image": "https://xxxxx.com/sfsdf.png",
                            "productOptionsCategories": [
                                {
                                    "externalId": null,
                                    "name": "Extras",
                                    "minSelection": 0,
                                    "maxSelection": 100,
                                    "maxSameOptionSelection": 100,
                                    "productOptions": [
                                        {
                                            "externalId": "102-114--",
                                            "name": "EXTRA PAN",
                                            "price": {
                                                "amount": 1,
                                                "vatValue": 10
                                            }
                                        },
                                        {
                                            "externalId": "103-115--",
                                            "name": "EXTRA QUESO AZUL",
                                            "price": {
                                                "amount": 1,
                                                "vatValue": 10
                                            }
                                        },
                                        {
                                            "externalId": "104-116--",
                                            "name": "EXTRA QUESO FETA",
                                            "price": {
                                                "amount": 1,
                                                "vatValue": 10
                                            }
                                        },
                                        {
                                            "externalId": "105-117--",
                                            "name": "EXTRA TOSTADAS CEREALES",
                                            "price": {
                                                "amount": 1,
                                                "vatValue": 10
                                            }
                                        },
                                        {
                                            "externalId": "106-118--",
                                            "name": "EXTRA TOTOPOS",
                                            "price": {
                                                "amount": 1,
                                                "vatValue": 10
                                            }
                                        },
                                        {
                                            "externalId": "107-119--",
                                            "name": "EXTRA PESTO WHEATGRASS",
                                            "price": {
                                                "amount": 1,
                                                "vatValue": 10
                                            }
                                        }
                                    ]
                                }
                            ]
                        }
                    ]
                }
            ]
        }
    ]
}
MenuInputData
The attributes definition for this model is not available yet; we can show you an example.
Despite this you can find the definition in other models in this document.
MODEL EXAMPLES

Example

{
    "id": 77261,
    "name": "New menu name",
    "externalId": "new_set_menu_external_id",
    "type": "setmenu",
    "position": 3,
    "public": true,
    "allowedOrderTypes": [
        "delivery",
        "collection"
    ],
    "availableFrom": "2017-02-01T00:00:00+0000",
    "availableTo": "2017-02-12T00:00:00+0000",
    "price": {
        "amount": 12.75,
        "vatValue": 10.0
    },
    "shortDescription": "New set menu description",
    "menuSections": [
        {
            "id": 223991,
            "externalId": "new_menu_section_external_id",
            "name": "New menu section name",
            "shortDescription": "New menu section description",
            "position": 1,
            "minSelection": 1,
            "maxSelection": 1,
            "productsIds": [
                321212,
                321213,
                321214
            ]
        },
        {
            "id": 223992
        },
        {
            "externalId": "new_menu_section_created_external_id",
            "name": "New menu section created name",
            "shortDescription": "New menu section created description",
            "position": 2,
            "minSelection": 1,
            "maxSelection": 1,
            "productsIds": [
                55321,
                55322,
                55323
            ]
        }
    ]
}
MenuSection
MODEL ATTRIBUTES

Menu section information

id integer (int64) Menu section identifier
externalId string Custom identifier
name string Menu section name
shortDescription string Menu section short description. Used in checkout.
position integer (int32) Menu section position
minSelection integer (int32) Required minimum of products selected by consumer. Only apply to setmenu menus
maxSelection integer (int32) Maximum of products that can be selected by consumer. Only apply to setmenu menus
showProductImages boolean Indicates if product images has to be shown
selectionLabel string Text describing the minimum and maximum number of products can be selected by the consumer in this section. Only apply to setmenu menus
products array PartialProduct Menu section products
MODEL EXAMPLES

Example

{
    "id": "298",
    "name": "Gluten free",
    "shortDescription": "Gluten free pizzas",
    "position": 1,
    "minSelection": 0,
    "maxSelection": 0,
    "showProductImages": true,
    "selectionLabel": "One required",
    "products": [
        {
            "id": "843",
            "name": "Neapolitan Pizza",
            "image": "https://cdn.sinqro.com/assets/images/placeholder_image.jpg",
            "price": {
                "amount": 11.5,
                "vatValue": 10.0
            },
            "public": true,
            "featured": false,
            "productVariants": [
                {
                    "id": "843",
                    "name": "XXL size",
                    "image": "https://cdn.sinqro.com/assets/images/placeholder_image.jpg",
                    "price": {
                        "amount": 14,
                        "vatValue": 10.0
                    },
                    "public": true,
                    "featured": false
                }
            ]
        }
    ]
}
MenuSection
MODEL ATTRIBUTES

Menu section included in menu selection

id integer (int64) Menu section identifier
externalId string Custom identifier
name string Menu section name
shortDescription string Menu section short description. Used in checkout.
position integer (int32) Menu section position
minSelection integer (int32) Required minimum of products selected by consumer. Only apply to setmenu menus
maxSelection integer (int32) Maximum of products that can be selected by consumer. Only apply to setmenu menus
showProductImages boolean Indicates if product images has to be shown
selectionLabel string Text describing the minimum and maximum number of products can be selected by the consumer in this section. Only apply to setmenu menus
selectedProducts array PartialProduct Menu selection section products
MODEL EXAMPLES

Example

{
    "id": "298",
    "name": "Gluten free",
    "shortDescription": "Gluten free pizzas",
    "position": 1,
    "minSelection": 0,
    "maxSelection": 0,
    "showProductImages": true,
    "selectionLabel": "One required",
    "selectedProducts": [
        {
            "id": "843",
            "name": "Neapolitan Pizza",
            "image": "https://cdn.sinqro.com/assets/images/placeholder_image.jpg",
            "price": {
                "amount": 11.5,
                "vatValue": 10.0
            },
            "public": true,
            "featured": false,
            "productVariants": [
                {
                    "id": "843",
                    "name": "XXL size",
                    "image": "https://cdn.sinqro.com/assets/images/placeholder_image.jpg",
                    "price": {
                        "amount": 14,
                        "vatValue": 10.0
                    },
                    "public": true,
                    "featured": false
                }
            ]
        }
    ]
}
MenuSection
MODEL ATTRIBUTES
id integer (int64) Menu section identifier
externalId string Custom identifier
name string Menu section name
MODEL EXAMPLES

Example

{
    "id": "298",
    "name": "Gluten free"
}
MenuSelection
MODEL ATTRIBUTES

Last menu selection. Define which products are now available to sold in the menu and in which dates.

startDate string (date-time) Menu selection available from time
endDate string (date-time) Menu selection expiration time. If this value is null, menu selection doesn't expires
menuSections array MenuSection Menu sections included in menu selection
MODEL EXAMPLES

Example

{
    "startDate": "2017-02-12T21:30:00+0000",
    "endDate": "2017-02-15T21:30:00+0000",
    "menuSections": [
        {
            "id": "298",
            "name": "Gluten free",
            "shortDescription": "Gluten free pizzas",
            "position": 1,
            "minSelection": 0,
            "maxSelection": 0,
            "showProductImages": true,
            "selectionLabel": "One required",
            "selectedProducts": [
                {
                    "id": "843",
                    "name": "Neapolitan Pizza",
                    "image": "https://cdn.sinqro.com/assets/images/placeholder_image.jpg",
                    "price": {
                        "amount": 11.5,
                        "vatValue": 10.0
                    },
                    "public": true,
                    "featured": false,
                    "productVariants": [
                        {
                            "id": "843",
                            "name": "XXL size",
                            "image": "https://cdn.sinqro.com/assets/images/placeholder_image.jpg",
                            "price": {
                                "amount": 14,
                                "vatValue": 10.0
                            },
                            "public": true,
                            "featured": false
                        }
                    ]
                }
            ]
        }
    ]
}
NewOrderStatus
The attributes definition for this model is not available yet; we can show you an example.
Despite this you can find the definition in other models in this document.
MODEL EXAMPLES

Example

{
    "orderStatusTypeCode": "accepted",
    "cancellationReason": "",
    "delayMinutes": 10
}
Order
MODEL ATTRIBUTES

Order

id integer (int64) Order identifier
totalAmount number (float) Total order amount VAT included
executionTimeLabel string Short text representing order execution time
executionTime string Order execution time
comment string Consumer order comment
cancellationComment string Only if order is cancelled
consumer object Consumer
status object OrderStatus Current order status
type string Order type code. More info in 'Understanding order types' section.

Possible values
delivery
collection
insitu
reservation
inside
sellingPoint object SellingPoint Selling point data
payments array Payment Order payments
orderLines array OrderLine Order items
deliveryAmount number (float) Delivery amount. Only for delivery orders.
deliveryAddress object Delivery address Only for delivery orders
deliveries array Delivery Order deliveries
dinersNumber integer (int64) Number of diners. Only for reservations, insitu and inside orders.
isCancellable boolean Returns true if order can be cancelled
createdAt string Order creation time
preparationTime string Order preparation time
isAsap boolean Returns true if the consumer has selected ASAP execution time
market object Market Order Market
posOrderId string POS order identifier
marketOrderId string Market order identifier
marketOrderCode string Market order code
baseAmount number (float) Total order amount VAT excluded
currency object Currency Currency
isAcceptable boolean Shows if the order can be accepted through Sinqro system or the order needs to be accepted using an external device
MODEL EXAMPLES

Delivery order example - POS

{
    "id": 422429,
    "orderGroupId": null,
    "totalAmount": 58.85,
    "executionTimeLabel": "hoy 24/07 a las 07:05h",
    "preparationTimeLabel": "hoy 24/07 a las 06:55h",
    "comment": "This is the order comment!",
    "cancellationComment": null,
    "consumer": {
        "id": 19077,
        "name": "Client_99041",
        "lastname": "Lastname_99041",
        "email": null,
        "phone": "+34600000000",
        "image": null,
        "notificationsChannel": "d4788ad4deca6d07937eac0dbc96aef0",
        "chatToken": null,
        "posClientId": null,
        "marketClientId": null
    },
    "status": {
        "code": "waiting_sp_validation",
        "name": "Esperando validación del negocio",
        "color": "#f7981d",
        "isFinalStatus": false,
        "globalStatusCode": "processing"
    },
    "type": "delivery",
    "sellingPoint": {
        "id": 3961,
        "name": "SuperPizza",
        "address": {
            "id": 16187,
            "street": "Carrer de la Tecnologia, 17",
            "details": "",
            "city": "Viladecans",
            "province": "Barcelona",
            "postalCode": "08840",
            "latitude": 41.31372,
            "longitude": 2.031222,
            "googlePlaceId": "ChIJRQPl5lmcpBIRXpga-ZW5xvY",
            "placeName": "Carrer de la Tecnologia, 17, 08840 Viladecans, Barcelona, España",
            "autoGeolocated": true
        },
        "phone": "+34900000000",
        "email": "superpizza@example.com",
        "logo": "https://content.sinqro.com/e4cd836538_f79efe5783_82291551976531iconImagesqd2mt.png",
        "mainImage": "https://content.sinqro.com/d770d57632_4e01533575_85091551975570baked-cheese-cherry-tomato-1552635.png",
        "mainImageLarge": "https://content.sinqro.com/1551975570_bab77d7d5bbcec5e64cd3c1ac22c56ee.png",
        "listImage": "https://content.sinqro.com/d770d57632_4e01533575_85091551975570baked-cheese-cherry-tomato-1552635.png",
        "listImageLarge": "https://content.sinqro.com/1551975570_bab77d7d5bbcec5e64cd3c1ac22c56ee.png",
        "type": "Pizzería",
        "urlKey": "superpizza-viladecans",
        "timezone": "Europe/Madrid"
    },
    "payments": [
        {
            "id": 55066,
            "amount": 58.85,
            "paymentMethodName": "Efectivo",
            "prepaid": false,
            "methodCode": "CASH",
            "status": {
                "code": "CREATED",
                "name": "Iniciado",
                "color": "#000000",
                "isFinalStatus": false
            }
        }
    ],
    "orderLines": [
        {
            "type": "PRODUCT",
            "totalAmount": 11.5,
            "unitPrice": 11.5,
            "quantity": 1,
            "label": "Pizza de la huerta",
            "comment": "Comment 1",
            "childrenOrderLines": [
                {
                    "type": "PRODUCT_OPTION",
                    "totalAmount": 0.5,
                    "unitPrice": 0.5,
                    "quantity": 1,
                    "label": "Cebolla",
                    "comment": null,
                    "childrenOrderLines": [],
                    "baseAmount": 0.45,
                    "vatAmount": 0.05,
                    "vatValue": 10,
                    "productOption": {
                        "id": 234820,
                        "externalId": null
                    }
                }
            ],
            "baseAmount": 10.45,
            "vatAmount": 1.05,
            "vatValue": 10,
            "product": {
                "id": 109838,
                "externalId": null
            }
        },
        {
            "type": "PRODUCT",
            "totalAmount": 41.85,
            "unitPrice": 13.95,
            "quantity": 3,
            "label": "Pizza 4 estaciones",
            "comment": null,
            "childrenOrderLines": [
                {
                    "type": "PRODUCT_OPTION",
                    "totalAmount": 1.0,
                    "unitPrice": 1.0,
                    "quantity": 1,
                    "label": "Champiñones",
                    "comment": null,
                    "childrenOrderLines": [],
                    "baseAmount": 0.91,
                    "vatAmount": 0.09,
                    "vatValue": 10,
                    "productOption": {
                        "id": 234818,
                        "externalId": null
                    }
                }
            ],
            "baseAmount": 38.05,
            "vatAmount": 3.8,
            "vatValue": 10,
            "product": {
                "id": 109839,
                "externalId": null
            }
        },
        {
            "type": "PRODUCT",
            "totalAmount": 4.5,
            "unitPrice": 1.5,
            "quantity": 3,
            "label": "Agua 0.5L",
            "comment": null,
            "childrenOrderLines": [],
            "baseAmount": 4.09,
            "vatAmount": 0.41,
            "vatValue": 10,
            "product": {
                "id": 109841,
                "externalId": null
            }
        },
        {
            "type": "DELIVERY",
            "totalAmount": 1.0,
            "unitPrice": 1.0,
            "quantity": 1,
            "label": "Delivery cost",
            "comment": null,
            "childrenOrderLines": [],
            "baseAmount": 0.83,
            "vatAmount": 0.17,
            "vatValue": 21,
            "distance": 0.0
        }
    ],
    "isCancellable": true,
    "isAcceptable": true,
    "baseAmount": 53.42,
    "vatAmount": 5.43,
    "currency": {
        "isoCode": "EUR",
        "symbol": "€",
        "displayPattern": "{{ amount }}€"
    },
    "market": {
        "id": 554,
        "name": "SuperMarketplace",
        "darkLogo": null,
        "lightLogo": null,
        "horizontalLogo": null,
        "squareLogo": null
    },
    "createdAt": "2020-07-24T04:25:53+0000",
    "preparationTime": "2020-07-24T04:55:53+0000",
    "isAsap": false,
    "posOrderId": null,
    "marketOrderId": "99041",
    "marketOrderCode": "VLV3CW",
    "executionTime": "2020-07-24T05:05:53+0000",
    "deliveryAmount": 1.0,
    "deliveryAddress": {
        "id": 16343,
        "street": "Carrer de la Tecnologia, 17",
        "details": null,
        "city": "Viladecans",
        "province": "Barcelona",
        "postalCode": "08840",
        "latitude": 41.31372,
        "longitude": 2.031222,
        "googlePlaceId": "ChIJRQPl5lmcpBIRXpga-ZW5xvY",
        "placeName": "Carrer de la Tecnologia, 17, 08840 Viladecans, Barcelona, España",
        "autoGeolocated": true
    },
    "deliveries": [
        {
            "id": 285638,
            "status": {
                "code": "WAITING_SELLING_POINT_ACCEPTANCE",
                "name": "Esperando aceptación punto de venta",
                "color": "#f7981d",
                "isFinalStatus": false
            },
            "driver": null,
            "deliveryAccountName": null,
            "deliveryAccountPhone": null,
            "pickupAddress": {
                "id": 16187,
                "street": "Carrer de la Tecnologia, 17",
                "details": "",
                "city": "Viladecans",
                "province": "Barcelona",
                "postalCode": "08840",
                "latitude": 41.31372,
                "longitude": 2.031222,
                "googlePlaceId": "ChIJRQPl5lmcpBIRXpga-ZW5xvY",
                "placeName": "Carrer de la Tecnologia, 17, 08840 Viladecans, Barcelona, España",
                "autoGeolocated": true
            },
            "pickupAgreedAt": "2020-07-24T04:55:53+0000",
            "pickupConfirmedAt": "2020-07-24T04:55:53+0000",
            "deliveryAddress": {
                "id": 16343,
                "street": "Carrer de la Tecnologia, 17",
                "details": null,
                "city": "Viladecans",
                "province": "Barcelona",
                "postalCode": "08840",
                "latitude": 41.31372,
                "longitude": 2.031222,
                "googlePlaceId": "ChIJRQPl5lmcpBIRXpga-ZW5xvY",
                "placeName": "Carrer de la Tecnologia, 17, 08840 Viladecans, Barcelona, España",
                "autoGeolocated": true
            },
            "deliveryAgreedAt": "2020-07-24T05:05:53+0000",
            "deliveryConfirmedAt": "2020-07-24T05:05:53+0000",
            "deliveryInstructions": null,
            "forSenderInstructions": null,
            "linearDistance": 0.0,
            "realDistance": null,
            "route": null,
            "estimatedDeliveryDuration": 0,
            "destinationContactEmail": null,
            "destinationContactName": "Client_99041 · Lastname_99041",
            "destinationContactPhone": "600000000",
            "isSelfDelivery": true,
            "trackingUrl": "https://tracking.sinqro.com/es-es/delivery?t=023899da0799c34864fe3d8a939f3a58"
        }
    ]
}

Collection order example - POS

{
    "id": 422446,
    "orderGroupId": null,
    "totalAmount": 59.9,
    "executionTimeLabel": "hoy 24/07 a las 06:55h",
    "preparationTimeLabel": "hoy 24/07 a las 06:55h",
    "comment": "This is the order comment!",
    "cancellationComment": null,
    "consumer": {
        "id": 19078,
        "name": "Client_52038",
        "lastname": "Lastname_52038",
        "email": null,
        "phone": "+34600000000",
        "image": null,
        "notificationsChannel": "df760cc7f3b59af7f522d89cf95a46ed",
        "chatToken": null,
        "posClientId": null,
        "marketClientId": null
    },
    "status": {
        "code": "waiting_sp_validation",
        "name": "Esperando validación del negocio",
        "color": "#f7981d",
        "isFinalStatus": false,
        "globalStatusCode": "processing"
    },
    "type": "collection",
    "sellingPoint": {
        "id": 3961,
        "name": "SuperPizza",
        "address": {
            "id": 16187,
            "street": "Carrer de la Tecnologia, 17",
            "details": "",
            "city": "Viladecans",
            "province": "Barcelona",
            "postalCode": "08840",
            "latitude": 41.31372,
            "longitude": 2.031222,
            "googlePlaceId": "ChIJRQPl5lmcpBIRXpga-ZW5xvY",
            "placeName": "Carrer de la Tecnologia, 17, 08840 Viladecans, Barcelona, España",
            "autoGeolocated": true
        },
        "phone": "+34900000000",
        "email": "superpizza@example.com",
        "logo": "https://content.sinqro.com/e4cd836538_f79efe5783_82291551976531iconImagesqd2mt.png",
        "mainImage": "https://content.sinqro.com/d770d57632_4e01533575_85091551975570baked-cheese-cherry-tomato-1552635.png",
        "mainImageLarge": "https://content.sinqro.com/1551975570_bab77d7d5bbcec5e64cd3c1ac22c56ee.png",
        "listImage": "https://content.sinqro.com/d770d57632_4e01533575_85091551975570baked-cheese-cherry-tomato-1552635.png",
        "listImageLarge": "https://content.sinqro.com/1551975570_bab77d7d5bbcec5e64cd3c1ac22c56ee.png",
        "type": "Pizzería",
        "urlKey": "superpizza-viladecans",
        "timezone": "Europe/Madrid"
    },
    "payments": [
        {
            "id": 55067,
            "amount": 59.9,
            "paymentMethodName": "Efectivo",
            "prepaid": false,
            "methodCode": "CASH",
            "status": {
                "code": "DONE",
                "name": "Finalizado",
                "color": "#5aac44",
                "isFinalStatus": false
            }
        }
    ],
    "orderLines": [
        {
            "type": "PRODUCT",
            "totalAmount": 25.0,
            "unitPrice": 12.5,
            "quantity": 2,
            "label": "Pizza de la huerta",
            "comment": "Comment 1",
            "childrenOrderLines": [
                {
                    "type": "PRODUCT_OPTION",
                    "totalAmount": 1.5,
                    "unitPrice": 1.5,
                    "quantity": 1,
                    "label": "Jamón Serrano",
                    "comment": null,
                    "childrenOrderLines": [],
                    "baseAmount": 1.36,
                    "vatAmount": 0.14,
                    "vatValue": 10,
                    "productOption": {
                        "id": 234817,
                        "externalId": null
                    }
                }
            ],
            "baseAmount": 22.73,
            "vatAmount": 2.27,
            "vatValue": 10,
            "product": {
                "id": 109838,
                "externalId": null
            }
        },
        {
            "type": "PRODUCT",
            "totalAmount": 28.9,
            "unitPrice": 14.45,
            "quantity": 2,
            "label": "Pizza 4 estaciones",
            "comment": "Comment 2",
            "childrenOrderLines": [
                {
                    "type": "PRODUCT_OPTION",
                    "totalAmount": 1.5,
                    "unitPrice": 1.5,
                    "quantity": 1,
                    "label": "Jamón Serrano",
                    "comment": null,
                    "childrenOrderLines": [],
                    "baseAmount": 1.36,
                    "vatAmount": 0.14,
                    "vatValue": 10,
                    "productOption": {
                        "id": 234817,
                        "externalId": null
                    }
                }
            ],
            "baseAmount": 26.27,
            "vatAmount": 2.63,
            "vatValue": 10,
            "product": {
                "id": 109839,
                "externalId": null
            }
        },
        {
            "type": "PRODUCT",
            "totalAmount": 6.0,
            "unitPrice": 2.0,
            "quantity": 3,
            "label": "Refresco limón",
            "comment": null,
            "childrenOrderLines": [],
            "baseAmount": 5.45,
            "vatAmount": 0.55,
            "vatValue": 10,
            "product": {
                "id": 109843,
                "externalId": null
            }
        }
    ],
    "isCancellable": true,
    "isAcceptable": true,
    "baseAmount": 54.45,
    "vatAmount": 5.45,
    "currency": {
        "isoCode": "EUR",
        "symbol": "€",
        "displayPattern": "{{ amount }}€"
    },
    "market": {
        "id": 554,
        "name": "SuperMarketplace",
        "darkLogo": null,
        "lightLogo": null,
        "horizontalLogo": null,
        "squareLogo": null
    },
    "createdAt": "2020-07-24T04:25:55+0000",
    "preparationTime": "2020-07-24T04:55:55+0000",
    "isAsap": false,
    "posOrderId": null,
    "marketOrderId": "52038",
    "marketOrderCode": "KDL9BH",
    "executionTime": "2020-07-24T04:55:55+0000"
}

Reservation example - POS

{
    "id": 422480,
    "orderGroupId": null,
    "totalAmount": 0.0,
    "executionTimeLabel": "hoy 24/07 a las 06:56h",
    "preparationTimeLabel": "hoy 24/07 a las 06:56h",
    "comment": "This is the order comment!",
    "cancellationComment": null,
    "consumer": {
        "id": 19080,
        "name": "Client_80706",
        "lastname": "Lastname_80706",
        "email": null,
        "phone": "+34600000000",
        "image": null,
        "notificationsChannel": "8d0b561206d10c355de0de1a73689615",
        "chatToken": null,
        "posClientId": null,
        "marketClientId": null
    },
    "status": {
        "code": "waiting_sp_validation",
        "name": "Esperando validación del negocio",
        "color": "#f7981d",
        "isFinalStatus": false,
        "globalStatusCode": "processing"
    },
    "type": "reservation",
    "sellingPoint": {
        "id": 3961,
        "name": "SuperPizza",
        "address": {
            "id": 16187,
            "street": "Carrer de la Tecnologia, 17",
            "details": "",
            "city": "Viladecans",
            "province": "Barcelona",
            "postalCode": "08840",
            "latitude": 41.31372,
            "longitude": 2.031222,
            "googlePlaceId": "ChIJRQPl5lmcpBIRXpga-ZW5xvY",
            "placeName": "Carrer de la Tecnologia, 17, 08840 Viladecans, Barcelona, España",
            "autoGeolocated": true
        },
        "phone": "+34900000000",
        "email": "superpizza@example.com",
        "logo": "https://content.sinqro.com/e4cd836538_f79efe5783_82291551976531iconImagesqd2mt.png",
        "mainImage": "https://content.sinqro.com/d770d57632_4e01533575_85091551975570baked-cheese-cherry-tomato-1552635.png",
        "mainImageLarge": "https://content.sinqro.com/1551975570_bab77d7d5bbcec5e64cd3c1ac22c56ee.png",
        "listImage": "https://content.sinqro.com/d770d57632_4e01533575_85091551975570baked-cheese-cherry-tomato-1552635.png",
        "listImageLarge": "https://content.sinqro.com/1551975570_bab77d7d5bbcec5e64cd3c1ac22c56ee.png",
        "type": "Pizzería",
        "urlKey": "superpizza-viladecans",
        "timezone": "Europe/Madrid"
    },
    "payments": [],
    "orderLines": [],
    "isCancellable": true,
    "isAcceptable": true,
    "baseAmount": 0.0,
    "vatAmount": 0.0,
    "currency": {
        "isoCode": "EUR",
        "symbol": "€",
        "displayPattern": "{{ amount }}€"
    },
    "market": {
        "id": 554,
        "name": "SuperMarketplace",
        "darkLogo": null,
        "lightLogo": null,
        "horizontalLogo": null,
        "squareLogo": null
    },
    "createdAt": "2020-07-24T04:26:03+0000",
    "preparationTime": "2020-07-24T04:56:02+0000",
    "isAsap": false,
    "posOrderId": null,
    "marketOrderId": "80706",
    "marketOrderCode": "76LQHT",
    "executionTime": "2020-07-24T04:56:02+0000",
    "dinersNumber": 4
}

Insitu order (pre-order with reservation) example - POS

{
    "id": 422463,
    "orderGroupId": null,
    "totalAmount": 53.95,
    "executionTimeLabel": "hoy 24/07 a las 06:55h",
    "preparationTimeLabel": "hoy 24/07 a las 06:55h",
    "comment": "This is the order comment!",
    "cancellationComment": null,
    "consumer": {
        "id": 19079,
        "name": "Client_95274",
        "lastname": "Lastname_95274",
        "email": null,
        "phone": "+34600000000",
        "image": null,
        "notificationsChannel": "c88edfea49667e1bb7cc9a72efc445b9",
        "chatToken": null,
        "posClientId": null,
        "marketClientId": null
    },
    "status": {
        "code": "waiting_sp_validation",
        "name": "Esperando validación del negocio",
        "color": "#f7981d",
        "isFinalStatus": false,
        "globalStatusCode": "processing"
    },
    "type": "insitu",
    "sellingPoint": {
        "id": 3961,
        "name": "SuperPizza",
        "address": {
            "id": 16187,
            "street": "Carrer de la Tecnologia, 17",
            "details": "",
            "city": "Viladecans",
            "province": "Barcelona",
            "postalCode": "08840",
            "latitude": 41.31372,
            "longitude": 2.031222,
            "googlePlaceId": "ChIJRQPl5lmcpBIRXpga-ZW5xvY",
            "placeName": "Carrer de la Tecnologia, 17, 08840 Viladecans, Barcelona, España",
            "autoGeolocated": true
        },
        "phone": "+34900000000",
        "email": "superpizza@example.com",
        "logo": "https://content.sinqro.com/e4cd836538_f79efe5783_82291551976531iconImagesqd2mt.png",
        "mainImage": "https://content.sinqro.com/d770d57632_4e01533575_85091551975570baked-cheese-cherry-tomato-1552635.png",
        "mainImageLarge": "https://content.sinqro.com/1551975570_bab77d7d5bbcec5e64cd3c1ac22c56ee.png",
        "listImage": "https://content.sinqro.com/d770d57632_4e01533575_85091551975570baked-cheese-cherry-tomato-1552635.png",
        "listImageLarge": "https://content.sinqro.com/1551975570_bab77d7d5bbcec5e64cd3c1ac22c56ee.png",
        "type": "Pizzería",
        "urlKey": "superpizza-viladecans",
        "timezone": "Europe/Madrid"
    },
    "payments": [
        {
            "id": 55068,
            "amount": 53.95,
            "paymentMethodName": "Efectivo",
            "prepaid": false,
            "methodCode": "CASH",
            "status": {
                "code": "DONE",
                "name": "Finalizado",
                "color": "#5aac44",
                "isFinalStatus": false
            }
        }
    ],
    "orderLines": [
        {
            "type": "PRODUCT",
            "totalAmount": 36.0,
            "unitPrice": 12.0,
            "quantity": 3,
            "label": "Pizza de la huerta",
            "comment": null,
            "childrenOrderLines": [
                {
                    "type": "PRODUCT_OPTION",
                    "totalAmount": 1.0,
                    "unitPrice": 1.0,
                    "quantity": 1,
                    "label": "Bacon",
                    "comment": null,
                    "childrenOrderLines": [],
                    "baseAmount": 0.91,
                    "vatAmount": 0.09,
                    "vatValue": 10,
                    "productOption": {
                        "id": 234816,
                        "externalId": null
                    }
                }
            ],
            "baseAmount": 32.73,
            "vatAmount": 3.27,
            "vatValue": 10,
            "product": {
                "id": 109838,
                "externalId": null
            }
        },
        {
            "type": "PRODUCT",
            "totalAmount": 13.95,
            "unitPrice": 13.95,
            "quantity": 1,
            "label": "Pizza 4 estaciones",
            "comment": null,
            "childrenOrderLines": [
                {
                    "type": "PRODUCT_OPTION",
                    "totalAmount": 1.0,
                    "unitPrice": 1.0,
                    "quantity": 1,
                    "label": "Champiñones",
                    "comment": null,
                    "childrenOrderLines": [],
                    "baseAmount": 0.91,
                    "vatAmount": 0.09,
                    "vatValue": 10,
                    "productOption": {
                        "id": 234818,
                        "externalId": null
                    }
                }
            ],
            "baseAmount": 12.68,
            "vatAmount": 1.27,
            "vatValue": 10,
            "product": {
                "id": 109839,
                "externalId": null
            }
        },
        {
            "type": "PRODUCT",
            "totalAmount": 4.0,
            "unitPrice": 2.0,
            "quantity": 2,
            "label": "Cerveza 33cl",
            "comment": null,
            "childrenOrderLines": [],
            "baseAmount": 3.64,
            "vatAmount": 0.36,
            "vatValue": 10,
            "product": {
                "id": 109842,
                "externalId": null
            }
        }
    ],
    "isCancellable": true,
    "isAcceptable": true,
    "baseAmount": 49.05,
    "vatAmount": 4.9,
    "currency": {
        "isoCode": "EUR",
        "symbol": "€",
        "displayPattern": "{{ amount }}€"
    },
    "market": {
        "id": 554,
        "name": "SuperMarketplace",
        "darkLogo": null,
        "lightLogo": null,
        "horizontalLogo": null,
        "squareLogo": null
    },
    "createdAt": "2020-07-24T04:25:57+0000",
    "preparationTime": "2020-07-24T04:55:57+0000",
    "isAsap": false,
    "posOrderId": null,
    "marketOrderId": "95274",
    "marketOrderCode": "OGWANU",
    "executionTime": "2020-07-24T04:55:57+0000",
    "dinersNumber": 2
}

Inside order (table service) example - POS

{
    "id": 422497,
    "orderGroupId": 8546,
    "totalAmount": 42.35,
    "executionTimeLabel": "hoy 24/07 a las 06:56h",
    "preparationTimeLabel": "hoy 24/07 a las 06:56h",
    "comment": "This is the order comment!",
    "cancellationComment": null,
    "consumer": {
        "id": 19081,
        "name": "Client_67736",
        "lastname": "Lastname_67736",
        "email": null,
        "phone": "+34600000000",
        "image": null,
        "notificationsChannel": "a8132bb7c96acdbb11e8ac196640a6a3",
        "chatToken": null,
        "posClientId": null,
        "marketClientId": null
    },
    "status": {
        "code": "waiting_sp_validation",
        "name": "Esperando validación del negocio",
        "color": "#f7981d",
        "isFinalStatus": false,
        "globalStatusCode": "processing"
    },
    "type": "inside",
    "sellingPoint": {
        "id": 3961,
        "name": "SuperPizza",
        "address": {
            "id": 16187,
            "street": "Carrer de la Tecnologia, 17",
            "details": "",
            "city": "Viladecans",
            "province": "Barcelona",
            "postalCode": "08840",
            "latitude": 41.31372,
            "longitude": 2.031222,
            "googlePlaceId": "ChIJRQPl5lmcpBIRXpga-ZW5xvY",
            "placeName": "Carrer de la Tecnologia, 17, 08840 Viladecans, Barcelona, España",
            "autoGeolocated": true
        },
        "phone": "+34900000000",
        "email": "superpizza@example.com",
        "logo": "https://content.sinqro.com/e4cd836538_f79efe5783_82291551976531iconImagesqd2mt.png",
        "mainImage": "https://content.sinqro.com/d770d57632_4e01533575_85091551975570baked-cheese-cherry-tomato-1552635.png",
        "mainImageLarge": "https://content.sinqro.com/1551975570_bab77d7d5bbcec5e64cd3c1ac22c56ee.png",
        "listImage": "https://content.sinqro.com/d770d57632_4e01533575_85091551975570baked-cheese-cherry-tomato-1552635.png",
        "listImageLarge": "https://content.sinqro.com/1551975570_bab77d7d5bbcec5e64cd3c1ac22c56ee.png",
        "type": "Pizzería",
        "urlKey": "superpizza-viladecans",
        "timezone": "Europe/Madrid"
    },
    "payments": [
        {
            "id": 55069,
            "amount": 42.35,
            "paymentMethodName": "Efectivo",
            "prepaid": false,
            "methodCode": "CASH",
            "status": {
                "code": "DONE",
                "name": "Finalizado",
                "color": "#5aac44",
                "isFinalStatus": false
            }
        }
    ],
    "orderLines": [
        {
            "type": "PRODUCT",
            "totalAmount": 12.95,
            "unitPrice": 12.95,
            "quantity": 1,
            "label": "Pizza 4 quesos",
            "comment": "Comment 1",
            "childrenOrderLines": [
                {
                    "type": "PRODUCT_OPTION",
                    "totalAmount": 1.0,
                    "unitPrice": 1.0,
                    "quantity": 1,
                    "label": "Champiñones",
                    "comment": null,
                    "childrenOrderLines": [],
                    "baseAmount": 0.91,
                    "vatAmount": 0.09,
                    "vatValue": 10,
                    "productOption": {
                        "id": 234818,
                        "externalId": null
                    }
                }
            ],
            "baseAmount": 11.77,
            "vatAmount": 1.18,
            "vatValue": 10,
            "product": {
                "id": 109837,
                "externalId": null
            }
        },
        {
            "type": "PRODUCT",
            "totalAmount": 27.9,
            "unitPrice": 13.95,
            "quantity": 2,
            "label": "Pizza 4 estaciones",
            "comment": null,
            "childrenOrderLines": [
                {
                    "type": "PRODUCT_OPTION",
                    "totalAmount": 1.0,
                    "unitPrice": 1.0,
                    "quantity": 1,
                    "label": "Champiñones",
                    "comment": null,
                    "childrenOrderLines": [],
                    "baseAmount": 0.91,
                    "vatAmount": 0.09,
                    "vatValue": 10,
                    "productOption": {
                        "id": 234818,
                        "externalId": null
                    }
                }
            ],
            "baseAmount": 25.36,
            "vatAmount": 2.54,
            "vatValue": 10,
            "product": {
                "id": 109839,
                "externalId": null
            }
        },
        {
            "type": "PRODUCT",
            "totalAmount": 1.5,
            "unitPrice": 1.5,
            "quantity": 1,
            "label": "Agua 0.5L",
            "comment": "Comment 2",
            "childrenOrderLines": [],
            "baseAmount": 1.36,
            "vatAmount": 0.14,
            "vatValue": 10,
            "product": {
                "id": 109841,
                "externalId": null
            }
        }
    ],
    "isCancellable": true,
    "isAcceptable": true,
    "baseAmount": 38.49,
    "vatAmount": 3.86,
    "currency": {
        "isoCode": "EUR",
        "symbol": "€",
        "displayPattern": "{{ amount }}€"
    },
    "market": {
        "id": 554,
        "name": "SuperMarketplace",
        "darkLogo": null,
        "lightLogo": null,
        "horizontalLogo": null,
        "squareLogo": null
    },
    "createdAt": "2020-07-24T04:26:05+0000",
    "preparationTime": "2020-07-24T04:56:05+0000",
    "isAsap": false,
    "posOrderId": null,
    "marketOrderId": "67736",
    "marketOrderCode": "VBGQCX",
    "executionTime": "2020-07-24T04:56:05+0000",
    "dinersNumber": 2,
    "serviceLocation": {
        "code": "TZ10",
        "name": "Mesa 10",
        "serviceZone": {
            "code": "TZ",
            "name": "Terraza"
        }
    }
}
OrderAction
MODEL ATTRIBUTES
token string Action identifier
callToAction string Call to action
color string HEX color code for the action
actionType string Order action type

Possible values
ACCEPT
CANCEL
orderType string Order type code. More info in 'Understanding order types' section.

Possible values
delivery
collection
insitu
reservation
inside
executionTime string Order execution time
businessCost number (float) Delivery business cost. Only used in delivery orders
delayMinutes number (float) Delay minutes from original execution time
pickupTime string Driver pickup time. Only used in delivery orders
transportType string Transport type name. Only used in delivery orders

Possible values
Bicicleta
Scooter
Motocicleta
Coche
Furgoneta
Caminando
MODEL EXAMPLES

Example

{
    "token": "NzY0MHxyZWFkeXwtMXwtMXwtMXwtMQ,,",
    "callToAction": "Aceptar",
    "color": "#5aac44",
    "actionType": "ACCEPT",
    "orderType": "collection",
    "executionTime": "2017-10-12T10:10:00+0000",
    "businessCost": null,
    "delayMinutes": null,
    "pickupTime": null,
    "transportType": null
}
OrderLine
MODEL ATTRIBUTES
totalAmount number (float) Order line total amount VAT included
unitPrice number (float) Order line total amount VAT included
quantity integer (int64) Order line quantity
comment string Order line comment
label string Order line label
type string Type code

Possible values
PRODUCT
MENU
PRODUCT_OPTION
DISCOUNT
DELIVERY
CUSTOM
POS_ITEM
distance number (float) Only used in delivery order lines
product object Product Only for orderLine type PRODUCT
menu object Menu Only for orderLine type MENU
productOption object ProductOption Only for orderLine type PRODUCT_OPTION
discount object Discount Only for orderLine type DISCOUNT
coupon object Coupon Only for orderLine type DISCOUNT
childrenOrderLines array SELF Children order line has same schema as OrderLine
baseAmount number (float) Total order line amount VAT excluded
vatAmount number (float) Total order line VAT amount
vatValue number (float) Applied order line VAT value
MODEL EXAMPLES

Example

{
    "totalAmount": 29.9,
    "unitPrice": 14.95,
    "quantity": 2,
    "comment": "Order line comment",
    "label": "Pizza margherita",
    "type": "PRODUCT",
    "distance": null,
    "product": {
        "id": "843"
    },
    "menu": {
        "id": 543
    },
    "productOption": {
        "id": "233"
    },
    "discount": {
        "id": "233"
    },
    "coupon": {
        "code": "first10"
    },
    "childrenOrderLines": [
        null
    ]
}
OrderStatus
MODEL ATTRIBUTES

Current order status

code string Status identifier code

Possible values
waiting_sp_validation
accepted
preparation
ready
delivering
delivered
incident
cancelled
finished
reservation_accepted
cancelled_by_sp
cancelled_by_client
cancelled_by_driver
cancelled_by_team
payment_authorisation_failed
name string Status name
color string HEX color code for the status
isFinalStatus boolean Return if status is final status and doesn't require interaction
globalStatusCode string Order global status identifier code
MODEL EXAMPLES

Example

{
    "code": "waiting_sp_validation",
    "name": "Waiting selling point validation",
    "color": "#f7981d",
    "isFinalStatus": false,
    "globalStatusCode": "processing"
}
Partial Menu
MODEL ATTRIBUTES

Menu with minimum important information

id integer (int64) Menu identifier
name string Menu name
type string Menu type code

Possible values
menu
setmenu
position integer (int32) Menu position
allowedOrderTypes array Menu allowed order types code. More info in 'Understanding order types' section.
price number (float) Menu price
public boolean Returns true if the menu is public and can be displayed for consumers
externalId string Custom identifier
MODEL EXAMPLES

Example

{
    "id": 543,
    "name": "Pizzas",
    "type": "menu",
    "position": 1,
    "allowedOrderTypes": [
        null
    ],
    "price": null,
    "public": true,
    "externalId": "external_reference"
}
PartialProduct
MODEL ATTRIBUTES

Product with minimum important information

id integer (int64) Product identifier
externalId string Custom identifier
name string Product name
image string Product image url
price object PriceData
public boolean Returns true if the product is public and can be displayed for consumers
featured boolean Returns true if the product is featured
productVariants array PartialProduct Product variants
MODEL EXAMPLES

Example

{
    "id": "843",
    "name": "Neapolitan Pizza",
    "image": "https://cdn.sinqro.com/assets/images/placeholder_image.jpg",
    "price": {
        "amount": 11.5,
        "vatValue": 10.0
    },
    "public": true,
    "featured": false,
    "productVariants": [
        {
            "id": "843",
            "name": "XXL size",
            "image": "https://cdn.sinqro.com/assets/images/placeholder_image.jpg",
            "price": {
                "amount": 14,
                "vatValue": 10.0
            },
            "public": true,
            "featured": false
        }
    ]
}
PartialProduct
MODEL ATTRIBUTES
id integer (int64) Product identifier
externalId string Custom identifier
name string Product name
image string Product image url
price object PriceData
public boolean Returns true if the product is public and can be displayed for consumers
featured boolean Returns true if the product is featured
MODEL EXAMPLES

Example

{
    "id": "843",
    "name": "XXL size",
    "image": "https://cdn.sinqro.com/assets/images/placeholder_image.jpg",
    "price": {
        "amount": 14,
        "vatValue": 10.0
    },
    "public": true,
    "featured": false
}
PartialProduct
MODEL ATTRIBUTES

PartialProduct data

id integer (int64) Product identifier
externalId string Custom identifier
name string Product name
image string Product image url
price object PriceData
public boolean Returns true if the product is public and can be displayed for consumers
featured boolean Returns true if the product is featured
productVariants array PartialProduct Product variants
MODEL EXAMPLES

Example

{
    "id": "843",
    "name": "Neapolitan Pizza",
    "image": "https://cdn.sinqro.com/assets/images/placeholder_image.jpg",
    "price": {
        "amount": 11.5,
        "vatValue": 10.0
    },
    "public": true,
    "featured": false,
    "productVariants": [
        {
            "id": "843",
            "name": "XXL size",
            "image": "https://cdn.sinqro.com/assets/images/placeholder_image.jpg",
            "price": {
                "amount": 14,
                "vatValue": 10.0
            },
            "public": true,
            "featured": false
        }
    ]
}
Payment
MODEL ATTRIBUTES

Payment

id integer (int64) Order payment identifier
amount number (float) Payment amount
paymentMethodName string Payment method name
prepaid boolean True if the payment has already been paid
methodCode string Payment method identifier code
status object PaymentStatus Payment status
MODEL EXAMPLES

Example

{
    "id": 5922,
    "amount": 29.9,
    "paymentMethodName": "Credit card",
    "prepaid": true,
    "methodCode": "CREDIT_CARD",
    "status": {
        "code": "DONE",
        "name": "Finalizado",
        "color": "#5AAC44",
        "callToAction": null
    }
}
PaymentStatus
MODEL ATTRIBUTES

Payment status

code string Status identifier code

Possible values
DONE
FAILED
CANCELLED
name string Status name
color string HEX color code for the status
callToAction string Call to action if is needed
MODEL EXAMPLES

Example

{
    "code": "DONE",
    "name": "Finalizado",
    "color": "#5AAC44",
    "callToAction": null
}
PosMenu
The attributes definition for this model is not available yet; we can show you an example.
Despite this you can find the definition in other models in this document.
MODEL EXAMPLES

Example



                                    
PosMenuCollectionRaw
The attributes definition for this model is not available yet; we can show you an example.
Despite this you can find the definition in other models in this document.
PosNewOrderNotification
The attributes definition for this model is not available yet; we can show you an example.
Despite this you can find the definition in other models in this document.
MODEL EXAMPLES

Example

{
    "event": "new_order",
    "data": {
        "id": 4912,
        "totalAmount": 29.9,
        "baseAmount": 27.18,
        "vatAmount": 2.72,
        "executionTimeLabel": "11/10 at 13:10h",
        "executionTime": "2017-10-11T13:10:00+0000",
        "comment": "Thank you",
        "cancellationComment": "",
        "consumer": {
            "id": 1003,
            "email": "john@example.com",
            "name": "John",
            "lastname": "Doe",
            "image": "https://cdn.sinqro.com/assets/images/placeholder_image.jpg",
            "phone": "+34600000000",
            "posClientId": "CCCC-CCCC-CCCC",
            "marketClientId": "MMMM-MMMM-MMMM",
            "notificationsChannel": "549d70d0e0851200d11229c16f8d38a8b"
        },
        "status": {
            "code": "waiting_sp_validation",
            "name": "Waiting selling point validation",
            "color": "#f7981d",
            "isFinalStatus": false,
            "globalStatusCode": "processing"
        },
        "type": "delivery",
        "sellingPoint": {
            "id": 3442,
            "name": "My restaurant",
            "address": {
                "id": 1003,
                "street": "C/ Example, 23",
                "details": "Canada building",
                "city": "City name",
                "province": "Province name",
                "postalCode": "12345",
                "latitude": 41.308166,
                "longitude": 2.019725,
                "googlePlaceId": "xxxxxxxxxxxx",
                "placeName": "C/ Example, 23, City name"
            },
            "phone": "+34600000000",
            "email": "myrestaurant@example.com",
            "logo": "http://mycdn.com/selling-point-logo.jpeg",
            "mainImage": "http://mycdn.com/selling-point-main-image.jpeg",
            "listImage": "http://mycdn.com/selling-point-list-image.jpeg",
            "mainImageLarge": "https://content.sinqro.com/selling-point-main-image-large.png",
            "listImageLarge": "https://content.sinqro.com/selling-point-list-image-large.png",
            "urlKey": "restaurant-name-city",
            "type": "Italian",
            "timezone": "Europe/Madrid"
        },
        "payments": [
            {
                "id": 5922,
                "amount": 29.9,
                "paymentMethodName": "Credit card",
                "prepaid": true,
                "methodCode": "CREDIT_CARD",
                "status": {
                    "code": "DONE",
                    "name": "Finalizado",
                    "color": "#5AAC44",
                    "callToAction": null
                }
            }
        ],
        "orderLines": [
            {
                "totalAmount": 29.9,
                "unitPrice": 14.95,
                "baseAmount": 27.78,
                "vatAmount": 2.72,
                "vatValue": 10.0,
                "quantity": 2,
                "comment": "Order line comment",
                "label": "Pizza margherita",
                "type": "PRODUCT",
                "product": {
                    "id": 1221,
                    "externalId": "external_reference"
                },
                "childrenOrderLines": []
            },
            {
                "totalAmount": 0.0,
                "unitPrice": 0,
                "quantity": 1,
                "comment": "",
                "label": "Shipping costs",
                "type": "DELIVERY",
                "distance": 1.13,
                "childrenOrderLines": []
            }
        ],
        "deliveryAmount": 1.0,
        "deliveryAddress": {
            "id": 1003,
            "street": "C/ Example, 23",
            "details": "Canada building",
            "city": "City name",
            "province": "Province name",
            "postalCode": "12345",
            "latitude": 41.308166,
            "longitude": 2.019725,
            "googlePlaceId": "xxxxxxxxxxxx",
            "placeName": "C/ Example, 23, City name"
        },
        "deliveries": [
            {
                "id": 1003,
                "deliveryAccountName": "DeliveryCompanyName",
                "deliveryAccountPhone": "600000001",
                "pickupAddress": {
                    "id": 1003,
                    "street": "C/ Example, 23",
                    "details": "Canada building",
                    "city": "City name",
                    "province": "Province name",
                    "postalCode": "12345",
                    "latitude": 41.308166,
                    "longitude": 2.019725,
                    "googlePlaceId": "xxxxxxxxxxxx",
                    "placeName": "C/ Example, 23, City name"
                },
                "deliveryAddress": {
                    "id": 1003,
                    "street": "C/ Example, 23",
                    "details": "Canada building",
                    "city": "City name",
                    "province": "Province name",
                    "postalCode": "12345",
                    "latitude": 41.308166,
                    "longitude": 2.019725,
                    "googlePlaceId": "xxxxxxxxxxxx",
                    "placeName": "C/ Example, 23, City name"
                },
                "pickupAgreedAt": "2017-02-09T12:00:00+0000",
                "pickupConfirmedAt": "2017-02-09T12:00:00+0000",
                "deliveryAgreedAt": "2017-02-09T12:15:00+0000",
                "deliveryConfirmedAt": "2017-02-09T12:15:00+0000",
                "deliveryInstructions": null,
                "linearDistance": "1.56",
                "realDistance": "1.97",
                "estimatedDeliveryDuration": "15",
                "forSenderInstructions": null,
                "trackingUrl": "https://tracking.sinqro.com/es-es/delivery?t=46e1f49e944a73081211442162fbee96b7d2f306",
                "status": {
                    "code": "PICKING",
                    "name": "Picking",
                    "color": "blue",
                    "isFinalStatus": false
                },
                "destinationContactEmail": "jane@example.com",
                "destinationContactName": "Jane",
                "destinationContactPhone": "600000000",
                "route": "c_c{FmniKrBcBnAkA@QCMMg@_BbBoEzEEyD?GCQIKMAKB{DsDiBmBq@_A?EAKCICCtDqFtB}ChCwDPPxCrCj@h@",
                "driver": {
                    "id": 1003,
                    "email": "john@example.com",
                    "name": "John",
                    "lastname": "Doe",
                    "image": "https://cdn.sinqro.com/assets/images/placeholder_image.jpg",
                    "phone": "+34600000000",
                    "transport": {
                        "code": "SCOOTER",
                        "name": "Scooter"
                    },
                    "lastGeolocation": {
                        "latitude": 41.308166,
                        "longitude": 2.019725,
                        "createdAt": "2018-03-015T12:15:00+0000"
                    }
                },
                "isSelfDelivery": false
            }
        ],
        "dinersNumber": 1,
        "isCancellable": true,
        "createdAt": "2017-10-11T12:30:00+0000",
        "preparationTime": "2017-10-11T13:00:00+0000",
        "isAsap": false,
        "market": {
            "name": "My Restaurant",
            "darkLogo": "http://mycdn.com/darkLogo.jpeg",
            "lightLogo": "http://mycdn.com/lightLogo.jpeg",
            "horizontalLogo": "http://mycdn.com/horizontalLogo.jpeg",
            "squareLogo": "http://mycdn.com/squareLogo.jpeg"
        },
        "posOrderId": "XXXX-XXXX-XXXX",
        "marketOrderId": "ZZZZ-ZZZZ-ZZZZ",
        "marketOrderCode": "XYZ"
    },
    "config": {
        "config_param_1": "config_param_1_value",
        "config_param_2": "config_param_2_value"
    },
    "sellingPointId": 3442
}
PosPartialProduct
The attributes definition for this model is not available yet; we can show you an example.
Despite this you can find the definition in other models in this document.
MODEL EXAMPLES

Example

{
    "id": 23211,
    "externalId": null,
    "name": "First Product Name",
    "image": null,
    "price": {
        "amount": 6.5,
        "vatValue": 10.0
    },
    "inMenuPrice": null,
    "public": false,
    "featured": false
}
PosProduct
The attributes definition for this model is not available yet; we can show you an example.
Despite this you can find the definition in other models in this document.
MODEL EXAMPLES

Example



                                    
PriceData
MODEL ATTRIBUTES
amount number (float) Price amount VAT included
vatValue number (float) Vat value
MODEL EXAMPLES

Example

{
    "amount": 11.75,
    "vatValue": 10.0
}
PriceData
MODEL ATTRIBUTES
amount number (float) Price amount VAT included
vatValue number (float) Vat value
MODEL EXAMPLES

Example

{
    "amount": 11.75,
    "vatValue": 10.0
}
PriceData
MODEL ATTRIBUTES
amount number (float) Price amount VAT included
vatValue number (float) Vat value
MODEL EXAMPLES

Example

{
    "amount": 14,
    "vatValue": 10.0
}
PriceData
MODEL ATTRIBUTES

Product option price

amount number (float) Price amount VAT included
vatValue number (float) Vat value
MODEL EXAMPLES

Example

{
    "amount": 0.75,
    "vatValue": 10.0
}
PriceData
MODEL ATTRIBUTES
amount number (float) Price amount VAT included
vatValue number (float) Vat value
MODEL EXAMPLES

Example

{
    "amount": 1.5,
    "vatValue": 10.0
}
Product
MODEL ATTRIBUTES

Product

id integer (int64) Product identifier
externalId string Custom identifier
name string Product name
image string Product image url
price object PriceData
public boolean Returns true if the product is public and can be displayed for consumers
featured boolean Returns true if the product is featured
shortDescription string Product short description
description string Product description
parentName string Parent product name, used in product variants
isAvailable boolean Returns true if the product can be purchased
tags array Array with product tags
productOptionsCategories array ProductOptionsCategory Product options categories
urlKey string Encoded name for url
productVariants array Product Product variants
menuSections array MenuSection Product variants
MODEL EXAMPLES

Example

{
    "id": "843",
    "name": "Neapolitan Pizza",
    "image": "https://cdn.sinqro.com/assets/images/placeholder_image.jpg",
    "price": {
        "amount": 11.5,
        "vatValue": 10.0
    },
    "public": true,
    "featured": false,
    "shortDescription": "Tomatoes, cheese, oil, and garlic",
    "description": "It was our first pizza ...",
    "parentName": null,
    "isAvailable": true,
    "tags": [
        null
    ],
    "productOptionsCategories": [
        {
            "id": "102",
            "name": "Our ingredients",
            "shortDescription": "What do you put on your pizza?",
            "position": 1,
            "maxSelection": 10,
            "minSelection": null,
            "maxSameOptionSelection": 2,
            "selectionLabel": "Max. 10",
            "productOptions": [
                {
                    "id": "233",
                    "name": "Cheddar",
                    "shortDescription": "Add cheddar to your pizza",
                    "position": 1,
                    "isAvailable": true,
                    "price": {
                        "amount": 0.75,
                        "vatValue": 10.0
                    }
                }
            ]
        }
    ],
    "urlKey": "product-name",
    "productVariants": [
        {
            "id": "843",
            "name": "XXL size",
            "image": "https://cdn.sinqro.com/assets/images/placeholder_image.jpg",
            "price": {
                "amount": 14,
                "vatValue": 10.0
            },
            "public": true,
            "featured": false,
            "shortDescription": "Tomatoes, cheese, oil, and garlic",
            "description": "It was our first pizza ...",
            "parentName": null,
            "isAvailable": true,
            "tags": [
                null
            ],
            "productOptionsCategories": [
                {
                    "id": "102",
                    "name": "Our ingredients",
                    "shortDescription": "What do you put on your pizza?",
                    "position": 1,
                    "maxSelection": 10,
                    "minSelection": null,
                    "maxSameOptionSelection": 2,
                    "selectionLabel": "Max. 10",
                    "productOptions": [
                        {
                            "id": "233",
                            "name": "Cheddar",
                            "shortDescription": "Add cheddar to your pizza",
                            "position": 1,
                            "isAvailable": true,
                            "price": {
                                "amount": 0.75,
                                "vatValue": 10.0
                            }
                        }
                    ]
                }
            ],
            "urlKey": "product-name"
        }
    ],
    "menuSections": [
        {
            "id": "298",
            "name": "Gluten free"
        }
    ]
}
Product
MODEL ATTRIBUTES
id integer (int64) Product identifier
externalId string Custom identifier
name string Product name
image string Product image url
price object PriceData
public boolean Returns true if the product is public and can be displayed for consumers
featured boolean Returns true if the product is featured
shortDescription string Product short description
description string Product description
parentName string Parent product name, used in product variants
isAvailable boolean Returns true if the product can be purchased
tags array Array with product tags
productOptionsCategories array ProductOptionsCategory Product options categories
urlKey string Encoded name for url
MODEL EXAMPLES

Example

{
    "id": "843",
    "name": "XXL size",
    "image": "https://cdn.sinqro.com/assets/images/placeholder_image.jpg",
    "price": {
        "amount": 14,
        "vatValue": 10.0
    },
    "public": true,
    "featured": false,
    "shortDescription": "Tomatoes, cheese, oil, and garlic",
    "description": "It was our first pizza ...",
    "parentName": null,
    "isAvailable": true,
    "tags": [
        null
    ],
    "productOptionsCategories": [
        {
            "id": "102",
            "name": "Our ingredients",
            "shortDescription": "What do you put on your pizza?",
            "position": 1,
            "maxSelection": 10,
            "minSelection": null,
            "maxSameOptionSelection": 2,
            "selectionLabel": "Max. 10",
            "productOptions": [
                {
                    "id": "233",
                    "name": "Cheddar",
                    "shortDescription": "Add cheddar to your pizza",
                    "position": 1,
                    "isAvailable": true,
                    "price": {
                        "amount": 0.75,
                        "vatValue": 10.0
                    }
                }
            ]
        }
    ],
    "urlKey": "product-name"
}
Product
MODEL ATTRIBUTES

Only for orderLine type PRODUCT

id integer (int64) Product identifier
externalId string Custom identifier
MODEL EXAMPLES

Example

{
    "id": "843"
}
ProductInputData
The attributes definition for this model is not available yet; we can show you an example.
Despite this you can find the definition in other models in this document.
MODEL EXAMPLES

Example

{
    "name": "Cheese Burger",
    "externalId": "external_reference",
    "price": {
        "amount": "11.75",
        "vatValue": "10"
    },
    "inMenuPrice": {
        "amount": "3",
        "vatValue": "10"
    },
    "shortDescription": "Burger with cheddar",
    "description": "Using our best bread...",
    "image": {
        "filename": "myimage.jpg",
        "data": "data:image/jpeg;base64,/9j/4A..."
    },
    "public": true,
    "featured": false,
    "isAvailable": true,
    "addProductOptionsToVariants": false,
    "productVariants": [
        {
            "name": "King Size",
            "externalId": "external_reference",
            "shortDescription": "Biggest size",
            "price": {
                "amount": 14,
                "vatValue": 10.0
            },
            "id": 3078
        }
    ],
    "tags": [
        "Cheddar",
        "Premium"
    ],
    "productOptionsIds": [
        1443,
        2552,
        1123
    ]
}
ProductOption
MODEL ATTRIBUTES
id integer (int64) Product option identifier
externalId string Custom identifier
name string Product option name
shortDescription string Product option short description
position integer (int32) Product option position
isAvailable boolean Returns true if the product option can be purchased
price object PriceData Product option price
MODEL EXAMPLES

Example

{
    "id": "233",
    "name": "Cheddar",
    "shortDescription": "Add cheddar to your pizza",
    "position": 1,
    "isAvailable": true,
    "price": {
        "amount": 0.75,
        "vatValue": 10.0
    }
}
ProductOption
MODEL ATTRIBUTES

Collection of product variants

name string Product option name
externalId string Custom identifier
shortDescription string Product option short description
price object PriceData
position integer Product option position
isAvailable boolean True if the product option is available and can be purchased
MODEL EXAMPLES

Example

{
    "name": "Extra bacon",
    "externalId": "external_reference",
    "shortDescription": "Fried bacon",
    "price": {
        "amount": 1.5,
        "vatValue": 10.0
    },
    "position": 1,
    "isAvailable": true
}
ProductOption
MODEL ATTRIBUTES

Collection of product variants

name string Product option name
externalId string Custom identifier
shortDescription string Product option short description
price object PriceData
position integer Product option position
isAvailable boolean True if the product option is available and can be purchased
id integer Existing product option identifier
MODEL EXAMPLES

Example

{
    "name": "Extra bacon",
    "externalId": "external_reference",
    "shortDescription": "Fried bacon",
    "price": {
        "amount": 1.5,
        "vatValue": 10.0
    },
    "position": 1,
    "isAvailable": true,
    "id": 6621
}
ProductOption
MODEL ATTRIBUTES

Only for orderLine type PRODUCT_OPTION

id integer (int64) Product option identifier
externalId string Custom identifier
MODEL EXAMPLES

Example

{
    "id": "233"
}
ProductOptionsCategory
MODEL ATTRIBUTES
id integer (int64) Product option category identifier
externalId string Custom identifier
name string Product option category name
shortDescription string Product option category description
position integer (int32) Product option category position
maxSelection integer (int32) Maximum of options selected for product option category
minSelection integer (int32) Required minimum of product options selected by consumer. If this value is NULL the consumer may not select any option in this category
maxSameOptionSelection integer (int32) Maximum times wich the same product option can be selected by consumer. If this value is NULL the consumer can select the same option as many times as he want limited by maxOptions value
selectionLabel string Text describing minimum and maximum selection options
productOptions array ProductOption Product options for product option category
MODEL EXAMPLES

Example

{
    "id": "102",
    "name": "Our ingredients",
    "shortDescription": "What do you put on your pizza?",
    "position": 1,
    "maxSelection": 10,
    "minSelection": null,
    "maxSameOptionSelection": 2,
    "selectionLabel": "Max. 10",
    "productOptions": [
        {
            "id": "233",
            "name": "Cheddar",
            "shortDescription": "Add cheddar to your pizza",
            "position": 1,
            "isAvailable": true,
            "price": {
                "amount": 0.75,
                "vatValue": 10.0
            }
        }
    ]
}
ProductOptionsCategory
MODEL ATTRIBUTES

ProductOptionsCategory

id integer (int64) Product option category identifier
externalId string Custom identifier
name string Product option category name
shortDescription string Product option category description
position integer (int32) Product option category position
maxSelection integer (int32) Maximum of options selected for product option category
minSelection integer (int32) Required minimum of product options selected by consumer. If this value is NULL the consumer may not select any option in this category
maxSameOptionSelection integer (int32) Maximum times wich the same product option can be selected by consumer. If this value is NULL the consumer can select the same option as many times as he want limited by maxOptions value
selectionLabel string Text describing minimum and maximum selection options
productOptions array ProductOption Product options for product option category
MODEL EXAMPLES

Example

{
    "id": "102",
    "name": "Our ingredients",
    "shortDescription": "What do you put on your pizza?",
    "position": 1,
    "maxSelection": 10,
    "minSelection": null,
    "maxSameOptionSelection": 2,
    "selectionLabel": "Max. 10",
    "productOptions": [
        {
            "id": "233",
            "name": "Cheddar",
            "shortDescription": "Add cheddar to your pizza",
            "position": 1,
            "isAvailable": true,
            "price": {
                "amount": 0.75,
                "vatValue": 10.0
            }
        }
    ]
}
ProductOptionsCategoryInputData
MODEL ATTRIBUTES
name string Product options category name
externalId string Custom identifier
shortDescription string Product option category short description
minOptions integer Required minimum of product options selected by consumer. If this value is NULL the consumer may not select any option in this category.
maxOptions integer Maximum of product options that can be selected by consumer. If this value is NULL the consumer can select options as many times as he want.
maxSameOptionSelection integer Maximum times wich the same product option can be selected by consumer. If this value is NULL the consumer can select the same option as many times as he want limited by maxOptions value.
position integer Product option category position
productOptions array ProductOption
MODEL EXAMPLES

Example

{
    "name": "Extras",
    "externalId": "external_reference",
    "shortDescription": "Using our best bread...",
    "minOptions": 2,
    "maxOptions": 3,
    "maxSameOptionSelection": 2,
    "position": 1,
    "productOptions": [
        {
            "name": "Extra bacon",
            "externalId": "external_reference",
            "shortDescription": "Fried bacon",
            "price": {
                "amount": 1.5,
                "vatValue": 10.0
            },
            "position": 1,
            "isAvailable": true
        }
    ]
}
ProductOptionsCategoryInputDataPatch
MODEL ATTRIBUTES
name string Product options category name
externalId string Custom identifier
shortDescription string Product option category short description
minOptions integer Required minimum of product options selected by consumer. If this value is NULL the consumer may not select any option in this category.
maxOptions integer Maximum of product options that can be selected by consumer. If this value is NULL the consumer can select options as many times as he want.
maxSameOptionSelection integer Maximum times wich the same product option can be selected by consumer. If this value is NULL the consumer can select the same option as many times as he want limited by maxOptions value.
position integer Product option category position
productOptions array ProductOption
MODEL EXAMPLES

Example

{
    "name": "Extras",
    "externalId": "external_reference",
    "shortDescription": "Using our best bread...",
    "minOptions": 2,
    "maxOptions": 3,
    "maxSameOptionSelection": 2,
    "position": 1,
    "productOptions": [
        {
            "name": "Extra bacon",
            "externalId": "external_reference",
            "shortDescription": "Fried bacon",
            "price": {
                "amount": 1.5,
                "vatValue": 10.0
            },
            "position": 1,
            "isAvailable": true,
            "id": 6621
        }
    ]
}
Schedule
MODEL ATTRIBUTES
id integer (int64) Schedule identifier
ranges array ScheduleRange Schedule ranges
MODEL EXAMPLES

Example

{
    "id": 2113,
    "ranges": [
        {
            "startTime": "06:00:00",
            "endTime": "18:00:00",
            "timezone": "Europe/Madrid",
            "startDay": {
                "id": 1,
                "name": "Lunes"
            },
            "endDay": {
                "id": 1,
                "name": "Lunes"
            }
        }
    ]
}
Schedule
MODEL ATTRIBUTES
id integer (int64) Schedule identifier
ranges array ScheduleRange Schedule ranges
name string Schedule for delivery service
MODEL EXAMPLES

Example

{
    "id": 2113,
    "ranges": [
        {
            "startTime": "06:00:00",
            "endTime": "18:00:00",
            "timezone": "Europe/Madrid",
            "startDay": {
                "id": 1,
                "name": "Lunes"
            },
            "endDay": {
                "id": 1,
                "name": "Lunes"
            }
        }
    ],
    "name": "Delivery schedule"
}
ScheduleRange
MODEL ATTRIBUTES
startTime string Range start time
endTime string Range end time
timezone string Range times time zone
startDay object Day
endDay object Day
MODEL EXAMPLES

Example

{
    "startTime": "06:00:00",
    "endTime": "18:00:00",
    "timezone": "Europe/Madrid",
    "startDay": {
        "id": 1,
        "name": "Lunes"
    },
    "endDay": {
        "id": 1,
        "name": "Lunes"
    }
}
SellingPoint
MODEL ATTRIBUTES

Selling point data

id integer (int64) Selling point identifier
name string Selling point name
address object Address Selling point address
phone string Selling point phone
email string Selling point contact email
logo string Selling point logo url
mainImage string Selling point main image
listImage string Selling point list image
urlKey string Encoded name for url
type string Type of selling point
timezone string Selling point time zone
description string Selling point description
schedule object Schedule
allowedOrderTypes array Codes of the allowed order types. More info in 'Understanding order types' section.
tags array Tag Array with selling point tags
MODEL EXAMPLES

Example

{
    "id": 3442,
    "name": "My restaurant",
    "address": {
        "id": 1003,
        "street": "C/ Example, 23",
        "details": "Canada building",
        "city": "City name",
        "province": "Province name",
        "postalCode": "12345",
        "latitude": 41.308166,
        "longitude": 2.019725,
        "googlePlaceId": "xxxxxxxxxxxx",
        "placeName": "C/ Example, 23, City name"
    },
    "phone": "+34600000000",
    "email": "myrestaurant@example.com",
    "logo": "http://mycdn.com/selling-point-logo.jpeg",
    "mainImage": "http://mycdn.com/selling-point-main-image.jpeg",
    "listImage": "http://mycdn.com/selling-point-list-image.jpeg",
    "urlKey": "restaurant-name-city",
    "type": "Italian",
    "timezone": "Europe/Madrid",
    "description": "This restaurant...",
    "schedule": {
        "id": 2113,
        "ranges": [
            {
                "startTime": "06:00:00",
                "endTime": "18:00:00",
                "timezone": "Europe/Madrid",
                "startDay": {
                    "id": 1,
                    "name": "Lunes"
                },
                "endDay": {
                    "id": 1,
                    "name": "Lunes"
                }
            }
        ]
    },
    "allowedOrderTypes": [
        null
    ],
    "tags": [
        {
            "name": "Veggie",
            "code": "veggie"
        }
    ]
}
SellingPoint
MODEL ATTRIBUTES

Selling point data

id integer (int64) Selling point identifier
name string Selling point name
address object Address Selling point address
phone string Selling point phone
email string Selling point contact email
logo string Selling point logo url
mainImage string Selling point main image
listImage string Selling point list image
urlKey string Encoded name for url
type string Type of selling point
timezone string Selling point time zone
mainImageLarge string Selling point main image large
listImageLarge string Selling point list image large
MODEL EXAMPLES

Example

{
    "id": 3442,
    "name": "My restaurant",
    "address": {
        "id": 1003,
        "street": "C/ Example, 23",
        "details": "Canada building",
        "city": "City name",
        "province": "Province name",
        "postalCode": "12345",
        "latitude": 41.308166,
        "longitude": 2.019725,
        "googlePlaceId": "xxxxxxxxxxxx",
        "placeName": "C/ Example, 23, City name"
    },
    "phone": "+34600000000",
    "email": "myrestaurant@example.com",
    "logo": "http://mycdn.com/selling-point-logo.jpeg",
    "mainImage": "http://mycdn.com/selling-point-main-image.jpeg",
    "listImage": "http://mycdn.com/selling-point-list-image.jpeg",
    "urlKey": "restaurant-name-city",
    "type": "Italian",
    "timezone": "Europe/Madrid"
}
Status
MODEL ATTRIBUTES

Current delivery status

code string Delivery status identifier code

Possible values
WAITING_DRIVER_ACCEPTANCE
PICKING
WAITING_SELLING_POINT_ACCEPTANCE
WAITING_SELLING_POINT_PREPARATION
DELIVERING
WAITING_CUSTOMER
DELIVERED
CANCELLED
INCIDENT
ACCEPTED_BY_DRIVER
name string Delivery status name
color string HEX color code for the status
isFinalStatus boolean Return if is the last possible status
MODEL EXAMPLES

Example

{
    "code": "PICKING",
    "name": "Picking",
    "color": "blue",
    "isFinalStatus": false
}
Tag
MODEL ATTRIBUTES

SellingPoint tag

name string Tag name
code string Tag identifier code
MODEL EXAMPLES

Example

{
    "name": "Veggie",
    "code": "veggie"
}
TransportType
MODEL ATTRIBUTES
code string Transport type identifier code

Possible values
BIKE
SCOOTER
MOTORBIKE
CAR
VAN
WALKING
name string Transport type name
MODEL EXAMPLES

Example

{
    "code": "SCOOTER",
    "name": "Scooter"
}