Marketplace or White-label App Development

Introduction

Build your Sinqro-connected marketplace or restaurant white-label app (consuming Sinqro APIs and listening Sinqro webhooks)

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/market-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 app assigned token in your developer panel.

Authentication

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

You can the retrieve the user token with a successful request to the login API service.

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.


API SERVICES REFERENCE

CONSUMER

All services you need to build a consumer app
Consumer login
POST /consumers/login
This method returns a header with a user access token (‘x-api-user-access-token’). This token will be required as authentication method for most of this API services.
REQUEST parameters
x-api-server-access-token string header Authorization token
email string body The consumer email for login
password string body The password for login in clear text
marketId integer body Market identifier
POSSIBLE RESPONSES
HTTP Code Description Body
200 Ok object Consumer
400 Error/s object ErrorResponse
Create new consumer
POST /consumers
Create new consumer. This method returns a header with a user access token (‘x-api-user-access-token’). This token will be required as authentication method for most of this API services.
REQUEST parameters
x-api-server-access-token string header Authorization token
name string formData Consumer name
lastname string formData Consumer last name
phone string formData Consumer phone number
email string formData Consumer email
password ( optional ) string formData Consumer access password
marketId integer query Market identifier
countryIsoCode string formData Consumer country ISO code
phoneCountryIsoCode string formData Phone country ISO code
POSSIBLE RESPONSES
HTTP Code Description Body
200 Ok object Consumer
400 Error/s object ErrorResponse
Request recovery password
POST /consumers/recoveryPassword
Request a recovery password code. This code only can be used one time.
REQUEST parameters
x-api-server-access-token string header Authorization token
email string formData The consumer email used in login
marketId integer query Market identifier
POSSIBLE RESPONSES
HTTP Code Description Body
200 Ok Empty body
400 Error/s object ErrorResponse
Check consumer recovery code
POST /consumers/checkRecoveryCode
Check consumer recovery code using consumer email and received recovery code. If the code matches method returns valid x-api-user-access-token allowed to use in post consumer password action and set a new password. Once you get a successful response with consumer code this code will be disabled
REQUEST parameters
x-api-server-access-token string header Authorization token
email string formData The consumer email used in login
recoveryCode string formData The recovery code provided with /consumers/recoveryPassword request
marketId integer query Market identifier
POSSIBLE RESPONSES
HTTP Code Description Body
200 Ok object Consumer
400 Error/s object ErrorResponse
Post consumer password
POST /consumer/password
Change current consumer password using only x-api-user-access-token. This method returns a header with a user access token (‘x-api-user-access-token’). This token will be required as authentication method for most of this API services.
REQUEST parameters
x-api-server-access-token string header Authorization token
x-api-user-access-token string header Authentication token
password string formData New consumer password. Minimum length: 6, and maximum length: 24
POSSIBLE RESPONSES
HTTP Code Description Body
200 Ok object Consumer
400 Error/s object ErrorResponse
Patch consumer password
PATCH /consumer/password
Change consumer password using his current password. This method returns a header with a user access token (‘x-api-user-access-token’). This token will be required as authentication method for most of this API services.
REQUEST parameters
x-api-server-access-token string header Authorization token
x-api-user-access-token string header Authentication token
oldPassword string formData Old consumer password
newPassword string formData New consumer password. Minimum length: 6, and maximum length: 24
POSSIBLE RESPONSES
HTTP Code Description Body
200 Ok object Consumer
400 Error/s object ErrorResponse
Get consumer
GET /consumer
Get consumer
REQUEST parameters
x-api-server-access-token string header Authorization token
x-api-user-access-token string header Authentication token
POSSIBLE RESPONSES
HTTP Code Description Body
200 Ok object Consumer
400 Error/s object ErrorResponse
Patch consumer data
PATCH /consumer
Modify consumer data
REQUEST parameters
x-api-server-access-token string header Authorization token
x-api-user-access-token string header Authentication token
name ( optional ) string formData Consumer name
lastname ( optional ) string formData Consumer last name
phone ( optional ) string formData Consumer phone number
image ( optional ) string formData Consumer profile image. Json format, example: {"filename":"filename.extension", "data":"file base64 encoded"]
phoneCountryIsoCode ( optional ) string formData Phone country ISO code
POSSIBLE RESPONSES
HTTP Code Description Body
200 Ok object Consumer
400 Error/s Empty body
Logout
POST /logout
Disable current api-user-access-token and detach from device if is necessary
REQUEST parameters
x-api-server-access-token string header Authorization token
x-api-user-access-token string header Authentication token
deviceId ( optional ) integer formData Device identifier
POSSIBLE RESPONSES
HTTP Code Description Body
200 Ok Empty body
400 Error/s object ErrorResponse
Post device interaction
POST /deviceInteractions
Post device interaction
REQUEST parameters
x-api-server-access-token string header Authorization token
x-api-user-access-token ( optional ) string header Authentication token
token string formData Device token
appBundle string formData Which app bundle is using the device
appMode string formData App mode
appVersion string formData App version
deviceModel string formData Device model
deviceLanguage string formData Device language ISO code
deviceIp string formData Device IP
latitude ( optional ) string formData Device latitude position
longitude ( optional ) string formData Device longitude position
batteryLevel ( optional ) number formData Device battery level
gpsStatus ( optional ) boolean formData Device gps status
unlink ( optional ) boolean formData Unlink this device from current user
POSSIBLE RESPONSES
HTTP Code Description Body
200 Ok object DeviceInteraction
400 Error/s object ErrorResponse

ADDRESS AND PLACES

Address & places services
Search google places
GET /places/search
Search google places.
REQUEST parameters
x-api-server-access-token string header Authorization token
street string query Street name
number string query Street number
city string query City name
postalCode ( optional ) string query Postal code
POSSIBLE RESPONSES
HTTP Code Description Body
200 Ok array GooglePlace
400 Error/s object ErrorResponse
Post address
POST /consumer/addresses
Post new consumer address
REQUEST parameters
x-api-server-access-token string header Authorization token
x-api-user-access-token string header Authentication token
googlePlaceId string formData GooglePlace identifier. You can get it using method /search/places
details string formData Address details
POSSIBLE RESPONSES
HTTP Code Description Body
200 Ok object Address
400 Error/s object ErrorResponse
Get addresses
GET /consumer/addresses
Get consumer addresses
REQUEST parameters
x-api-server-access-token string header Authorization token
x-api-user-access-token string header Authentication token
POSSIBLE RESPONSES
HTTP Code Description Body
200 Ok array Address
400 Error/s object ErrorResponse
Delete address
DELETE /consumer/addresses/{addressId}
Delete consumer address
REQUEST parameters
x-api-server-access-token string header Authorization token
x-api-user-access-token string header Authentication token
addressId integer path Address identifier
POSSIBLE RESPONSES
HTTP Code Description Body
200 Ok Empty body
400 Error/s object ErrorResponse

CREDIT CARDS

Credit cards
Get consumer credit card form data
GET /consumer/newCreditCardForm
Generates the redirect data for the user to add the credit card in the payment gateway. Valid for markets with creditCardMode = "redirect"
REQUEST parameters
x-api-server-access-token string header Authorization token
x-api-user-access-token string header Authentication token
POSSIBLE RESPONSES
HTTP Code Description Body
200 Ok object NewCreditCardFormData
Get credit cards
GET /consumer/creditCards
Get consumer credit cards
REQUEST parameters
x-api-server-access-token string header Authorization token
x-api-user-access-token string header Authentication token
POSSIBLE RESPONSES
HTTP Code Description Body
200 Ok array CreditCard
400 Error/s object ErrorResponse
Delete credit card
DELETE /consumer/creditCards/{creditCardId}
Delete consumer credit card
REQUEST parameters
x-api-server-access-token string header Authorization token
x-api-user-access-token string header Authentication token
creditCardId integer path Credit card identifier
POSSIBLE RESPONSES
HTTP Code Description Body
200 Ok Empty body
400 Error/s object ErrorResponse

SELLINGPOINT

Menus and selling point availability
Get market
GET /markets/{marketId}
Get market using market identifier
REQUEST parameters
x-api-server-access-token string header Authorization token
marketId integer path Market identifier
POSSIBLE RESPONSES
HTTP Code Description Body
200 Ok object Market
400 Error/s object ErrorResponse
Get market by host
GET /markets
Get market by host
REQUEST parameters
x-api-server-access-token string header Authorization token
host string query Application host. Example: myrestaurant.com
POSSIBLE RESPONSES
HTTP Code Description Body
200 Ok object Market
400 Error/s object ErrorResponse
Get market selling points with availability
GET /sellingPoints
Get market selling points with availability for given order type. One of GooglePlaceId, latitude and longitude or placeKey is required.
REQUEST parameters
x-api-server-access-token string header Authorization token
marketId integer query Market identifier
orderType string query Order type code. More info in 'Understanding order types' section.
googlePlaceId ( optional ) string query GooglePlaceId
latitude ( optional ) string query Latitude
longitude ( optional ) string query Longitude
placeKey ( optional ) string query Place key
date ( optional ) string query Date to calculate availability. If no date is provided the system will use NOW(). Example: 2017-10-10
tags ( optional ) string query Filter by tags code
POSSIBLE RESPONSES
HTTP Code Description Body
200 Ok array SellingPoint
400 Error/s object ErrorResponse
Get market selling points
GET /markets/{marketId}/sellingPoints
Get all market selling points
REQUEST parameters
x-api-server-access-token string header Authorization token
x-api-user-access-token string header Authentication token
marketId integer path Market identifier
tags ( optional ) string query Filter by tags code
POSSIBLE RESPONSES
HTTP Code Description Body
200 Ok array SellingPoint
400 Error/s object ErrorResponse
Get selling point
GET /sellingPoints/{sellingPointId}
Get selling point by id
REQUEST parameters
x-api-server-access-token string header Authorization token
sellingPointId integer path Selling point identifier
POSSIBLE RESPONSES
HTTP Code Description Body
200 Ok object SellingPoint
400 Error/s object ErrorResponse
Get selling point availability
GET /sellingPoints/{sellingPointId}/availability
Return information about selling point services
REQUEST parameters
x-api-server-access-token string header Authorization token
sellingPointId integer path Selling point identifier
marketId integer query Market identifier
date ( optional ) string query Date to calculate availability. If no date is provided the system will use NOW(). Example: 2017-10-10
POSSIBLE RESPONSES
HTTP Code Description Body
200 Ok object SellingPointServiceAvailability
400 Error/s object ErrorResponse
Get selling point availability for order type
GET /sellingPoints/{sellingPointId}/availability/{orderType}
Return information about requested type services for given selling point
REQUEST parameters
x-api-server-access-token string header Authorization token
sellingPointId integer path Selling point identifier
orderType string path Order type code. More info in 'Understanding order types' section.
marketId integer query Market identifier
date ( optional ) string query Date to calculate availability. If no date is provided the system will use NOW(). Example: 2017-10-10
googlePlaceId ( optional ) string query GooglePlaceId used to calculate delivery conditions and services
POSSIBLE RESPONSES
HTTP Code Description Body
200 Ok object ServiceAvailability
400 Error/s object ErrorResponse
Get selling point menus
GET /sellingPoints/{sellingPointId}/menus
Get menus
REQUEST parameters
x-api-server-access-token string header Authorization token
sellingPointId integer path sellingPoint identifier
date ( optional ) string query Used date to calculate current product selection flags. If no date is provided the system will use NOW(). Example: 2017-10-10
orderType ( optional ) string query Used to filter by order type code. More info in 'Understanding order types' section.
POSSIBLE RESPONSES
HTTP Code Description Body
200 Ok array Menu
400 Error/s object ErrorResponse
Get selling point menus availability
GET /sellingPoints/{sellingPointId}/menus/availability
Get menus with availability
REQUEST parameters
x-api-server-access-token string header Authorization token
sellingPointId integer path sellingPoint identifier
marketId integer query Market identifier
date ( optional ) string query Used date to calculate menu availability. If no date is provided the system will use NOW(). Example: 2017-10-10
orderType ( optional ) string query Used to filter by order type code. More info in 'Understanding order types' section.
loadProducts ( optional ) boolean query Default value is true if the parameter is not send in the request. If loadProducts is false, the menu will not return menuSections property.
POSSIBLE RESPONSES
HTTP Code Description Body
200 Ok array Menu
400 Error/s object ErrorResponse
Get selling point menu
GET /sellingPoints/{sellingPointId}/menus/{menuId}
Get menu
REQUEST parameters
x-api-server-access-token string header Authorization token
sellingPointId integer path sellingPoint identifier
menuId integer path Menu identifier
marketId integer query Market identifier
loadAvailability ( optional ) boolean query Is the parameter is true, the menu will return all order types availability using deliveryAvailability, collectionAvailability and insituAvailability fields
date ( optional ) string query Used date to calculate menu availability. If no date is provided the system will use NOW(). Example: 2017-10-10
POSSIBLE RESPONSES
HTTP Code Description Body
200 Ok array Menu
400 Error/s object ErrorResponse
Get market legal conditions
GET /markets/{marketId}/conditions
Get market legal conditions for clients
REQUEST parameters
x-api-server-access-token string header Authorization token
marketId integer path Market identifier
POSSIBLE RESPONSES
HTTP Code Description Body
200 Ok string
400 Error/s object ErrorResponse

ORDER

Order services
Checkout validation
POST /checkout/validation
Used to check if order can be created. Required parameters: orderType, marketId, sellingPointId
REQUEST parameters
x-api-server-access-token string header Authorization token
x-api-user-access-token ( optional ) string header Authentication token
parameters body
POSSIBLE RESPONSES
HTTP Code Description Body
200 Ok object CheckoutValidation
400 Error/s object ErrorResponse
Post order
POST /consumer/orders
Create new order
REQUEST parameters
x-api-server-access-token string header Authorization token
x-api-user-access-token string header Authentication token
parameters body
POSSIBLE RESPONSES
HTTP Code Description Body
200 Ok object Order
400 Error/s object ErrorResponse
Get orders
GET /consumer/orders
Get consumer orders
REQUEST parameters
x-api-server-access-token string header Authorization token
x-api-user-access-token string header Authentication token
POSSIBLE RESPONSES
HTTP Code Description Body
200 Ok array Order
400 Error/s object ErrorResponse
Get active orders
GET /consumer/orders/active
Get consumer active orders
REQUEST parameters
x-api-server-access-token string header Authorization token
x-api-user-access-token string header Authentication token
POSSIBLE RESPONSES
HTTP Code Description Body
200 Ok array Order
400 Error/s object ErrorResponse
Get finished orders
GET /consumer/orders/finished
Get consumer finished orders
REQUEST parameters
x-api-server-access-token string header Authorization token
x-api-user-access-token string header Authentication token
page ( optional ) integer query Pagination page. Default value if this params is not provided: 1
perPage ( optional ) integer query Per page orders number. Default value if this params is not provided: 20
POSSIBLE RESPONSES
HTTP Code Description Body
200 Ok array Order
400 Error/s object ErrorResponse
Get order
GET /consumer/orders/{orderId}
Get consumer 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 status
GET /consumer/orders/{orderId}/status
Get consumer order current status
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 OrderStatus
400 Error/s object ErrorResponse
Get order delivery
GET /consumer/orders/{orderId}/delivery
Get consumer order current delivery
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 Delivery
400 Error/s object ErrorResponse
Cancel order
POST /consumer/orders/{orderId}/cancel
Cancel order. Order only can be cancelled by client if selling point has not accepted it
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
comment string formData Cancellation comment
POSSIBLE RESPONSES
HTTP Code Description Body
200 Ok object Order
400 Error/s object ErrorResponse

MODELS REFERENCE

We show the definition of all the models used in the previous API services and notifications:
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"
}
Address
MODEL ATTRIBUTES

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

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"
}
CartValidation
MODEL ATTRIBUTES

Cart validation

amountAllowed boolean True if amount is allowed to complete the order
errors array Error Cart validation errors
valid boolean True if no cart errors found
MODEL EXAMPLES

Example

{
    "amountAllowed": true,
    "errors": [
        {
            "code": "ORDER_TYPE_NOT_ALLOWED",
            "message": "Order type is not allowed",
            "data": [
                null
            ]
        }
    ],
    "valid": false
}
Checkout
MODEL ATTRIBUTES
address object Delivery address Only for delivery orders
place object Place
cartAmount number (float) Cart amount
comment string Consumer order comment
consumer object Consumer
couponCode string Coupon code used in checkout
deliveryAmount number (float) Delivery amount. Only for delivery orders
deliveryDistance number (float) Delivery distance in kilometers. Only for delivery orders
discountAmount number (float) Discount amount for given coupon code
discountLabel string Discount label
executionTime string Selected execution time. Can be asap or date time value like 2017-10-12T10:10:00+0000
items array Item Cart items
orderTotal number (float) Order total amount, including delivery and discount
dinersNumber integer (int64) Reservation diners number. Only used for reservations.
orderType string Order type code. More info in 'Understanding order types' section.

Possible values
delivery
collection
insitu
reservation
inside
payments array CheckoutPayment Checkout payments
sellingPoint object SellingPoint Selling point data
serviceConditions object Service Service conditions
MODEL EXAMPLES

Example

{
    "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"
    },
    "place": {
        "id": 972,
        "key": "example-23-postalCode-city-country",
        "name": "C/ Example, 23, PostalCode, City, Country",
        "googlePlaceId": "ChIJ9xWj5lmcpBIRT_K4nCOERTg"
    },
    "cartAmount": 21,
    "comment": "Thank you",
    "consumer": {
        "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
        }
    },
    "couponCode": "discount20",
    "deliveryAmount": 1.5,
    "deliveryDistance": 1.1,
    "discountAmount": 4.2,
    "discountLabel": "20% of discount",
    "executionTime": "2017-10-12T10:10:00+0000",
    "items": [
        {
            "comment": "Consumer item comment",
            "name": "Margherita",
            "image": "http://mycdn.com/item-image.jpeg",
            "quantity": 2,
            "totalPrice": 21,
            "unitAdditionalPrice": 1.5,
            "unitFinalPrice": 10.5,
            "unitPrice": 9,
            "type": "product",
            "items": [
                {
                    "name": "Pepperoni",
                    "image": "http://mycdn.com/item-image.jpeg",
                    "quantity": 1,
                    "totalPrice": 1.5,
                    "unitAdditionalPrice": 0,
                    "unitFinalPrice": 1.5,
                    "unitPrice": 1.5,
                    "type": "product-option",
                    "items": [
                        null
                    ]
                }
            ]
        }
    ],
    "orderTotal": 18.3,
    "dinersNumber": 1,
    "orderType": "delivery",
    "payments": [
        {
            "amount": 18.3,
            "methodCode": "CREDIT_CARD_ONLINE",
            "creditCardId": 58
        }
    ],
    "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",
        "urlKey": "restaurant-name-city",
        "type": "Italian",
        "timezone": "Europe/Madrid"
    },
    "serviceConditions": {
        "acceptDiscounts": true,
        "cartMinProductsAmount": 5,
        "serviceConditionsTable": [
            {
                "acceptDiscounts": true,
                "minProductsAmount": 5,
                "deliveryBasePrice": 1.5,
                "deliveryPerKmPrice": 0,
                "maxDeliveryDistance": 5
            }
        ],
        "reservationMaxDiners": null,
        "checkoutSelectionLabel": "Min. cart amount 5€. Max. delivery distance 5km. Delivery price 1.5€ and free for orders over 20€",
        "allowedPaymentMethods": [
            {
                "id": null,
                "name": "Credit card online",
                "code": "CREDIT_CARD_ONLINE",
                "position": 1
            }
        ]
    }
}
CheckoutItem
MODEL ATTRIBUTES
comment string Consumer item comment
quantity integer (int64) Quantity of same item
id integer (int64) Item identifier
type string Item type code

Possible values
menu
product
product-option
menuSectionId integer (int64) Item menu section identifier. Only used in 'product' items
items array CheckoutItem Children items
MODEL EXAMPLES

Example

{
    "comment": "Consumer item comment",
    "quantity": 2,
    "id": 3145,
    "type": "product",
    "menuSectionId": 171,
    "items": [
        {
            "comment": "Consumer item comment",
            "quantity": 1,
            "id": 2722,
            "type": "product-option"
        }
    ]
}
CheckoutItem
MODEL ATTRIBUTES
comment string Consumer item comment
quantity integer (int64) Quantity of same item
id integer (int64) Item identifier
type string Item type code

Possible values
menu
product
product-option
MODEL EXAMPLES

Example

{
    "comment": "Consumer item comment",
    "quantity": 1,
    "id": 2722,
    "type": "product-option"
}
CheckoutParams
MODEL ATTRIBUTES
comment string Consumer order comment
orderType string Consumer order comment

Possible values
delivery
collection
insitu
reservation
consumerId integer (int64) Consumer identifier
marketId integer (int64) Market identifier
sellingPointId integer (int64) Selling point identifier
addressId integer (int64) Used in delivery orders
executionTime string (date-time) Selected execution time. Can be date time value or 'asap'
items array CheckoutItem Collection of cart items
payments array CheckoutPayment Collection of payments
executionDate string Selected execution date
googlePlaceId string Google place identifier
token string Checkout identifier. If token is null system will return it in the response
dinersNumber integer (int64) Only used for reservations
couponCode string Coupon code used in checkout
MODEL EXAMPLES

Example

{
    "comment": "Order comment",
    "orderType": "delivery",
    "consumerId": 852,
    "marketId": 114,
    "sellingPointId": 532,
    "addressId": 998,
    "executionTime": "2017-10-12T21:30:00+0000",
    "items": [
        {
            "comment": "Consumer item comment",
            "quantity": 2,
            "id": 3145,
            "type": "product",
            "menuSectionId": 171,
            "items": [
                {
                    "comment": "Consumer item comment",
                    "quantity": 1,
                    "id": 2722,
                    "type": "product-option"
                }
            ]
        }
    ],
    "payments": [
        {
            "creditCardId": 1003,
            "amount": "28.60",
            "methodCode": "CREDIT_CARD_ONLINE"
        }
    ],
    "executionDate": "2017-02-09",
    "googlePlaceId": "ChIJ9xWj5lmcpBIRT_K4nCOERTg",
    "token": "ChIJ9xWj5lmcpBIRT_K4nCOERTg",
    "dinersNumber": 1,
    "couponCode": "discount20"
}
CheckoutPayment
MODEL ATTRIBUTES
creditCardId integer (int64) Credit card identifier. Only used in creadit card payments
amount number (float) Payment amount. If payment amount is null payment is used to pay order total amount
methodCode string Payment method code
MODEL EXAMPLES

Example

{
    "creditCardId": 1003,
    "amount": "28.60",
    "methodCode": "CREDIT_CARD_ONLINE"
}
CheckoutPayment
MODEL ATTRIBUTES
amount number (float) Payment amount
methodCode string Payment method code
creditCardId int Selected credit card identifier. Only used for CREDIT_CARD_ONLINE method
MODEL EXAMPLES

Example

{
    "amount": 18.3,
    "methodCode": "CREDIT_CARD_ONLINE",
    "creditCardId": 58
}
CheckoutValidation
MODEL ATTRIBUTES
availability object ServiceAvailability Delivery service availability
checkout object Checkout
validations object CheckoutValidation Checkout validations object
MODEL EXAMPLES

Example

{
    "availability": {
        "availabilityLabelShort": "35 min",
        "availabilityLabel": "Delivery in 30 min",
        "desiredDayHasService": true,
        "distance": 2.34,
        "enabled": true,
        "isOutOfRange": false,
        "executionTimeLabel": "From 09.30h to 23.30h",
        "firstExecutionTime": "2017-02-10T09:30:00+0000",
        "maxDiners": null,
        "services": [
            {
                "shortText": "In 30 minutes",
                "text": "As soon as possible (30 min)",
                "value": "asap",
                "serviceConditions": {
                    "acceptDiscounts": true,
                    "cartMinProductsAmount": 5,
                    "serviceConditionsTable": [
                        {
                            "acceptDiscounts": true,
                            "minProductsAmount": 5,
                            "deliveryBasePrice": 1.5,
                            "deliveryPerKmPrice": 0,
                            "maxDeliveryDistance": 5
                        }
                    ],
                    "reservationMaxDiners": null,
                    "checkoutSelectionLabel": "Min. cart amount 5€. Max. delivery distance 5km. Delivery price 1.5€ and free for orders over 20€",
                    "allowedPaymentMethods": [
                        {
                            "id": null,
                            "name": "Credit card online",
                            "code": "CREDIT_CARD_ONLINE",
                            "position": 1
                        }
                    ]
                }
            }
        ]
    },
    "checkout": {
        "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"
        },
        "place": {
            "id": 972,
            "key": "example-23-postalCode-city-country",
            "name": "C/ Example, 23, PostalCode, City, Country",
            "googlePlaceId": "ChIJ9xWj5lmcpBIRT_K4nCOERTg"
        },
        "cartAmount": 21,
        "comment": "Thank you",
        "consumer": {
            "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
            }
        },
        "couponCode": "discount20",
        "deliveryAmount": 1.5,
        "deliveryDistance": 1.1,
        "discountAmount": 4.2,
        "discountLabel": "20% of discount",
        "executionTime": "2017-10-12T10:10:00+0000",
        "items": [
            {
                "comment": "Consumer item comment",
                "name": "Margherita",
                "image": "http://mycdn.com/item-image.jpeg",
                "quantity": 2,
                "totalPrice": 21,
                "unitAdditionalPrice": 1.5,
                "unitFinalPrice": 10.5,
                "unitPrice": 9,
                "type": "product",
                "items": [
                    {
                        "name": "Pepperoni",
                        "image": "http://mycdn.com/item-image.jpeg",
                        "quantity": 1,
                        "totalPrice": 1.5,
                        "unitAdditionalPrice": 0,
                        "unitFinalPrice": 1.5,
                        "unitPrice": 1.5,
                        "type": "product-option",
                        "items": [
                            null
                        ]
                    }
                ]
            }
        ],
        "orderTotal": 18.3,
        "dinersNumber": 1,
        "orderType": "delivery",
        "payments": [
            {
                "amount": 18.3,
                "methodCode": "CREDIT_CARD_ONLINE",
                "creditCardId": 58
            }
        ],
        "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",
            "urlKey": "restaurant-name-city",
            "type": "Italian",
            "timezone": "Europe/Madrid"
        },
        "serviceConditions": {
            "acceptDiscounts": true,
            "cartMinProductsAmount": 5,
            "serviceConditionsTable": [
                {
                    "acceptDiscounts": true,
                    "minProductsAmount": 5,
                    "deliveryBasePrice": 1.5,
                    "deliveryPerKmPrice": 0,
                    "maxDeliveryDistance": 5
                }
            ],
            "reservationMaxDiners": null,
            "checkoutSelectionLabel": "Min. cart amount 5€. Max. delivery distance 5km. Delivery price 1.5€ and free for orders over 20€",
            "allowedPaymentMethods": [
                {
                    "id": null,
                    "name": "Credit card online",
                    "code": "CREDIT_CARD_ONLINE",
                    "position": 1
                }
            ]
        }
    },
    "validations": {
        "cartValidation": {
            "amountAllowed": true,
            "errors": [
                {
                    "code": "ORDER_TYPE_NOT_ALLOWED",
                    "message": "Order type is not allowed",
                    "data": [
                        null
                    ]
                }
            ],
            "valid": false
        },
        "discountValidation": {
            "errors": [
                {
                    "code": "INVALID_DISCOUNT_DATES",
                    "message": "Invalid discount dates",
                    "data": [
                        null
                    ]
                }
            ],
            "valid": false
        },
        "paymentValidation": {
            "errors": [
                {
                    "code": "PAYMENT_METHOD_NOT_FOUND",
                    "message": "Payment method not found",
                    "data": [
                        null
                    ]
                }
            ],
            "valid": false
        },
        "serviceValidation": {
            "errors": [
                {
                    "code": "WRONG_SELECTED_TIME",
                    "message": "Wrong selected time",
                    "data": [
                        null
                    ]
                }
            ],
            "addressErrors": [
                {
                    "code": "NOT_ALLOWED_DELIVERY_ADDRESS",
                    "message": "The delivery address is not allowed",
                    "data": [
                        null
                    ]
                }
            ],
            "datetimeErrors": [
                {
                    "code": "WRONG_SELECTED_TIME",
                    "message": "Wrong selected time",
                    "data": [
                        null
                    ]
                }
            ],
            "reservationErrors": [
                {
                    "code": "MAX_DINERS_EXCEEDED",
                    "message": "Max diners exceeded",
                    "data": [
                        null
                    ]
                }
            ],
            "valid": false,
            "validSelectedTime": false,
            "validAddress": true,
            "validReservation": true
        },
        "readyForCreateOrder": false
    }
}
CheckoutValidation
MODEL ATTRIBUTES

Checkout validations object

cartValidation object CartValidation Cart validation
discountValidation object DiscountValidation Discount validation
paymentValidation object PaymentValidation Payment validation
serviceValidation object ServiceValidation Service validation
readyForCreateOrder boolean True if checkout is ready to complete the order
MODEL EXAMPLES

Example

{
    "cartValidation": {
        "amountAllowed": true,
        "errors": [
            {
                "code": "ORDER_TYPE_NOT_ALLOWED",
                "message": "Order type is not allowed",
                "data": [
                    null
                ]
            }
        ],
        "valid": false
    },
    "discountValidation": {
        "errors": [
            {
                "code": "INVALID_DISCOUNT_DATES",
                "message": "Invalid discount dates",
                "data": [
                    null
                ]
            }
        ],
        "valid": false
    },
    "paymentValidation": {
        "errors": [
            {
                "code": "PAYMENT_METHOD_NOT_FOUND",
                "message": "Payment method not found",
                "data": [
                    null
                ]
            }
        ],
        "valid": false
    },
    "serviceValidation": {
        "errors": [
            {
                "code": "WRONG_SELECTED_TIME",
                "message": "Wrong selected time",
                "data": [
                    null
                ]
            }
        ],
        "addressErrors": [
            {
                "code": "NOT_ALLOWED_DELIVERY_ADDRESS",
                "message": "The delivery address is not allowed",
                "data": [
                    null
                ]
            }
        ],
        "datetimeErrors": [
            {
                "code": "WRONG_SELECTED_TIME",
                "message": "Wrong selected time",
                "data": [
                    null
                ]
            }
        ],
        "reservationErrors": [
            {
                "code": "MAX_DINERS_EXCEEDED",
                "message": "Max diners exceeded",
                "data": [
                    null
                ]
            }
        ],
        "valid": false,
        "validSelectedTime": false,
        "validAddress": true,
        "validReservation": true
    },
    "readyForCreateOrder": false
}
CollectionServiceAvailability
MODEL ATTRIBUTES

Collection service availability

availabilityLabelShort string Short text representing first execution time
availabilityLabel string Short text representing first execution time
desiredDayHasService boolean Return true if selling point accept collection orders for given date
distance number (float) If the request is done with googlePlaceId returns the distance in kilometers between selling point and googlePlace
enabled boolean Return true if selling point allow collection orders
isOutOfRange integer (int64) Only used in delivery orders. Return true if googlePlaceId is given and the place is out of delivery range
executionTimeLabel string Short text representing day collection schedule
firstExecutionTime string (date-time) First execution time for given date
maxDiners integer (int64) Maximum diners allowed for reservation
services array Collection of available services
MODEL EXAMPLES

Example

{
    "availabilityLabelShort": "20 min",
    "availabilityLabel": "Take away in in 30 min",
    "desiredDayHasService": true,
    "distance": null,
    "enabled": true,
    "isOutOfRange": null,
    "executionTimeLabel": "From 08.00h to 23.30h",
    "firstExecutionTime": "2017-02-10T08:20:00+0000",
    "maxDiners": null,
    "services": [
        null
    ]
}
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
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
    }
}
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
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
    }
}
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
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"
}
Coupon
MODEL ATTRIBUTES

Only for orderLine type DISCOUNT

code string Coupon code
MODEL EXAMPLES

Example

{
    "code": "first10"
}
CreditCard
MODEL ATTRIBUTES
id integer (int64) Credit card identifier
holderName string Holder name
pan string Last four digits of credit card number
expirationMonth string Expiration month number 01-12
expirationYear string Last two numbers of expiration year
MODEL EXAMPLES

Example

{
    "id": 2843,
    "holderName": "John Doe",
    "pan": "1111",
    "expirationMonth": "07",
    "expirationYear": "23"
}
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 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
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"
        }
    }
}
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
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"
        }
    }
}
DeliveryServiceAvailability
MODEL ATTRIBUTES

Delivery service availability

availabilityLabelShort string Short text representing first execution time
availabilityLabel string Short text representing first execution time
desiredDayHasService boolean Return true if selling point accept delivery orders for given date
distance number (float) If the request is done with googlePlaceId returns the distance in kilometers between selling point and googlePlace
enabled boolean Return true if selling point allow delivery orders
isOutOfRange integer (int64) Only used in delivery orders. Return true if googlePlaceId is given and the place is out of delivery range
executionTimeLabel string Short text representing day delivery schedule
firstExecutionTime string (date-time) First execution time for given date
maxDiners integer (int64) Maximum diners allowed for reservation
services array Collection of available services
MODEL EXAMPLES

Example

{
    "availabilityLabelShort": "35 min",
    "availabilityLabel": "Delivery in 30 min",
    "desiredDayHasService": true,
    "distance": 2.34,
    "enabled": true,
    "isOutOfRange": false,
    "executionTimeLabel": "From 09.30h to 23.30h",
    "firstExecutionTime": "2017-02-10T09:30:00+0000",
    "maxDiners": null,
    "services": [
        null
    ]
}
DeviceInteraction
MODEL ATTRIBUTES

Order

deviceId integer (int64) Device identifier
deviceToken string Device token
MODEL EXAMPLES

Example

{
    "deviceId": 1221,
    "deviceToken": "4b6c259950e13ddc5d391baf121112bb0d3b0cc80e9d0deee375ae50329d37a2338"
}
Discount
MODEL ATTRIBUTES

Only for orderLine type DISCOUNT

id integer (int64) Discount identifier
MODEL EXAMPLES

Example

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

Discount validation

errors array Error Discount validation errors
valid boolean True if no discount errors found
MODEL EXAMPLES

Example

{
    "errors": [
        {
            "code": "INVALID_DISCOUNT_DATES",
            "message": "Invalid discount dates",
            "data": [
                null
            ]
        }
    ],
    "valid": false
}
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"
}
Error
MODEL ATTRIBUTES
code string Error code identifier
message string Error message
data array SELF Array with error meta data
MODEL EXAMPLES

Example

{
    "code": "ORDER_TYPE_NOT_ALLOWED",
    "message": "Order type is not allowed",
    "data": [
        null
    ]
}
Error
MODEL ATTRIBUTES
code string Error code identifier
message string Error message
data array SELF Array with error meta data
MODEL EXAMPLES

Example

{
    "code": "INVALID_DISCOUNT_DATES",
    "message": "Invalid discount dates",
    "data": [
        null
    ]
}
Error
MODEL ATTRIBUTES
code string Error code identifier
message string Error message
data array SELF Array with error meta data
MODEL EXAMPLES

Example

{
    "code": "PAYMENT_METHOD_NOT_FOUND",
    "message": "Payment method not found",
    "data": [
        null
    ]
}
Error
MODEL ATTRIBUTES
code string Error code identifier
message string Error message
data array SELF Array with error meta data
MODEL EXAMPLES

Example

{
    "code": "WRONG_SELECTED_TIME",
    "message": "Wrong selected time",
    "data": [
        null
    ]
}
Error
MODEL ATTRIBUTES
code string Error code identifier
message string Error message
data array SELF Array with error meta data
MODEL EXAMPLES

Example

{
    "code": "NOT_ALLOWED_DELIVERY_ADDRESS",
    "message": "The delivery address is not allowed",
    "data": [
        null
    ]
}
Error
MODEL ATTRIBUTES
code string Error code identifier
message string Error message
data array SELF Array with error meta data
MODEL EXAMPLES

Example

{
    "code": "MAX_DINERS_EXCEEDED",
    "message": "Max diners exceeded",
    "data": [
        null
    ]
}
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"
}
GooglePlace
MODEL ATTRIBUTES
googlePlaceId string Google place identifier
country string Country name
countryIso string Country ISO code
address string Complete address with street number, postal code, city and country
city string City name
postalCode string Postal code
locality string Locality name
province string Province name
street string Street name
streetNumber string Street number
MODEL EXAMPLES

Example

{
    "googlePlaceId": "ChIJSxopg5SipBIRe6JdxnQT2rc",
    "country": "España",
    "countryIso": "ES",
    "address": "Carrer de Pau Claris, 180, 08037 Barcelona, España",
    "city": "Barcelona",
    "postalCode": "08037",
    "locality": "Barcelona",
    "province": "Barcelona",
    "street": "Carrer de Pau Claris",
    "streetNumber": "180"
}
InsituServiceAvailability
MODEL ATTRIBUTES

Insitu service availability

availabilityLabelShort string Short text representing first execution time
availabilityLabel string Short text representing first execution time
desiredDayHasService boolean Return true if selling point accept insitu orders for given date
distance number (float) If the request is done with googlePlaceId returns the distance in kilometers between selling point and googlePlace
enabled boolean Return true if selling point allow insitu orders
isOutOfRange integer (int64) Only used in delivery orders. Return true if googlePlaceId is given and the place is out of delivery range
executionTimeLabel string Short text representing day insitu schedule
firstExecutionTime string (date-time) First execution time for given date
maxDiners integer (int64) Maximum diners allowed for reservation
services array Collection of available services
MODEL EXAMPLES

Example

{
    "availabilityLabelShort": "20 min",
    "availabilityLabel": "Book a table in in 30 min",
    "desiredDayHasService": true,
    "distance": null,
    "enabled": true,
    "isOutOfRange": null,
    "executionTimeLabel": "From 08.00h to 22.30h",
    "firstExecutionTime": "2017-02-10T08:20:00+0000",
    "maxDiners": null,
    "services": [
        null
    ]
}
Item
MODEL ATTRIBUTES
comment string Consumer item comment
name string Item name
image string Item image
quantity integer (int64) Quantity of same item
totalPrice number (float) Item total price. (UnitFinalPrice x Quantity)
unitAdditionalPrice number (float) Unit additional price
unitFinalPrice number (float) Unit final price. (UnitPrice + UnitAdditionalPrice)
unitPrice number (float) Unit price
type string Item type code

Possible values
menu
product
product-option
items array ProductOption Children items
MODEL EXAMPLES

Example

{
    "comment": "Consumer item comment",
    "name": "Margherita",
    "image": "http://mycdn.com/item-image.jpeg",
    "quantity": 2,
    "totalPrice": 21,
    "unitAdditionalPrice": 1.5,
    "unitFinalPrice": 10.5,
    "unitPrice": 9,
    "type": "product",
    "items": [
        {
            "name": "Pepperoni",
            "image": "http://mycdn.com/item-image.jpeg",
            "quantity": 1,
            "totalPrice": 1.5,
            "unitAdditionalPrice": 0,
            "unitFinalPrice": 1.5,
            "unitPrice": 1.5,
            "type": "product-option",
            "items": [
                null
            ]
        }
    ]
}
Market
MODEL ATTRIBUTES
name string Market name
darkLogo string Dark logo url
lightLogo string Light logo url
horizontalLogo string Horizontal logo url
squareLogo string Square logo url
id integer (int64) Market identifier
email string Contact email
phone string Contact phone
status object MarketStatus Market status
type string Market type
mainImage string Main image url
icon string Icon url
facebookProfileUrl string Facebook profile url
googlePlusProfileUrl string GooglePlus profile url
instagramProfileUrl string Instagram profile url
linkedinProfileUrl string Linkedin profile url
pinterestProfileUrl string Pinterest profile url
telegramProfileUrl string Telegram profile url
twitterProfileUrl string Twitter profile url
platformId integer (int64) Platform identifier. Required for user login/register.
allowedOrderTypes array Market allowed order types code. More info in 'Understanding order types' section.
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",
    "id": 2843,
    "email": "myrestaurant@example.com",
    "phone": "+34600000000",
    "status": {
        "code": "active",
        "name": "Active",
        "color": "#5AAC44"
    },
    "type": "business",
    "mainImage": "http://mycdn.com/mainImage.jpeg",
    "icon": "http://mycdn.com/icon.ico",
    "facebookProfileUrl": "https://www.facebook.com/myrestaurant",
    "googlePlusProfileUrl": "https://plus.google.com/myrestaurant",
    "instagramProfileUrl": "https://www.instagram.com/myrestaurant",
    "linkedinProfileUrl": "https://www.linkedin.com/in/myrestaurant",
    "pinterestProfileUrl": "https://www.pinterest.com/myrestaurant",
    "telegramProfileUrl": "https://telegram.me/myrestaurant",
    "twitterProfileUrl": "https://twitter.com/myrestaurant",
    "platformId": 2843,
    "allowedOrderTypes": [
        "delivery",
        "collection",
        "insitu",
        "reservation",
        "inside"
    ]
}
MarketStatus
MODEL ATTRIBUTES

Market status

code string Status identifier code

Possible values
pending_validation
active
name string Status name
color string HEX color code for the status
MODEL EXAMPLES

Example

{
    "code": "active",
    "name": "Active",
    "color": "#5AAC44"
}
Menu
MODEL ATTRIBUTES

Only for orderLine type MENU

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

Example

{
    "id": 543
}
Menu
MODEL ATTRIBUTES
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.
availableFrom string (date-time) Menu available from time
availableTo string (date-time) Menu selection expiration time. If this value is null, menu selection doesn't expires
hasSelection boolean Returns true if the menu has a product selection
selectionAvailable boolean Returns true if the product selection is expired
selectionUpcoming boolean Returns true if the product selection is not available yet
price number (float) Menu price
shortDescription string Menu description
menuSections array MenuSection Menu sections containing products
urlKey string Encoded name for url
schedule object Schedule
scheduleLabel string Text describing menu schedule for given date
MODEL EXAMPLES

Example

{
    "id": 10674,
    "externalId": null,
    "name": "Nuestra carta",
    "price": null,
    "type": "menu",
    "shortDescription": "Nuestra carta de pizzas",
    "position": 0,
    "availableFrom": "2020-07-23T00:00:00+0000",
    "availableTo": null,
    "menuSections": [
        {
            "id": 8398,
            "externalId": null,
            "name": "Recomendaciones del cheff",
            "shortDescription": null,
            "image": null,
            "position": 0,
            "showProductImages": true,
            "maxSelection": 0,
            "minSelection": 0,
            "selectionLabel": "",
            "products": [
                {
                    "id": 109837,
                    "externalId": null,
                    "urlKey": "109837-pizza-4-quesos",
                    "name": "Pizza 4 quesos",
                    "shortDescription": "",
                    "description": "",
                    "image": "https://content.sinqro.com/d770d57632_4e01533575_85091551975570baked-cheese-cherry-tomato-1552635.png",
                    "price": 11.95,
                    "minOrderPreparationMinutes": 0,
                    "minMinutesOrderInAdvance": 0,
                    "tags": [],
                    "parentName": null,
                    "isAvailable": true,
                    "productVariants": [],
                    "productOptionsCategories": [
                        {
                            "id": 13327,
                            "externalId": null,
                            "name": "¿Quieres añadir algo?",
                            "shortDescription": null,
                            "position": 3,
                            "maxSelection": null,
                            "maxSameOptionSelection": null,
                            "minSelection": null,
                            "selectionLabel": "",
                            "productOptions": [
                                {
                                    "id": 234816,
                                    "externalId": null,
                                    "name": "Bacon",
                                    "shortDescription": null,
                                    "position": 1,
                                    "price": 1.0,
                                    "isAvailable": true
                                },
                                {
                                    "id": 234817,
                                    "externalId": null,
                                    "name": "Jamón Serrano",
                                    "shortDescription": null,
                                    "position": 2,
                                    "price": 1.5,
                                    "isAvailable": true
                                },
                                {
                                    "id": 234818,
                                    "externalId": null,
                                    "name": "Champiñones",
                                    "shortDescription": null,
                                    "position": 3,
                                    "price": 1.0,
                                    "isAvailable": true
                                },
                                {
                                    "id": 234819,
                                    "externalId": null,
                                    "name": "Huevo duro",
                                    "shortDescription": null,
                                    "position": 4,
                                    "price": 1.0,
                                    "isAvailable": true
                                },
                                {
                                    "id": 234820,
                                    "externalId": null,
                                    "name": "Cebolla",
                                    "shortDescription": null,
                                    "position": 5,
                                    "price": 0.5,
                                    "isAvailable": true
                                }
                            ]
                        }
                    ],
                    "public": true,
                    "featured": false
                },
                {
                    "id": 109838,
                    "externalId": null,
                    "urlKey": "109838-pizza-de-la-huerta",
                    "name": "Pizza de la huerta",
                    "shortDescription": "Con verduras de nuestro huerto",
                    "description": "",
                    "image": "https://content.sinqro.com/9119985658_cf48234047_79231551975571cheese-cooking-crispy-263041.png",
                    "price": 11.0,
                    "minOrderPreparationMinutes": 0,
                    "minMinutesOrderInAdvance": 0,
                    "tags": [],
                    "parentName": null,
                    "isAvailable": true,
                    "productVariants": [],
                    "productOptionsCategories": [
                        {
                            "id": 13327,
                            "externalId": null,
                            "name": "¿Quieres añadir algo?",
                            "shortDescription": null,
                            "position": 3,
                            "maxSelection": null,
                            "maxSameOptionSelection": null,
                            "minSelection": null,
                            "selectionLabel": "",
                            "productOptions": [
                                {
                                    "id": 234816,
                                    "externalId": null,
                                    "name": "Bacon",
                                    "shortDescription": null,
                                    "position": 1,
                                    "price": 1.0,
                                    "isAvailable": true
                                },
                                {
                                    "id": 234817,
                                    "externalId": null,
                                    "name": "Jamón Serrano",
                                    "shortDescription": null,
                                    "position": 2,
                                    "price": 1.5,
                                    "isAvailable": true
                                },
                                {
                                    "id": 234818,
                                    "externalId": null,
                                    "name": "Champiñones",
                                    "shortDescription": null,
                                    "position": 3,
                                    "price": 1.0,
                                    "isAvailable": true
                                },
                                {
                                    "id": 234819,
                                    "externalId": null,
                                    "name": "Huevo duro",
                                    "shortDescription": null,
                                    "position": 4,
                                    "price": 1.0,
                                    "isAvailable": true
                                },
                                {
                                    "id": 234820,
                                    "externalId": null,
                                    "name": "Cebolla",
                                    "shortDescription": null,
                                    "position": 5,
                                    "price": 0.5,
                                    "isAvailable": true
                                }
                            ]
                        }
                    ],
                    "public": true,
                    "featured": false
                }
            ]
        },
        {
            "id": 8399,
            "externalId": null,
            "name": "Las clásicas",
            "shortDescription": null,
            "image": null,
            "position": 1,
            "showProductImages": true,
            "maxSelection": 0,
            "minSelection": 0,
            "selectionLabel": "",
            "products": [
                {
                    "id": 109839,
                    "externalId": null,
                    "urlKey": "109839-pizza-4-estaciones",
                    "name": "Pizza 4 estaciones",
                    "shortDescription": "",
                    "description": "",
                    "image": "https://content.sinqro.com/9119987668_cf48237359_28351551975571cheese-cooking-cuisine-845812.png",
                    "price": 12.95,
                    "minOrderPreparationMinutes": 0,
                    "minMinutesOrderInAdvance": 0,
                    "tags": [],
                    "parentName": null,
                    "isAvailable": true,
                    "productVariants": [],
                    "productOptionsCategories": [
                        {
                            "id": 13327,
                            "externalId": null,
                            "name": "¿Quieres añadir algo?",
                            "shortDescription": null,
                            "position": 3,
                            "maxSelection": null,
                            "maxSameOptionSelection": null,
                            "minSelection": null,
                            "selectionLabel": "",
                            "productOptions": [
                                {
                                    "id": 234816,
                                    "externalId": null,
                                    "name": "Bacon",
                                    "shortDescription": null,
                                    "position": 1,
                                    "price": 1.0,
                                    "isAvailable": true
                                },
                                {
                                    "id": 234817,
                                    "externalId": null,
                                    "name": "Jamón Serrano",
                                    "shortDescription": null,
                                    "position": 2,
                                    "price": 1.5,
                                    "isAvailable": true
                                },
                                {
                                    "id": 234818,
                                    "externalId": null,
                                    "name": "Champiñones",
                                    "shortDescription": null,
                                    "position": 3,
                                    "price": 1.0,
                                    "isAvailable": true
                                },
                                {
                                    "id": 234819,
                                    "externalId": null,
                                    "name": "Huevo duro",
                                    "shortDescription": null,
                                    "position": 4,
                                    "price": 1.0,
                                    "isAvailable": true
                                },
                                {
                                    "id": 234820,
                                    "externalId": null,
                                    "name": "Cebolla",
                                    "shortDescription": null,
                                    "position": 5,
                                    "price": 0.5,
                                    "isAvailable": true
                                }
                            ]
                        }
                    ],
                    "public": true,
                    "featured": false
                },
                {
                    "id": 109840,
                    "externalId": null,
                    "urlKey": "109840-pizza-barbacoa",
                    "name": "Pizza Barbacoa",
                    "shortDescription": "",
                    "description": "",
                    "image": "https://content.sinqro.com/d770d55550_2176741739_77361551975572cheese-crust-delicious-532779.png",
                    "price": 12.5,
                    "minOrderPreparationMinutes": 0,
                    "minMinutesOrderInAdvance": 0,
                    "tags": [],
                    "parentName": null,
                    "isAvailable": true,
                    "productVariants": [],
                    "productOptionsCategories": [
                        {
                            "id": 13327,
                            "externalId": null,
                            "name": "¿Quieres añadir algo?",
                            "shortDescription": null,
                            "position": 3,
                            "maxSelection": null,
                            "maxSameOptionSelection": null,
                            "minSelection": null,
                            "selectionLabel": "",
                            "productOptions": [
                                {
                                    "id": 234816,
                                    "externalId": null,
                                    "name": "Bacon",
                                    "shortDescription": null,
                                    "position": 1,
                                    "price": 1.0,
                                    "isAvailable": true
                                },
                                {
                                    "id": 234817,
                                    "externalId": null,
                                    "name": "Jamón Serrano",
                                    "shortDescription": null,
                                    "position": 2,
                                    "price": 1.5,
                                    "isAvailable": true
                                },
                                {
                                    "id": 234818,
                                    "externalId": null,
                                    "name": "Champiñones",
                                    "shortDescription": null,
                                    "position": 3,
                                    "price": 1.0,
                                    "isAvailable": true
                                },
                                {
                                    "id": 234819,
                                    "externalId": null,
                                    "name": "Huevo duro",
                                    "shortDescription": null,
                                    "position": 4,
                                    "price": 1.0,
                                    "isAvailable": true
                                },
                                {
                                    "id": 234820,
                                    "externalId": null,
                                    "name": "Cebolla",
                                    "shortDescription": null,
                                    "position": 5,
                                    "price": 0.5,
                                    "isAvailable": true
                                }
                            ]
                        }
                    ],
                    "public": true,
                    "featured": false
                }
            ]
        },
        {
            "id": 8400,
            "externalId": null,
            "name": "Bebidas",
            "shortDescription": null,
            "image": null,
            "position": 2,
            "showProductImages": false,
            "maxSelection": 0,
            "minSelection": 0,
            "selectionLabel": "",
            "products": [
                {
                    "id": 109841,
                    "externalId": null,
                    "urlKey": "109841-agua-05l",
                    "name": "Agua 0.5L",
                    "shortDescription": null,
                    "description": null,
                    "image": null,
                    "price": 1.5,
                    "minOrderPreparationMinutes": 0,
                    "minMinutesOrderInAdvance": 0,
                    "tags": [],
                    "parentName": null,
                    "isAvailable": true,
                    "productVariants": [],
                    "productOptionsCategories": [],
                    "public": true,
                    "featured": false
                },
                {
                    "id": 109842,
                    "externalId": null,
                    "urlKey": "109842-cerveza-33cl",
                    "name": "Cerveza 33cl",
                    "shortDescription": null,
                    "description": null,
                    "image": null,
                    "price": 2.0,
                    "minOrderPreparationMinutes": 0,
                    "minMinutesOrderInAdvance": 0,
                    "tags": [],
                    "parentName": null,
                    "isAvailable": true,
                    "productVariants": [],
                    "productOptionsCategories": [],
                    "public": true,
                    "featured": false
                },
                {
                    "id": 109843,
                    "externalId": null,
                    "urlKey": "109843-refresco-limon",
                    "name": "Refresco limón",
                    "shortDescription": null,
                    "description": null,
                    "image": null,
                    "price": 2.0,
                    "minOrderPreparationMinutes": 0,
                    "minMinutesOrderInAdvance": 0,
                    "tags": [],
                    "parentName": null,
                    "isAvailable": true,
                    "productVariants": [],
                    "productOptionsCategories": [],
                    "public": true,
                    "featured": false
                }
            ]
        }
    ],
    "allowedOrderTypes": [
        "collection",
        "delivery",
        "insitu",
        "inside"
    ],
    "scheduleLabel": "de 11h a 16h y de 20h a 23.30h",
    "schedule": {
        "id": 1193,
        "ranges": [
            {
                "startTime": "19:00",
                "endTime": "23:30",
                "timezone": "Europe/Madrid",
                "startDay": {
                    "id": 1,
                    "name": "Lunes"
                },
                "endDay": {
                    "id": 1,
                    "name": "Lunes"
                }
            },
            {
                "startTime": "11:00",
                "endTime": "16:00",
                "timezone": "Europe/Madrid",
                "startDay": {
                    "id": 2,
                    "name": "Martes"
                },
                "endDay": {
                    "id": 2,
                    "name": "Martes"
                }
            },
            {
                "startTime": "20:00",
                "endTime": "23:30",
                "timezone": "Europe/Madrid",
                "startDay": {
                    "id": 2,
                    "name": "Martes"
                },
                "endDay": {
                    "id": 2,
                    "name": "Martes"
                }
            },
            {
                "startTime": "11:00",
                "endTime": "16:00",
                "timezone": "Europe/Madrid",
                "startDay": {
                    "id": 3,
                    "name": "Miércoles"
                },
                "endDay": {
                    "id": 3,
                    "name": "Miércoles"
                }
            },
            {
                "startTime": "20:00",
                "endTime": "23:30",
                "timezone": "Europe/Madrid",
                "startDay": {
                    "id": 3,
                    "name": "Miércoles"
                },
                "endDay": {
                    "id": 3,
                    "name": "Miércoles"
                }
            },
            {
                "startTime": "11:00",
                "endTime": "16:00",
                "timezone": "Europe/Madrid",
                "startDay": {
                    "id": 4,
                    "name": "Jueves"
                },
                "endDay": {
                    "id": 4,
                    "name": "Jueves"
                }
            },
            {
                "startTime": "20:00",
                "endTime": "23:30",
                "timezone": "Europe/Madrid",
                "startDay": {
                    "id": 4,
                    "name": "Jueves"
                },
                "endDay": {
                    "id": 4,
                    "name": "Jueves"
                }
            },
            {
                "startTime": "11:00",
                "endTime": "16:00",
                "timezone": "Europe/Madrid",
                "startDay": {
                    "id": 5,
                    "name": "Viernes"
                },
                "endDay": {
                    "id": 5,
                    "name": "Viernes"
                }
            },
            {
                "startTime": "20:00",
                "endTime": "23:30",
                "timezone": "Europe/Madrid",
                "startDay": {
                    "id": 5,
                    "name": "Viernes"
                },
                "endDay": {
                    "id": 5,
                    "name": "Viernes"
                }
            },
            {
                "startTime": "11:00",
                "endTime": "17:00",
                "timezone": "Europe/Madrid",
                "startDay": {
                    "id": 6,
                    "name": "Sábado"
                },
                "endDay": {
                    "id": 6,
                    "name": "Sábado"
                }
            },
            {
                "startTime": "20:00",
                "endTime": "23:30",
                "timezone": "Europe/Madrid",
                "startDay": {
                    "id": 6,
                    "name": "Sábado"
                },
                "endDay": {
                    "id": 6,
                    "name": "Sábado"
                }
            },
            {
                "startTime": "12:00",
                "endTime": "17:00",
                "timezone": "Europe/Madrid",
                "startDay": {
                    "id": 7,
                    "name": "Domingo"
                },
                "endDay": {
                    "id": 7,
                    "name": "Domingo"
                }
            },
            {
                "startTime": "20:00",
                "endTime": "23:30",
                "timezone": "Europe/Madrid",
                "startDay": {
                    "id": 7,
                    "name": "Domingo"
                },
                "endDay": {
                    "id": 7,
                    "name": "Domingo"
                }
            }
        ]
    },
    "urlKey": "10674-nuestra-carta",
    "hasSelection": true,
    "selectionAvailable": true,
    "selectionExpired": false,
    "selectionUpcoming": false
}
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.
availableFrom string (date-time) Menu available from time
availableTo string (date-time) Menu selection expiration time. If this value is null, menu selection doesn't expires
hasSelection boolean Returns true if the menu has a product selection
selectionAvailable boolean Returns true if the product selection is expired
selectionUpcoming boolean Returns true if the product selection is not available yet
price number (float) Menu price
shortDescription string Menu description
menuSections array MenuSection Menu sections containing products
urlKey string Encoded name for url
schedule object Schedule
scheduleLabel string Text describing menu schedule for given date
deliveryAvailability object MenuDeliveryAvailability
collectionAvailability object MenuCollectionAvailability
insituAvailability object MenuInsituAvailability
MODEL EXAMPLES

Example

{
    "id": 543,
    "name": "Pizzas",
    "type": "menu",
    "position": 1,
    "allowedOrderTypes": [
        null
    ],
    "availableFrom": "2017-02-12T21:30:00+0000",
    "availableTo": "2017-02-12T21:30:00+0000",
    "hasSelection": true,
    "selectionAvailable": false,
    "selectionUpcoming": false,
    "price": null,
    "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": 11.5,
                    "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": 0.75
                                }
                            ]
                        }
                    ],
                    "urlKey": "product-name",
                    "productVariants": [
                        {
                            "id": "843",
                            "name": "XXL size",
                            "image": "https://cdn.sinqro.com/assets/images/placeholder_image.jpg",
                            "price": 14,
                            "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": 0.75
                                        }
                                    ]
                                }
                            ],
                            "urlKey": "product-name"
                        }
                    ]
                }
            ]
        }
    ],
    "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"
                }
            }
        ]
    },
    "scheduleLabel": "All days from 09:00h to 22:00h",
    "deliveryAvailability": {
        "checkoutAllowed": true,
        "orderTypeAllowed": true,
        "availabilityLabel": "DISPONIBLE hoy 15/02",
        "availableRangesLabel": "Hoy de 08 a 22",
        "availableRanges": [
            {
                "startTime": "2018-02-15T08:00:00+0000",
                "endTime": "2018-02-15T22:00:00+0000"
            }
        ]
    },
    "collectionAvailability": {
        "checkoutAllowed": true,
        "orderTypeAllowed": true,
        "availabilityLabel": "DISPONIBLE hoy 15/02",
        "availableRangesLabel": "Hoy de 08 a 22",
        "availableRanges": [
            {
                "startTime": "2018-02-15T08:00:00+0000",
                "endTime": "2018-02-15T22:00:00+0000"
            }
        ]
    },
    "insituAvailability": {
        "checkoutAllowed": true,
        "orderTypeAllowed": true,
        "availabilityLabel": "DISPONIBLE hoy 15/02",
        "availableRangesLabel": "Hoy de 08 a 22",
        "availableRanges": [
            {
                "startTime": "2018-02-15T08:00:00+0000",
                "endTime": "2018-02-15T22:00:00+0000"
            }
        ]
    }
}
MenuCollectionAvailability
MODEL ATTRIBUTES
checkoutAllowed boolean
orderTypeAllowed boolean Returns true if the menu is allowed for given order type
availabilityLabel string Text describing availability
availableRangesLabel string Text describing available ranges
availableRanges array TimeRange Time ranges
MODEL EXAMPLES

Example

{
    "checkoutAllowed": true,
    "orderTypeAllowed": true,
    "availabilityLabel": "DISPONIBLE hoy 15/02",
    "availableRangesLabel": "Hoy de 08 a 22",
    "availableRanges": [
        {
            "startTime": "2018-02-15T08:00:00+0000",
            "endTime": "2018-02-15T22:00:00+0000"
        }
    ]
}
MenuDeliveryAvailability
MODEL ATTRIBUTES
checkoutAllowed boolean
orderTypeAllowed boolean Returns true if the menu is allowed for given order type
availabilityLabel string Text describing availability
availableRangesLabel string Text describing available ranges
availableRanges array TimeRange Time ranges
MODEL EXAMPLES

Example

{
    "checkoutAllowed": true,
    "orderTypeAllowed": true,
    "availabilityLabel": "DISPONIBLE hoy 15/02",
    "availableRangesLabel": "Hoy de 08 a 22",
    "availableRanges": [
        {
            "startTime": "2018-02-15T08:00:00+0000",
            "endTime": "2018-02-15T22:00:00+0000"
        }
    ]
}
MenuInsituAvailability
MODEL ATTRIBUTES
checkoutAllowed boolean
orderTypeAllowed boolean Returns true if the menu is allowed for given order type
availabilityLabel string Text describing availability
availableRangesLabel string Text describing available ranges
availableRanges array TimeRange Time ranges
MODEL EXAMPLES

Example

{
    "checkoutAllowed": true,
    "orderTypeAllowed": true,
    "availabilityLabel": "DISPONIBLE hoy 15/02",
    "availableRangesLabel": "Hoy de 08 a 22",
    "availableRanges": [
        {
            "startTime": "2018-02-15T08:00:00+0000",
            "endTime": "2018-02-15T22:00:00+0000"
        }
    ]
}
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 Product 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": 11.5,
            "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": 0.75
                        }
                    ]
                }
            ],
            "urlKey": "product-name",
            "productVariants": [
                {
                    "id": "843",
                    "name": "XXL size",
                    "image": "https://cdn.sinqro.com/assets/images/placeholder_image.jpg",
                    "price": 14,
                    "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": 0.75
                                }
                            ]
                        }
                    ],
                    "urlKey": "product-name"
                }
            ]
        }
    ]
}
NewCreditCardFormData
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

RedsysCreditCardFormData

{
    "formUrl": "https://sis-t.redsys.es:25443/sis/realizarPago",
    "formHiddenParams": {
        "Ds_SignatureVersion": "HMAC_SHA256_V1",
        "Ds_MerchantParameters": "eyJEU19NRVJDSEFOVF9BTU9VTlQiOjAsIkRTX01FUkNIQU5UX0NVUlJFTkNZIjoiOTc4IiwiRFNfTUVSQ0hBTlRfSURFTlRJRklFUiI6IlJFUVVJUkVEIiwiRFNfTUVSQ0hBTlRfTUVSQ0hBTlRDT0RFIjoiMzM0ODUyMzQwIiwiRFNfTUVSQ0hBTlRfTUVSQ0hBTlRVUkwiOiJodHRwczpcL1wvd2ViaG9vay5zaW5xcm8uY29tXC9yZWRzeXM/dHJhbnNhY3Rpb25VdWlkPTIwNTliOWE0LWJkNWQtMTFlZC1iNzExLTBhNDUzOTBkMzQ2ZCIsIkRTX01FUkNIQU5UX09SREVSIjoiMjMzNDE3MEMyNCIsIkRTX01FUkNIQU5UX1RFUk1JTkFMIjoiMDAxIiwiRFNfTUVSQ0hBTlRfVFJBTlNBQ1RJT05UWVBFIjoiMCJ9",
        "Ds_Signature": "xs9iTY6Il4Sh+PrS+MOk41WSELPzqSxuIttKoGRrRIQ="
    }
}

AddonPaymentsCreditCardFormData

{
    "formUrl": "https://hpp.sandbox.addonpayments.com/pay",
    "formHiddenParams": {
        "TIMESTAMP": "20230308033037",
        "MERCHANT_ID": "xxxx",
        "ACCOUNT": "3ds2",
        "ORDER_ID": "6456456546Cddd",
        "AMOUNT": "0",
        "CURRENCY": "EUR",
        "AUTO_SETTLE_FLAG": "1",
        "HPP_VERSION": "2",
        "CARD_STORAGE_ENABLE": "1",
        "OFFER_SAVE_CARD": "0",
        "PAYER_EXIST": "1",
        "PAYER_REF": "43432432432",
        "PMT_REF": "34324324234",
        "VALIDATE_CARD_ONLY": "1",
        "HPP_STORED_CREDENTIAL_TYPE": "oneoff",
        "HPP_STORED_CREDENTIAL_INITIATOR": "cardholder",
        "HPP_STORED_CREDENTIAL_SEQUENCE": "first",
        "HPP_CUSTOMER_COUNTRY": "ES",
        "HPP_CUSTOMER_FIRSTNAME": "Prueba",
        "HPP_CUSTOMER_LASTNAME": "prueba",
        "MERCHANT_RESPONSE_URL": "https://example.com",
        "HPP_CUSTOMER_EMAIL": "john@example.com",
        "HPP_CUSTOMER_PHONENUMBER_MOBILE": "34|600000000",
        "HPP_BILLING_STREET1": "Street",
        "HPP_BILLING_STREET2": "",
        "HPP_BILLING_STREET3": "",
        "HPP_BILLING_CITY": "Barcelona",
        "HPP_BILLING_POSTALCODE": "00000",
        "HPP_BILLING_COUNTRY": "724",
        "HPP_SHIPPING_STREET1": "Street",
        "HPP_SHIPPING_STREET2": "",
        "HPP_SHIPPING_STREET3": "",
        "HPP_SHIPPING_CITY": "Barcelona",
        "HPP_SHIPPING_STATE": "",
        "HPP_SHIPPING_POSTALCODE": "00000",
        "HPP_SHIPPING_COUNTRY": "724",
        "HPP_ADDRESS_MATCH_INDICATOR": "FALSE",
        "HPP_CHALLENGE_REQUEST_INDICATOR": "NO_PREFERENCE",
        "SHA1HASH": "1be45ffffffffff28491f2e661861f72"
    }
}
Order
MODEL ATTRIBUTES
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
MODEL EXAMPLES

Example

{
    "id": 4912,
    "totalAmount": 29.9,
    "executionTimeLabel": "11/10 at 13:10h",
    "executionTime": "2017-10-11T13:10:00+0000",
    "comment": "Thank you",
    "cancellationComment": null,
    "consumer": {
        "id": 1003,
        "email": "john@example.com",
        "name": "John",
        "lastname": "Doe",
        "image": "https://cdn.sinqro.com/assets/images/placeholder_image.jpg",
        "phone": "+34600000000"
    },
    "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",
        "urlKey": "restaurant-name-city",
        "type": "Italian",
        "timezone": "Europe/Madrid"
    },
    "payments": [
        {
            "id": 5922,
            "amount": 29.9,
            "paymentMethodName": "Credit card",
            "prepaid": true
        }
    ],
    "orderLines": [
        {
            "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
            ]
        }
    ],
    "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",
            "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"
                }
            }
        }
    ],
    "dinersNumber": 1,
    "isCancellable": true
}
Order
MODEL ATTRIBUTES
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
MODEL EXAMPLES

Example

{
    "id": 4912,
    "totalAmount": 29.9,
    "executionTimeLabel": "11/10 at 13:10h",
    "executionTime": "2017-10-11T13:10:00+0000",
    "comment": "Thank you",
    "cancellationComment": null,
    "consumer": {
        "id": 1003,
        "email": "john@example.com",
        "name": "John",
        "lastname": "Doe",
        "image": "https://cdn.sinqro.com/assets/images/placeholder_image.jpg",
        "phone": "+34600000000"
    },
    "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",
        "urlKey": "restaurant-name-city",
        "type": "Italian",
        "timezone": "Europe/Madrid"
    },
    "payments": [
        {
            "id": 5922,
            "amount": 29.9,
            "paymentMethodName": "Credit card",
            "prepaid": true
        }
    ],
    "orderLines": [
        {
            "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
            ]
        }
    ],
    "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",
            "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"
                }
            }
        }
    ],
    "dinersNumber": 1,
    "isCancellable": true
}
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"
}
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
globalStatusCode string Order global status identifier code
MODEL EXAMPLES

Example

{
    "code": "waiting_sp_validation",
    "name": "Waiting selling point validation",
    "color": "#f7981d",
    "globalStatusCode": "processing"
}
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
MODEL EXAMPLES

Example

{
    "id": 5922,
    "amount": 29.9,
    "paymentMethodName": "Credit card",
    "prepaid": true
}
PaymentMethod
MODEL ATTRIBUTES
id integer (int64) Payment method identifier
name string Payment method name
code string Payment method code
position integer (int64) Payment method position
MODEL EXAMPLES

Example

{
    "id": null,
    "name": "Credit card online",
    "code": "CREDIT_CARD_ONLINE",
    "position": 1
}
PaymentValidation
MODEL ATTRIBUTES

Payment validation

errors array Error Payment validation errors
valid boolean True if no payment errors found
MODEL EXAMPLES

Example

{
    "errors": [
        {
            "code": "PAYMENT_METHOD_NOT_FOUND",
            "message": "Payment method not found",
            "data": [
                null
            ]
        }
    ],
    "valid": false
}
Place
MODEL ATTRIBUTES
id integer (int64) Place identifier
key string Place identifier key
name string Place name
googlePlaceId string Google place identifier
MODEL EXAMPLES

Example

{
    "id": 972,
    "key": "example-23-postalCode-city-country",
    "name": "C/ Example, 23, PostalCode, City, Country",
    "googlePlaceId": "ChIJ9xWj5lmcpBIRT_K4nCOERTg"
}
Product
MODEL ATTRIBUTES

Only for orderLine type PRODUCT

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

Example

{
    "id": "843"
}
Product
MODEL ATTRIBUTES

Product data

id integer (int64) Product identifier
externalId string Custom identifier
name string Product name
image string Product image url
price number (float) Product price
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
MODEL EXAMPLES

Example

{
    "id": "843",
    "name": "Neapolitan Pizza",
    "image": "https://cdn.sinqro.com/assets/images/placeholder_image.jpg",
    "price": 11.5,
    "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": 0.75
                }
            ]
        }
    ],
    "urlKey": "product-name",
    "productVariants": [
        {
            "id": "843",
            "name": "XXL size",
            "image": "https://cdn.sinqro.com/assets/images/placeholder_image.jpg",
            "price": 14,
            "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": 0.75
                        }
                    ]
                }
            ],
            "urlKey": "product-name"
        }
    ]
}
Product
MODEL ATTRIBUTES
id integer (int64) Product identifier
externalId string Custom identifier
name string Product name
image string Product image url
price number (float) Product price
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": 14,
    "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": 0.75
                }
            ]
        }
    ],
    "urlKey": "product-name"
}
ProductOption
MODEL ATTRIBUTES

Only for orderLine type PRODUCT_OPTION

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

Example

{
    "id": "233"
}
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 number (float) Product option price
MODEL EXAMPLES

Example

{
    "id": "233",
    "name": "Cheddar",
    "shortDescription": "Add cheddar to your pizza",
    "position": 1,
    "isAvailable": true,
    "price": 0.75
}
ProductOption
MODEL ATTRIBUTES
comment string Consumer item comment
name string Item name
image string Item image
quantity integer (int64) Quantity of same item
totalPrice number (float) Item total price. (UnitFinalPrice x Quantity)
unitAdditionalPrice number (float) Unit additional price
unitFinalPrice number (float) Unit final price. (UnitPrice + UnitAdditionalPrice)
unitPrice number (float) Unit price
type string Item type code

Possible values
menu
product
product-option
items array SELF Children items
MODEL EXAMPLES

Example

{
    "name": "Pepperoni",
    "image": "http://mycdn.com/item-image.jpeg",
    "quantity": 1,
    "totalPrice": 1.5,
    "unitAdditionalPrice": 0,
    "unitFinalPrice": 1.5,
    "unitPrice": 1.5,
    "type": "product-option",
    "items": [
        null
    ]
}
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": 0.75
        }
    ]
}
ReservationServiceAvailability
MODEL ATTRIBUTES

Reservation service availability

availabilityLabelShort string Short text representing first execution time
availabilityLabel string Short text representing first execution time
desiredDayHasService boolean Return true if selling point accept reservation orders for given date
distance number (float) If the request is done with googlePlaceId returns the distance in kilometers between selling point and googlePlace
enabled boolean Return true if selling point allow reservation orders
isOutOfRange integer (int64) Only used in delivery orders. Return true if googlePlaceId is given and the place is out of delivery range
executionTimeLabel string Short text representing day reservation schedule
firstExecutionTime string (date-time) First execution time for given date
maxDiners integer (int64) Maximum diners allowed for reservation
services array Collection of available services
MODEL EXAMPLES

Example

{
    "availabilityLabelShort": "20 min",
    "availabilityLabel": "Book a table in in 30 min",
    "desiredDayHasService": true,
    "distance": null,
    "enabled": true,
    "isOutOfRange": null,
    "executionTimeLabel": "From 08.00h to 22.30h",
    "firstExecutionTime": "2017-02-10T09:20:00+0000",
    "maxDiners": 20,
    "services": [
        null
    ]
}
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"
            }
        }
    ]
}
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"
}
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
availability object ServiceAvailability Service availability
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"
        }
    ],
    "availability": {
        "availabilityLabelShort": "30 min",
        "availabilityLabel": "Delivery in 30 min",
        "desiredDayHasService": true,
        "distance": 2.34,
        "enabled": true,
        "isOutOfRange": false,
        "executionTimeLabel": "From 09.30h to 23.30h",
        "firstExecutionTime": "2017-02-10T09:30:00+0000",
        "maxDiners": null,
        "services": [
            null
        ]
    }
}
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": 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",
    "allowedOrderTypes": [
        "delivery",
        "collection",
        "insitu",
        "reservation",
        "inside"
    ],
    "urlKey": "superpizza-viladecans",
    "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin euismod ante sit amet nulla pretium imperdiet. Nunc laoreet ultricies metus a dictum. Aliquam lorem dui, volutpat vitae orci ut, efficitur pretium erat. Nulla consectetur varius ullamcorper. In ut tristique odio, vitae dignissim magna. Cras euismod eleifend commodo. Cras iaculis felis non mauris mattis, quis pulvinar tellus tincidunt.\n\nEtiam congue augue dapibus odio rhoncus, vel gravida est mattis. In ultrices suscipit ante ut dapibus. Curabitur quis nisl eu lacus sollicitudin vestibulum ac non magna. Vivamus et diam ac odio aliquam efficitur. Fusce ultrices aliquam massa id viverra. Suspendisse eu fringilla nisi. Nullam accumsan neque non lorem ultricies vestibulum id eget tellus.",
    "schedule": {
        "id": 1193,
        "ranges": [
            {
                "startTime": "19:00",
                "endTime": "23:30",
                "timezone": "Europe/Madrid",
                "startDay": {
                    "id": 1,
                    "name": "Lunes"
                },
                "endDay": {
                    "id": 1,
                    "name": "Lunes"
                }
            },
            {
                "startTime": "11:00",
                "endTime": "16:00",
                "timezone": "Europe/Madrid",
                "startDay": {
                    "id": 2,
                    "name": "Martes"
                },
                "endDay": {
                    "id": 2,
                    "name": "Martes"
                }
            },
            {
                "startTime": "20:00",
                "endTime": "23:30",
                "timezone": "Europe/Madrid",
                "startDay": {
                    "id": 2,
                    "name": "Martes"
                },
                "endDay": {
                    "id": 2,
                    "name": "Martes"
                }
            },
            {
                "startTime": "11:00",
                "endTime": "16:00",
                "timezone": "Europe/Madrid",
                "startDay": {
                    "id": 3,
                    "name": "Miércoles"
                },
                "endDay": {
                    "id": 3,
                    "name": "Miércoles"
                }
            },
            {
                "startTime": "20:00",
                "endTime": "23:30",
                "timezone": "Europe/Madrid",
                "startDay": {
                    "id": 3,
                    "name": "Miércoles"
                },
                "endDay": {
                    "id": 3,
                    "name": "Miércoles"
                }
            },
            {
                "startTime": "11:00",
                "endTime": "16:00",
                "timezone": "Europe/Madrid",
                "startDay": {
                    "id": 4,
                    "name": "Jueves"
                },
                "endDay": {
                    "id": 4,
                    "name": "Jueves"
                }
            },
            {
                "startTime": "20:00",
                "endTime": "23:30",
                "timezone": "Europe/Madrid",
                "startDay": {
                    "id": 4,
                    "name": "Jueves"
                },
                "endDay": {
                    "id": 4,
                    "name": "Jueves"
                }
            },
            {
                "startTime": "11:00",
                "endTime": "16:00",
                "timezone": "Europe/Madrid",
                "startDay": {
                    "id": 5,
                    "name": "Viernes"
                },
                "endDay": {
                    "id": 5,
                    "name": "Viernes"
                }
            },
            {
                "startTime": "20:00",
                "endTime": "23:30",
                "timezone": "Europe/Madrid",
                "startDay": {
                    "id": 5,
                    "name": "Viernes"
                },
                "endDay": {
                    "id": 5,
                    "name": "Viernes"
                }
            },
            {
                "startTime": "11:00",
                "endTime": "17:00",
                "timezone": "Europe/Madrid",
                "startDay": {
                    "id": 6,
                    "name": "Sábado"
                },
                "endDay": {
                    "id": 6,
                    "name": "Sábado"
                }
            },
            {
                "startTime": "20:00",
                "endTime": "23:30",
                "timezone": "Europe/Madrid",
                "startDay": {
                    "id": 6,
                    "name": "Sábado"
                },
                "endDay": {
                    "id": 6,
                    "name": "Sábado"
                }
            },
            {
                "startTime": "12:00",
                "endTime": "17:00",
                "timezone": "Europe/Madrid",
                "startDay": {
                    "id": 7,
                    "name": "Domingo"
                },
                "endDay": {
                    "id": 7,
                    "name": "Domingo"
                }
            },
            {
                "startTime": "20:00",
                "endTime": "23:30",
                "timezone": "Europe/Madrid",
                "startDay": {
                    "id": 7,
                    "name": "Domingo"
                },
                "endDay": {
                    "id": 7,
                    "name": "Domingo"
                }
            }
        ]
    },
    "tags": [],
    "timezone": "Europe/Madrid",
    "customStatusMessage": null
}
SellingPointServiceAvailability
MODEL ATTRIBUTES
deliveryServiceAvailability object DeliveryServiceAvailability Delivery service availability
collectionServiceAvailability object CollectionServiceAvailability Collection service availability
insituServiceAvailability object InsituServiceAvailability Insitu service availability
reservationServiceAvailability object ReservationServiceAvailability Reservation service availability
MODEL EXAMPLES

Example

{
    "deliveryServiceAvailability": {
        "availabilityLabelShort": "35 min",
        "availabilityLabel": "Delivery in 30 min",
        "desiredDayHasService": true,
        "distance": 2.34,
        "enabled": true,
        "isOutOfRange": false,
        "executionTimeLabel": "From 09.30h to 23.30h",
        "firstExecutionTime": "2017-02-10T09:30:00+0000",
        "maxDiners": null,
        "services": [
            null
        ]
    },
    "collectionServiceAvailability": {
        "availabilityLabelShort": "20 min",
        "availabilityLabel": "Take away in in 30 min",
        "desiredDayHasService": true,
        "distance": null,
        "enabled": true,
        "isOutOfRange": null,
        "executionTimeLabel": "From 08.00h to 23.30h",
        "firstExecutionTime": "2017-02-10T08:20:00+0000",
        "maxDiners": null,
        "services": [
            null
        ]
    },
    "insituServiceAvailability": {
        "availabilityLabelShort": "20 min",
        "availabilityLabel": "Book a table in in 30 min",
        "desiredDayHasService": true,
        "distance": null,
        "enabled": true,
        "isOutOfRange": null,
        "executionTimeLabel": "From 08.00h to 22.30h",
        "firstExecutionTime": "2017-02-10T08:20:00+0000",
        "maxDiners": null,
        "services": [
            null
        ]
    },
    "reservationServiceAvailability": {
        "availabilityLabelShort": "20 min",
        "availabilityLabel": "Book a table in in 30 min",
        "desiredDayHasService": true,
        "distance": null,
        "enabled": true,
        "isOutOfRange": null,
        "executionTimeLabel": "From 08.00h to 22.30h",
        "firstExecutionTime": "2017-02-10T09:20:00+0000",
        "maxDiners": 20,
        "services": [
            null
        ]
    }
}
Service
MODEL ATTRIBUTES
shortText string Service execution time short description
text string Service execution time description
value string Service value
serviceConditions object Service Service conditions
MODEL EXAMPLES

Example

{
    "shortText": "In 30 minutes",
    "text": "As soon as possible (30 min)",
    "value": "asap",
    "serviceConditions": {
        "acceptDiscounts": true,
        "cartMinProductsAmount": 5,
        "serviceConditionsTable": [
            {
                "acceptDiscounts": true,
                "minProductsAmount": 5,
                "deliveryBasePrice": 1.5,
                "deliveryPerKmPrice": 0,
                "maxDeliveryDistance": 5
            }
        ],
        "reservationMaxDiners": null,
        "checkoutSelectionLabel": "Min. cart amount 5€. Max. delivery distance 5km. Delivery price 1.5€ and free for orders over 20€",
        "allowedPaymentMethods": [
            {
                "id": null,
                "name": "Credit card online",
                "code": "CREDIT_CARD_ONLINE",
                "position": 1
            }
        ]
    }
}
Service
MODEL ATTRIBUTES

Service conditions

acceptDiscounts boolean True if discounts can be used in this service
cartMinProductsAmount number (float) Minimum cart amount
serviceConditionsTable array ServiceConditionsTableData Array with service conditions table data
reservationMaxDiners integer (int64) Maximum diners allowed for reservations
checkoutSelectionLabel string Text describing all service properties
allowedPaymentMethods array PaymentMethod Allowed payment methods for this service
MODEL EXAMPLES

Example

{
    "acceptDiscounts": true,
    "cartMinProductsAmount": 5,
    "serviceConditionsTable": [
        {
            "acceptDiscounts": true,
            "minProductsAmount": 5,
            "deliveryBasePrice": 1.5,
            "deliveryPerKmPrice": 0,
            "maxDeliveryDistance": 5
        }
    ],
    "reservationMaxDiners": null,
    "checkoutSelectionLabel": "Min. cart amount 5€. Max. delivery distance 5km. Delivery price 1.5€ and free for orders over 20€",
    "allowedPaymentMethods": [
        {
            "id": null,
            "name": "Credit card online",
            "code": "CREDIT_CARD_ONLINE",
            "position": 1
        }
    ]
}
ServiceAvailability
MODEL ATTRIBUTES

Service availability

availabilityLabelShort string Short text representing first execution time
availabilityLabel string Short text representing first execution time
desiredDayHasService boolean Return true if selling point accept given order type orders for given date
distance number (float) If the request is done with googlePlaceId returns the distance in kilometers between selling point and googlePlace
enabled boolean Return true if selling point allow given order type orders
isOutOfRange integer (int64) Only used in delivery orders. Return true if googlePlaceId is given and the place is out of delivery range
executionTimeLabel string Short text representing day given order type schedule
firstExecutionTime string (date-time) First execution time for given date
maxDiners integer (int64) Maximum diners allowed for reservation
services array Collection of available services
MODEL EXAMPLES

Example

{
    "availabilityLabelShort": "30 min",
    "availabilityLabel": "Delivery in 30 min",
    "desiredDayHasService": true,
    "distance": 2.34,
    "enabled": true,
    "isOutOfRange": false,
    "executionTimeLabel": "From 09.30h to 23.30h",
    "firstExecutionTime": "2017-02-10T09:30:00+0000",
    "maxDiners": null,
    "services": [
        null
    ]
}
ServiceAvailability
MODEL ATTRIBUTES

Service availability

availabilityLabelShort string Short text representing first execution time
availabilityLabel string Short text representing first execution time
desiredDayHasService boolean Return true if selling point accept given order type orders for given date
distance number (float) If the request is done with googlePlaceId returns the distance in kilometers between selling point and googlePlace
enabled boolean Return true if selling point allow given order type orders
isOutOfRange integer (int64) Only used in delivery orders. Return true if googlePlaceId is given and the place is out of delivery range
executionTimeLabel string Short text representing day given order type schedule
firstExecutionTime string (date-time) First execution time for given date
maxDiners integer (int64) Maximum diners allowed for reservation
services array Service Service time with conditions
MODEL EXAMPLES

Example

{
    "availabilityLabelShort": "30 min",
    "availabilityLabel": "Delivery in 30 min",
    "desiredDayHasService": true,
    "distance": 2.34,
    "enabled": true,
    "isOutOfRange": false,
    "executionTimeLabel": "From 09.30h to 23.30h",
    "firstExecutionTime": "2017-02-10T09:30:00+0000",
    "maxDiners": null,
    "services": [
        {
            "shortText": "In 30 minutes",
            "text": "As soon as possible (30 min)",
            "value": "asap",
            "serviceConditions": {
                "acceptDiscounts": true,
                "cartMinProductsAmount": 5,
                "serviceConditionsTable": [
                    {
                        "acceptDiscounts": true,
                        "minProductsAmount": 5,
                        "deliveryBasePrice": 1.5,
                        "deliveryPerKmPrice": 0,
                        "maxDeliveryDistance": 5
                    }
                ],
                "reservationMaxDiners": null,
                "checkoutSelectionLabel": "Min. cart amount 5€. Max. delivery distance 5km. Delivery price 1.5€ and free for orders over 20€",
                "allowedPaymentMethods": [
                    {
                        "id": null,
                        "name": "Credit card online",
                        "code": "CREDIT_CARD_ONLINE",
                        "position": 1
                    }
                ]
            }
        }
    ]
}
ServiceAvailability
MODEL ATTRIBUTES

Delivery service availability

availabilityLabelShort string Short text representing first execution time
availabilityLabel string Short text representing first execution time
desiredDayHasService boolean Return true if selling point accept delivery orders for given date
distance number (float) If the request is done with googlePlaceId returns the distance in kilometers between selling point and googlePlace
enabled boolean Return true if selling point allow delivery orders
isOutOfRange integer (int64) Only used in delivery orders. Return true if googlePlaceId is given and the place is out of delivery range
executionTimeLabel string Short text representing day delivery schedule
firstExecutionTime string (date-time) First execution time for given date
maxDiners integer (int64) Maximum diners allowed for reservation
services array Service Service time with conditions
MODEL EXAMPLES

Example

{
    "availabilityLabelShort": "35 min",
    "availabilityLabel": "Delivery in 30 min",
    "desiredDayHasService": true,
    "distance": 2.34,
    "enabled": true,
    "isOutOfRange": false,
    "executionTimeLabel": "From 09.30h to 23.30h",
    "firstExecutionTime": "2017-02-10T09:30:00+0000",
    "maxDiners": null,
    "services": [
        {
            "shortText": "In 30 minutes",
            "text": "As soon as possible (30 min)",
            "value": "asap",
            "serviceConditions": {
                "acceptDiscounts": true,
                "cartMinProductsAmount": 5,
                "serviceConditionsTable": [
                    {
                        "acceptDiscounts": true,
                        "minProductsAmount": 5,
                        "deliveryBasePrice": 1.5,
                        "deliveryPerKmPrice": 0,
                        "maxDeliveryDistance": 5
                    }
                ],
                "reservationMaxDiners": null,
                "checkoutSelectionLabel": "Min. cart amount 5€. Max. delivery distance 5km. Delivery price 1.5€ and free for orders over 20€",
                "allowedPaymentMethods": [
                    {
                        "id": null,
                        "name": "Credit card online",
                        "code": "CREDIT_CARD_ONLINE",
                        "position": 1
                    }
                ]
            }
        }
    ]
}
ServiceConditionsTableData
MODEL ATTRIBUTES

Service conditions table data

acceptDiscounts boolean True if discounts can be used in this service
minProductsAmount number (float) Minimum products amount
deliveryBasePrice number (float) Delivery base price
deliveryPerKmPrice number (float) Delivery price increment per kilometer
maxDeliveryDistance number (float) Maximum delivery distance
MODEL EXAMPLES

Example

{
    "acceptDiscounts": true,
    "minProductsAmount": 5,
    "deliveryBasePrice": 1.5,
    "deliveryPerKmPrice": 0,
    "maxDeliveryDistance": 5
}
ServiceValidation
MODEL ATTRIBUTES

Service validation

errors array Error Service validation errors
addressErrors array Error Address errors
datetimeErrors array Error Datetime errors
reservationErrors array Error Reservation errors
valid boolean True if no service errors found
validSelectedTime boolean True if the selected time is allowed to complete the order
validAddress boolean Only used for delivery orders. True if the selected address is allowed for delivery
validReservation boolean Only used for reservations. True if diners number is allowed for reservation
MODEL EXAMPLES

Example

{
    "errors": [
        {
            "code": "WRONG_SELECTED_TIME",
            "message": "Wrong selected time",
            "data": [
                null
            ]
        }
    ],
    "addressErrors": [
        {
            "code": "NOT_ALLOWED_DELIVERY_ADDRESS",
            "message": "The delivery address is not allowed",
            "data": [
                null
            ]
        }
    ],
    "datetimeErrors": [
        {
            "code": "WRONG_SELECTED_TIME",
            "message": "Wrong selected time",
            "data": [
                null
            ]
        }
    ],
    "reservationErrors": [
        {
            "code": "MAX_DINERS_EXCEEDED",
            "message": "Max diners exceeded",
            "data": [
                null
            ]
        }
    ],
    "valid": false,
    "validSelectedTime": false,
    "validAddress": true,
    "validReservation": true
}
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"
}
TimeRange
MODEL ATTRIBUTES
startTime string (date-time) Range start time
endTime string (date-time) Range end time
MODEL EXAMPLES

Example

{
    "startTime": "2018-02-15T08:00:00+0000",
    "endTime": "2018-02-15T22:00:00+0000"
}
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"
}