NAV
json

API Reference

Welcome to Bookinglayer’s Public API documentation.

If you have any questions or requests please send them through to tech@bookinglayer.com.

The Bookinglayer API is organized around REST. Our API has predictable resource-oriented URLs, accepts form-encoded and JSON-encoded request bodies, returns JSON-encoded responses. Uses standard HTTP response codes, authentication, and verbs.

Authentication

The Bookinglayer Public API uses Business Id to authenticate requests. You can view your Business Id in the Bookinglayer Backoffice > Settings > API.

There are two ways to pass business id with request:

  • (Recommended) Set Business-Id in request headers (XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX).
  • add to query string ?business_id=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX, we support it to make life easier for debugging via browser.

All API requests must be made over HTTPS. Calls made over plain HTTP will fail. API requests without authentication will also fail.

Example Response (200):

{
    "data": {
        "accommodation_list_mode": true,
        "analytics_track_purchase_on_checkout": false,
        "cp_version": 2,
        "default_guest_language": "en",
        "default_order_lock_time": 30,
        "default_country_id": "1",
        "enable_currency_conversion": true,
        ...
    }
}

Example Response (400):

{"error": {"message": "Missing business_id or business domain."}}

Example Response (404):

{"error": {"message": "No query results for model [App\\Business]."}}

HTTP request

GET public/bookings

URL Parameters

Parameter Status Description
business_id optional business uuid, required when business_domain is missing.
business_domain optional business domain (string), required when business_id is missing.

Filters

Date range type

Filters described as date range allows to filter in 4 ways:

Amount range type

Filters described as amount range allows to filter in 4 ways:

Sorting

Notation field{,direction} direction is optional desc by default. Example ?sort_by=created_at,asc

Naming convention

Here we describe some naming convention that we fallow across whole api.

Errors

Example Response (401):

{
    "error": {
        "message": "Missing business_id or business domain."
    }
}

Example Response (422):

{
    "data": {
        "message": "The given data was invalid.",
        "errors": {
            "start": [
                "The start field is required"
            ]
        }
    }
}

Bookinglayer uses conventional HTTP response codes to indicate the success or failure of an API request. In general: Codes in the 2xx range indicate success. Codes in the 4xx range indicate an error that failed given the information provided (e.g., a required parameter was omitted, etc.).

All error responses have same structure error.message + proper HTTP code and status.

Code Status Description
200 OK Everything worked as expected.
400 Bad Request The request was unacceptable.
401 Unauthorized No valid business_id provided.
402 Request Failed The parameters were valid but the request failed.
403 Forbidden The business owner excluded endpoint from public, app doesn't have permissions to perform the request.
404 Not Found The requested resource doesn't exist.
422 Unprocessable Entity the server understands the content type of the request entity, but it was unable to process the contained instructions. Often due to missing a required parameter or other validation errors.
429 Too Many Requests Too many requests hit the API too quickly. We recommend an exponential backoff of your requests.
50X Server Errors Something went wrong on Bookinglayer's end. (These are rate :))

Accommodation Availabilities

List Availabilities

Availabilities list for accommodation. This is a special endpoint for product availabilities (more general is #product-availabilities)

HTTP Request

GET public/accommodations/availabilities

Query Parameters

Parameter Status Description
start required date in yyyy-mm-dd format.
end required date in yyyy-mm-dd format.
package optional product id, get accommodation availabilities bound with given package.
currency optional ISO 4217 (eur, usd...).
mode optional two options, checkin and checkout, default: checkin, depends on product configuration checkin and checkout availabilities may be different.
show_available_only optional boolean, 1 will show just dates that have enough availability, 0 will show every date between given period default: 1.
male optional pax param, number of male guests, required when other pax params are missing.
female optional pax param, number of female guests, required when other pax params are missing.
couple optional pax param, number of couples (2 guests), required when other pax params are missing.
genderless optional pax param, number of genderless guests, required when other pax params are missing, in some cases we don't care about gender guest.

Booking Engine

public/booking_engine

Example response (200):

{
    "data": {
        "redirect": "\/frontoffice"
    }
}

HTTP Request

GET public/booking_engine

Cart

Persist Cart

Action process BookingRequest json and blocks product availabilities for X min, X is defined on business level.

Example request:

{
    "start": "2020-04-05",
    "end": "2020-04-09",
    "currency": "EUR",
    "guests": [
        {
            "id": "2ccea59b-b9a1-4ba9-94c2-ba3103501058",
            "gender": "females",
            "first_name": "Susanna",
            "last_name": "Boyle",
            "email": "Coby_Mueller@gmail.com",
            "date_of_birth": "1988-02-27"
        }
    ],
    "bookings": [
        {
            "product_id": "2459a382-3e6c-4456-88d7-c526026fd64e",
            "guest_id": "2ccea59b-b9a1-4ba9-94c2-ba3103501058",
            "value": [
                "2020-04-05",
                "2020-04-09"
            ],
            "items": [
                {
                    "id": 105670,
                    "value": [
                        "2020-04-07",
                        "2020-04-08"
                    ]
                },
                {
                    "id": 105698,
                    "value": 3
                },
                {
                    "id": 105700,
                    "value": true
                },
                {
                    "id": 105667,
                    "value": [
                        "2020-04-05",
                        "2020-04-07",
                        "2020-04-08",
                        "2020-04-09"
                    ]
                },
                {
                    "id": 105668,
                    "value": [
                        "2020-04-06"
                    ]
                }
            ]
        }
    ]
}

Example response (200):

{
    "data": {
        "id": "7888f153-9bc7-4a8c-970c-aea27970d615",
        "expire_at": "2020-06-23T20:09:08+00:00",
        "channel": "frontoffice"
    }
}

HTTP Request

POST public/carts

Body Parameters

Parameter Type Status Description
currency string required iso_3 code, in example: eur, usd.
guests array required array of guest objects.
guests.*.id uuid optional append to guest order.  
guests.*.first_name string optional  
guests.*.last_name string optional  
guests.*.email string optional  
guests.*.group_id integer optional  
bookings array required bookings to count prices.
bookings.product_id uuid required  
bookings.dates.* array required set of dates, in terms of package and accommodation bookings,
first and last date is relevant.
bookings.parent_id uuid required nullable, id of parent id.
bookings.guest_id uuid required nullable, id of parent, in example when item is a part of package.

Get Cart

Example response (200):

{
    "data": {
        "id": "7888f153-9bc7-4a8c-970c-aea27970d615",
        "expire_at": "2020-06-23T20:09:08+00:00",
        "channel": "frontoffice"
    }
}

HTTP Request

GET public/carts/{carts_uuid}

Cart update

When discount code is invalid, you'll get bad request with proper message.

Example request:

{
    "discount_code": "occaecati"
}

HTTP Request

PUT public/carts/{carts_uuid}

PATCH public/carts/{carts_uuid}

Body Parameters

Parameter Type Status Description
discount_code string optional  

Cart delete

Abandon cart, unblock product availabilities.

HTTP Request

DELETE public/carts/{carts_uuid}

Cart totals

Example response (200):

{
    "data": {
        "totals": {
            "base": 1721.33,
            "upgrades": 545,
            "sub_total": 4966.33,
            "discounts": 496.63,
            "accommodations": 2700,
            "donations": 10,
            "total": 0,
            "gift_certificate_left": 1520.3,
            "gift_certificate": 4479.7
        }
    }
}

HTTP Request

GET public/carts/{carts_uuid}/totals

Cart Itinerary

Example response (200):

{
    "data": [
        {
            "guest": {
                "id": "787f31d2-a787-4502-b123-25827dafb41c",
                "first_name": "Braden",
                "last_name": "Altenwerth",
                "email": "margarett.stamm@yahoo.com",
                "birth_date": "1997-10-14",
                "gender": "f",
                "phone_country_code": null,
                "phone": null,
                "language_code": "en",
                "address_line_1": null,
                "address_line_2": null,
                "address_line_3": null,
                "zip_code": null,
                "city": null,
                "state": null,
                "initials": "BA",
                "custom_fields": {
                    "shoe_size_5e90888d22e8b": null,
                    "shirt_size_5e9088b5e7be2": null
                },
                "created_at": "2020-06-23T19:45:08+00:00",
                "updated_at": "2020-06-23T19:45:08+00:00"
            },
            "bookings": [
                {
                    "guest_id": "787f31d2-a787-4502-b123-25827dafb41c",
                    "parent_id": null,
                    "product": {
                        "id": "2459a382-3e6c-4456-88d7-c526026fd64e",
                        "backoffice_title": "Surf Weekend Package",
                        "title": "Surf Weekend Package",
                        "translations": {
                            "en": {
                                "title": "Surf Weekend Package",
                                "frontoffice_title": "Surf Weekend Package",
                                "description": "Stay 2 or 3 nights with us and get daily surf coaching with optional video analysis.",
                                "extended_description": null
                            }
                        },
                        "images": [
                            {
                                "src": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/09\/surf-package-best.png",
                                "small": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/09\/100_surf-package-best.png",
                                "medium": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/09\/320_surf-package-best.png",
                                "large": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/09\/960_surf-package-best.png"
                            }
                        ],
                        "type": "package",
                        "location": {
                            "id": 1258,
                            "title": "Spain",
                            "abbreviation": "ES"
                        }
                    },
                    "dates": [
                        {
                            "starts_at": "2020-07-18 14:00:00",
                            "ends_at": "2020-07-26 10:00:00",
                            "price": 666.67
                        }
                    ],
                    "qty": 1,
                    "price": 666.67,
                    "children": [
                        {
                            "guest_id": "787f31d2-a787-4502-b123-25827dafb41c",
                            "parent_id": 4956069,
                            "product": {
                                "id": "aa45e46a-023f-4cbd-b701-18d8a3ed0f8a",
                                "backoffice_title": "11 - Double Deluxe",
                                "title": "11 - Double Deluxe",
                                "translations": {
                                    "en": {
                                        "title": "11 - Double Deluxe",
                                        "frontoffice_title": "11 - Double Deluxe",
                                        "description": "Please provide a short description here.",
                                        "extended_description": null
                                    }
                                },
                                "images": [],
                                "type": "accommodation",
                                "location": {
                                    "id": 1258,
                                    "title": "Spain",
                                    "abbreviation": "ES"
                                }
                            },
                            "dates": [
                                {
                                    "starts_at": "2020-07-18 14:00:00",
                                    "ends_at": "2020-07-26 10:00:00",
                                    "price": 1350
                                }
                            ],
                            "qty": 9,
                            "price": 1350,
                            "children": []
                        },
                        {
                            "guest_id": "787f31d2-a787-4502-b123-25827dafb41c",
                            "parent_id": 4956069,
                            "product": {
                                "id": "e9cf499f-8adf-4d31-bf76-4b31bbac9ff8",
                                "backoffice_title": "Full Board",
                                "title": "Full Board",
                                "translations": {
                                    "en": {
                                        "title": "Full Board",
                                        "frontoffice_title": "Full Board",
                                        "description": "Enjoy a healthy breakfast, lunch and dinner.",
                                        "extended_description": null
                                    },
                                    "es": {
                                        "title": null,
                                        "frontoffice_title": "Pensión completa",
                                        "description": null,
                                        "extended_description": null
                                    }
                                },
                                "images": [
                                    {
                                        "src": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/22\/alejandro-luengo-wQ82bn771-U-unsplash.jpg",
                                        "small": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/22\/100_alejandro-luengo-wQ82bn771-U-unsplash.jpg",
                                        "medium": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/22\/320_alejandro-luengo-wQ82bn771-U-unsplash.jpg",
                                        "large": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/22\/960_alejandro-luengo-wQ82bn771-U-unsplash.jpg"
                                    }
                                ],
                                "type": "bundle",
                                "location": {
                                    "id": 1258,
                                    "title": "Spain",
                                    "abbreviation": "ES"
                                }
                            },
                            "dates": [
                                {
                                    "starts_at": null,
                                    "ends_at": null,
                                    "price": 2
                                }
                            ],
                            "qty": 1,
                            "price": 2,
                            "children": [
                                {
                                    "guest_id": "787f31d2-a787-4502-b123-25827dafb41c",
                                    "parent_id": 4956094,
                                    "product": {
                                        "id": "b6b01d82-7e79-4e23-b834-b7bb20053e8a",
                                        "backoffice_title": "Breakfast",
                                        "title": "Breakfast",
                                        "translations": {
                                            "en": {
                                                "title": "Breakfast",
                                                "frontoffice_title": "Breakfast",
                                                "description": "The breakfast menu includes cereals, fresh fruit, juices and smoothies, homemade bread basket with spreads, pastries, coffe, milk and more.",
                                                "extended_description": ""
                                            },
                                            "es": {
                                                "title": null,
                                                "frontoffice_title": "Breakfast",
                                                "description": "El menú del desayuno incluye cereales, fruta fresca, zumos y batidos, pan recién hecho, café, leche y más.",
                                                "extended_description": null
                                            }
                                        },
                                        "images": [],
                                        "type": "service",
                                        "location": {
                                            "id": 1258,
                                            "title": "Spain",
                                            "abbreviation": "ES"
                                        }
                                    },
                                    "dates": [
                                        {
                                            "starts_at": null,
                                            "ends_at": null,
                                            "price": 0
                                        }
                                    ],
                                    "qty": 1,
                                    "price": 0,
                                    "children": []
                                },
                                {
                                    "guest_id": "787f31d2-a787-4502-b123-25827dafb41c",
                                    "parent_id": 4956094,
                                    "product": {
                                        "id": "7d3c7568-1af7-4133-9f1a-a26ce115e94a",
                                        "backoffice_title": "Dinner",
                                        "title": "Dinner",
                                        "translations": {
                                            "en": {
                                                "title": "Dinner",
                                                "frontoffice_title": "Dinner",
                                                "description": "Please provide a short description here.",
                                                "extended_description": null
                                            }
                                        },
                                        "images": [],
                                        "type": "service",
                                        "location": {
                                            "id": 1258,
                                            "title": "Spain",
                                            "abbreviation": "ES"
                                        }
                                    },
                                    "dates": [
                                        {
                                            "starts_at": null,
                                            "ends_at": null,
                                            "price": 0
                                        }
                                    ],
                                    "qty": 1,
                                    "price": 0,
                                    "children": []
                                },
                                {
                                    "guest_id": "787f31d2-a787-4502-b123-25827dafb41c",
                                    "parent_id": 4956094,
                                    "product": {
                                        "id": "63f37cd0-ff2a-4d1a-b68f-82631c61bdde",
                                        "backoffice_title": "Lunch bag",
                                        "title": "Bolsa con almuerzo",
                                        "translations": {
                                            "en": {
                                                "title": "Lunch bag",
                                                "frontoffice_title": "Bolsa con almuerzo",
                                                "description": "Please provide a short description here.",
                                                "extended_description": null
                                            }
                                        },
                                        "images": [],
                                        "type": "service",
                                        "location": {
                                            "id": 1258,
                                            "title": "Spain",
                                            "abbreviation": "ES"
                                        }
                                    },
                                    "dates": [
                                        {
                                            "starts_at": null,
                                            "ends_at": null,
                                            "price": 0
                                        }
                                    ],
                                    "qty": 1,
                                    "price": 0,
                                    "children": []
                                }
                            ]
                        },
                        {
                            "guest_id": "787f31d2-a787-4502-b123-25827dafb41c",
                            "parent_id": 4956069,
                            "product": {
                                "id": "fb82b5ff-69c6-4cf4-8025-4dc9fe581a4d",
                                "backoffice_title": "Private Surf Coaching",
                                "title": "Private Surf Coaching",
                                "translations": {
                                    "en": {
                                        "title": "Private Surf Coaching",
                                        "frontoffice_title": "Private Surf Coaching",
                                        "description": "Work on your surf skills with a dedicated surf instructor during a 3 hour private session.",
                                        "extended_description": null
                                    },
                                    "es": {
                                        "title": null,
                                        "frontoffice_title": "Entrenamiento de surf privado",
                                        "description": "Mejora tu surfing con un clase privado. Una session tarda 3 horas y incluye material si lo necesites.",
                                        "extended_description": null
                                    }
                                },
                                "images": [
                                    {
                                        "src": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/22\/sincerely-media-oC32cy4x-ZA-unsplash.jpg",
                                        "small": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/22\/100_sincerely-media-oC32cy4x-ZA-unsplash.jpg",
                                        "medium": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/22\/320_sincerely-media-oC32cy4x-ZA-unsplash.jpg",
                                        "large": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/22\/960_sincerely-media-oC32cy4x-ZA-unsplash.jpg"
                                    }
                                ],
                                "type": "activity",
                                "location": {
                                    "id": 1258,
                                    "title": "Spain",
                                    "abbreviation": "ES"
                                }
                            },
                            "dates": [
                                {
                                    "starts_at": "2020-07-20 09:00:00",
                                    "ends_at": "2020-07-20 12:00:00",
                                    "price": 70
                                },
                                {
                                    "starts_at": "2020-07-24 09:00:00",
                                    "ends_at": "2020-07-24 12:00:00",
                                    "price": 70
                                }
                            ],
                            "qty": 2,
                            "price": 140,
                            "children": []
                        },
                        {
                            "guest_id": "787f31d2-a787-4502-b123-25827dafb41c",
                            "parent_id": 4956069,
                            "product": {
                                "id": "49882dc9-86f5-420b-8b9a-23b00c071672",
                                "backoffice_title": "Beginner Surf",
                                "title": "Beginner Surf",
                                "translations": {
                                    "en": {
                                        "title": "Beginner Surf",
                                        "frontoffice_title": "Beginner Surf",
                                        "description": "Our Beginner Surf lessons are designed for those who only surf once a year or who have not surfed before.",
                                        "extended_description": null
                                    },
                                    "es": {
                                        "title": null,
                                        "frontoffice_title": "Surf Principantes",
                                        "description": "Nuestros clases para principantes son para los que surfean una vez al año o los que nunca han surfeado en su vida.",
                                        "extended_description": null
                                    }
                                },
                                "images": [
                                    {
                                        "src": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/09\/beginner-surf.png",
                                        "small": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/09\/100_beginner-surf.png",
                                        "medium": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/09\/320_beginner-surf.png",
                                        "large": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/09\/960_beginner-surf.png"
                                    }
                                ],
                                "type": "activity",
                                "location": {
                                    "id": 1258,
                                    "title": "Spain",
                                    "abbreviation": "ES"
                                }
                            },
                            "dates": [
                                {
                                    "starts_at": "2020-07-22 09:00:00",
                                    "ends_at": "2020-07-22 11:00:00",
                                    "price": 20
                                },
                                {
                                    "starts_at": "2020-07-18 09:00:00",
                                    "ends_at": "2020-07-18 11:00:00",
                                    "price": 20
                                },
                                {
                                    "starts_at": "2020-07-26 09:00:00",
                                    "ends_at": "2020-07-26 11:00:00",
                                    "price": 20
                                }
                            ],
                            "qty": 3,
                            "price": 60,
                            "children": []
                        },
                        {
                            "guest_id": "787f31d2-a787-4502-b123-25827dafb41c",
                            "parent_id": 4956069,
                            "product": {
                                "id": "0d3728d6-a39d-40c4-857a-d90621e1349b",
                                "backoffice_title": "Advanced Surf",
                                "title": "Advanced Surf",
                                "translations": {
                                    "en": {
                                        "title": "Advanced Surf",
                                        "frontoffice_title": "Advanced Surf",
                                        "description": "Advanced Surf lessons are for independant surfers who want to improve their turns and manoeuvres. Advanced Surf lessons are for independant surfers who want to improve their turns and manoeuvres. Advanced Surf lessons are for independant surfers who want to improve their turns and manoeuvres. Advanced Surf lessons are for independant surfers who want to improve their turns and manoeuvres.",
                                        "extended_description": null
                                    },
                                    "es": {
                                        "title": null,
                                        "frontoffice_title": "Surf Avanzado",
                                        "description": "Nuestros clases de surf avanzado son para surfistas independientes que quieren mejorar sus giros y maniobras.",
                                        "extended_description": null
                                    }
                                },
                                "images": [
                                    {
                                        "src": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/22\/chris-osmond-q9GnP8x-yEs-unsplash%20%281%29.jpg",
                                        "small": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/22\/100_chris-osmond-q9GnP8x-yEs-unsplash%20%281%29.jpg",
                                        "medium": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/22\/320_chris-osmond-q9GnP8x-yEs-unsplash%20%281%29.jpg",
                                        "large": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/22\/960_chris-osmond-q9GnP8x-yEs-unsplash%20%281%29.jpg"
                                    }
                                ],
                                "type": "activity",
                                "location": {
                                    "id": 1258,
                                    "title": "Spain",
                                    "abbreviation": "ES"
                                }
                            },
                            "dates": [
                                {
                                    "starts_at": "2020-07-25 14:00:00",
                                    "ends_at": "2020-07-25 16:00:00",
                                    "price": 50
                                },
                                {
                                    "starts_at": "2020-07-21 14:00:00",
                                    "ends_at": "2020-07-21 16:00:00",
                                    "price": 50
                                },
                                {
                                    "starts_at": "2020-07-19 14:00:00",
                                    "ends_at": "2020-07-19 16:00:00",
                                    "price": 50
                                },
                                {
                                    "starts_at": "2020-07-23 14:00:00",
                                    "ends_at": "2020-07-23 16:00:00",
                                    "price": 50
                                }
                            ],
                            "qty": 4,
                            "price": 200,
                            "children": []
                        },
                        {
                            "guest_id": "787f31d2-a787-4502-b123-25827dafb41c",
                            "parent_id": 4956069,
                            "product": {
                                "id": "7d3c7568-1af7-4133-9f1a-a26ce115e94a",
                                "backoffice_title": "Dinner",
                                "title": "Dinner",
                                "translations": {
                                    "en": {
                                        "title": "Dinner",
                                        "frontoffice_title": "Dinner",
                                        "description": "Please provide a short description here.",
                                        "extended_description": null
                                    }
                                },
                                "images": [
                                    {
                                        "src": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/22\/stefan-vladimirov-Q_Moi2xjieU-unsplash.jpg",
                                        "small": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/22\/100_stefan-vladimirov-Q_Moi2xjieU-unsplash.jpg",
                                        "medium": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/22\/320_stefan-vladimirov-Q_Moi2xjieU-unsplash.jpg",
                                        "large": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/22\/960_stefan-vladimirov-Q_Moi2xjieU-unsplash.jpg"
                                    }
                                ],
                                "type": "service",
                                "location": {
                                    "id": 1258,
                                    "title": "Spain",
                                    "abbreviation": "ES"
                                }
                            },
                            "dates": [
                                {
                                    "starts_at": null,
                                    "ends_at": null,
                                    "price": 12
                                }
                            ],
                            "qty": 1,
                            "price": 12,
                            "children": []
                        },
                        {
                            "guest_id": "787f31d2-a787-4502-b123-25827dafb41c",
                            "parent_id": 4956069,
                            "product": {
                                "id": "b6b01d82-7e79-4e23-b834-b7bb20053e8a",
                                "backoffice_title": "Breakfast",
                                "title": "Breakfast",
                                "translations": {
                                    "en": {
                                        "title": "Breakfast",
                                        "frontoffice_title": "Breakfast",
                                        "description": "The breakfast menu includes cereals, fresh fruit, juices and smoothies, homemade bread basket with spreads, pastries, coffe, milk and more.",
                                        "extended_description": ""
                                    },
                                    "es": {
                                        "title": null,
                                        "frontoffice_title": "Breakfast",
                                        "description": "El menú del desayuno incluye cereales, fruta fresca, zumos y batidos, pan recién hecho, café, leche y más.",
                                        "extended_description": null
                                    }
                                },
                                "images": [
                                    {
                                        "src": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/22\/ben-kolde-FFqNATH27EM-unsplash.jpg",
                                        "small": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/22\/100_ben-kolde-FFqNATH27EM-unsplash.jpg",
                                        "medium": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/22\/320_ben-kolde-FFqNATH27EM-unsplash.jpg",
                                        "large": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/22\/960_ben-kolde-FFqNATH27EM-unsplash.jpg"
                                    }
                                ],
                                "type": "service",
                                "location": {
                                    "id": 1258,
                                    "title": "Spain",
                                    "abbreviation": "ES"
                                }
                            },
                            "dates": [
                                {
                                    "starts_at": null,
                                    "ends_at": null,
                                    "price": 15
                                },
                                {
                                    "starts_at": null,
                                    "ends_at": null,
                                    "price": 15
                                }
                            ],
                            "qty": 2,
                            "price": 30,
                            "children": []
                        },
                        {
                            "guest_id": "787f31d2-a787-4502-b123-25827dafb41c",
                            "parent_id": 4956069,
                            "product": {
                                "id": "dadfba06-9ffa-412c-840e-e8eee6289ec5",
                                "backoffice_title": "Surfboard Wax Premium",
                                "title": "Surfboard Wax",
                                "translations": {
                                    "en": {
                                        "title": "Surfboard Wax Premium",
                                        "frontoffice_title": "Surfboard Wax",
                                        "description": "For use in water temperatures between 9 and 20 ° C",
                                        "extended_description": null
                                    },
                                    "es": {
                                        "title": null,
                                        "frontoffice_title": "Cera de surf",
                                        "description": "Para usar en temperaturas del agua entre 9 y 20 ° C",
                                        "extended_description": null
                                    }
                                },
                                "images": [
                                    {
                                        "src": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/22\/alexandre-capt-0h2kWRb_KEs-unsplash.jpg",
                                        "small": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/22\/100_alexandre-capt-0h2kWRb_KEs-unsplash.jpg",
                                        "medium": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/22\/320_alexandre-capt-0h2kWRb_KEs-unsplash.jpg",
                                        "large": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/22\/960_alexandre-capt-0h2kWRb_KEs-unsplash.jpg"
                                    }
                                ],
                                "type": "item",
                                "location": null
                            },
                            "dates": [
                                {
                                    "starts_at": "2020-07-24 12:00:00",
                                    "ends_at": "2020-07-24 12:00:00",
                                    "price": 2.5
                                },
                                {
                                    "starts_at": "2020-07-26 12:00:00",
                                    "ends_at": "2020-07-26 12:00:00",
                                    "price": 2.5
                                },
                                {
                                    "starts_at": "2020-07-25 12:00:00",
                                    "ends_at": "2020-07-25 12:00:00",
                                    "price": 2.5
                                },
                                {
                                    "starts_at": "2020-07-21 12:00:00",
                                    "ends_at": "2020-07-21 12:00:00",
                                    "price": 2.5
                                },
                                {
                                    "starts_at": "2020-07-23 12:00:00",
                                    "ends_at": "2020-07-23 12:00:00",
                                    "price": 2.5
                                },
                                {
                                    "starts_at": "2020-07-22 12:00:00",
                                    "ends_at": "2020-07-22 12:00:00",
                                    "price": 2.5
                                },
                                {
                                    "starts_at": "2020-07-20 12:00:00",
                                    "ends_at": "2020-07-20 12:00:00",
                                    "price": 2.5
                                },
                                {
                                    "starts_at": "2020-07-19 12:00:00",
                                    "ends_at": "2020-07-19 12:00:00",
                                    "price": 2.5
                                },
                                {
                                    "starts_at": "2020-07-18 12:00:00",
                                    "ends_at": "2020-07-18 12:00:00",
                                    "price": 2.5
                                }
                            ],
                            "qty": 9,
                            "price": 22.5,
                            "children": []
                        },
                        {
                            "guest_id": "787f31d2-a787-4502-b123-25827dafb41c",
                            "parent_id": 4956069,
                            "product": {
                                "id": "4cc1b6d8-50c3-45f0-b018-0b990ccb86af",
                                "backoffice_title": "Sport Insurance",
                                "title": "Sport Insurance",
                                "translations": {
                                    "en": {
                                        "title": "Sport Insurance",
                                        "frontoffice_title": "Sport Insurance",
                                        "description": "We recommend this option if you don't a travel insurance policy that covers sport accidents.",
                                        "extended_description": null
                                    },
                                    "es": {
                                        "title": null,
                                        "frontoffice_title": "Seguro deportivo",
                                        "description": "Recomendamos esta opción si no tiene una póliza de seguro de viaje que cubra accidentes deportivos.",
                                        "extended_description": null
                                    }
                                },
                                "images": [
                                    {
                                        "src": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/22\/jametlene-reskp-gVfGGb62Fpo-unsplash.jpg",
                                        "small": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/22\/100_jametlene-reskp-gVfGGb62Fpo-unsplash.jpg",
                                        "medium": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/22\/320_jametlene-reskp-gVfGGb62Fpo-unsplash.jpg",
                                        "large": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/22\/960_jametlene-reskp-gVfGGb62Fpo-unsplash.jpg"
                                    }
                                ],
                                "type": "item",
                                "location": null
                            },
                            "dates": [
                                {
                                    "starts_at": "2020-07-18 12:00:00",
                                    "ends_at": "2020-07-18 12:00:00",
                                    "price": 111.75
                                }
                            ],
                            "qty": 1,
                            "price": 111.75,
                            "children": []
                        },
                        {
                            "guest_id": "787f31d2-a787-4502-b123-25827dafb41c",
                            "parent_id": 4956069,
                            "product": {
                                "id": "c55eab60-a811-4bf1-b1c3-e318cc30ea99",
                                "backoffice_title": "Donation",
                                "title": "Donation",
                                "translations": {
                                    "en": {
                                        "title": "Donation",
                                        "frontoffice_title": "Donation",
                                        "description": "Plant a tree",
                                        "extended_description": null
                                    }
                                },
                                "images": [
                                    {
                                        "src": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/22\/josh-appel-NeTPASr-bmQ-unsplash.jpg",
                                        "small": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/22\/100_josh-appel-NeTPASr-bmQ-unsplash.jpg",
                                        "medium": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/22\/320_josh-appel-NeTPASr-bmQ-unsplash.jpg",
                                        "large": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/22\/960_josh-appel-NeTPASr-bmQ-unsplash.jpg"
                                    }
                                ],
                                "type": "donation",
                                "location": {
                                    "id": 1258,
                                    "title": "Spain",
                                    "abbreviation": "ES"
                                }
                            },
                            "dates": [
                                {
                                    "starts_at": null,
                                    "ends_at": null,
                                    "price": 10
                                }
                            ],
                            "qty": 1,
                            "price": 10,
                            "children": []
                        }
                    ]
                }
            ]
        },
        {
            "guest": {
                "id": "1673f70c-acbe-495f-a75e-992f64fae7cf",
                "first_name": "Billy",
                "last_name": "Koelpin",
                "email": "beaulah27@hotmail.com",
                "birth_date": "1985-09-13",
                "gender": "f",
                "phone_country_code": null,
                "phone": null,
                "language_code": "en",
                "address_line_1": null,
                "address_line_2": null,
                "address_line_3": null,
                "zip_code": null,
                "city": null,
                "state": null,
                "initials": "BK",
                "custom_fields": {
                    "shoe_size_5e90888d22e8b": null,
                    "shirt_size_5e9088b5e7be2": null
                },
                "created_at": "2020-06-23T19:45:08+00:00",
                "updated_at": "2020-06-23T19:45:08+00:00"
            },
            "bookings": [
                {
                    "guest_id": "1673f70c-acbe-495f-a75e-992f64fae7cf",
                    "parent_id": null,
                    "product": {
                        "id": "2459a382-3e6c-4456-88d7-c526026fd64e",
                        "backoffice_title": "Surf Weekend Package",
                        "title": "Surf Weekend Package",
                        "translations": {
                            "en": {
                                "title": "Surf Weekend Package",
                                "frontoffice_title": "Surf Weekend Package",
                                "description": "Stay 2 or 3 nights with us and get daily surf coaching with optional video analysis.",
                                "extended_description": null
                            }
                        },
                        "images": [
                            {
                                "src": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/09\/surf-package-best.png",
                                "small": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/09\/100_surf-package-best.png",
                                "medium": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/09\/320_surf-package-best.png",
                                "large": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/09\/960_surf-package-best.png"
                            }
                        ],
                        "type": "package",
                        "location": {
                            "id": 1258,
                            "title": "Spain",
                            "abbreviation": "ES"
                        }
                    },
                    "dates": [
                        {
                            "starts_at": "2020-07-18 14:00:00",
                            "ends_at": "2020-07-26 10:00:00",
                            "price": 666.67
                        }
                    ],
                    "qty": 1,
                    "price": 666.67,
                    "children": [
                        {
                            "guest_id": "1673f70c-acbe-495f-a75e-992f64fae7cf",
                            "parent_id": 4956098,
                            "product": {
                                "id": "aa45e46a-023f-4cbd-b701-18d8a3ed0f8a",
                                "backoffice_title": "11 - Double Deluxe",
                                "title": "11 - Double Deluxe",
                                "translations": {
                                    "en": {
                                        "title": "11 - Double Deluxe",
                                        "frontoffice_title": "11 - Double Deluxe",
                                        "description": "Please provide a short description here.",
                                        "extended_description": null
                                    }
                                },
                                "images": [],
                                "type": "accommodation",
                                "location": {
                                    "id": 1258,
                                    "title": "Spain",
                                    "abbreviation": "ES"
                                }
                            },
                            "dates": [
                                {
                                    "starts_at": "2020-07-18 14:00:00",
                                    "ends_at": "2020-07-26 10:00:00",
                                    "price": 1350
                                }
                            ],
                            "qty": 9,
                            "price": 1350,
                            "children": []
                        },
                        {
                            "guest_id": "1673f70c-acbe-495f-a75e-992f64fae7cf",
                            "parent_id": 4956098,
                            "product": {
                                "id": "e9cf499f-8adf-4d31-bf76-4b31bbac9ff8",
                                "backoffice_title": "Full Board",
                                "title": "Full Board",
                                "translations": {
                                    "en": {
                                        "title": "Full Board",
                                        "frontoffice_title": "Full Board",
                                        "description": "Enjoy a healthy breakfast, lunch and dinner.",
                                        "extended_description": null
                                    },
                                    "es": {
                                        "title": null,
                                        "frontoffice_title": "Pensión completa",
                                        "description": null,
                                        "extended_description": null
                                    }
                                },
                                "images": [
                                    {
                                        "src": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/22\/alejandro-luengo-wQ82bn771-U-unsplash.jpg",
                                        "small": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/22\/100_alejandro-luengo-wQ82bn771-U-unsplash.jpg",
                                        "medium": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/22\/320_alejandro-luengo-wQ82bn771-U-unsplash.jpg",
                                        "large": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/22\/960_alejandro-luengo-wQ82bn771-U-unsplash.jpg"
                                    }
                                ],
                                "type": "bundle",
                                "location": {
                                    "id": 1258,
                                    "title": "Spain",
                                    "abbreviation": "ES"
                                }
                            },
                            "dates": [
                                {
                                    "starts_at": null,
                                    "ends_at": null,
                                    "price": 2
                                }
                            ],
                            "qty": 1,
                            "price": 2,
                            "children": [
                                {
                                    "guest_id": "1673f70c-acbe-495f-a75e-992f64fae7cf",
                                    "parent_id": 4956123,
                                    "product": {
                                        "id": "b6b01d82-7e79-4e23-b834-b7bb20053e8a",
                                        "backoffice_title": "Breakfast",
                                        "title": "Breakfast",
                                        "translations": {
                                            "en": {
                                                "title": "Breakfast",
                                                "frontoffice_title": "Breakfast",
                                                "description": "The breakfast menu includes cereals, fresh fruit, juices and smoothies, homemade bread basket with spreads, pastries, coffe, milk and more.",
                                                "extended_description": ""
                                            },
                                            "es": {
                                                "title": null,
                                                "frontoffice_title": "Breakfast",
                                                "description": "El menú del desayuno incluye cereales, fruta fresca, zumos y batidos, pan recién hecho, café, leche y más.",
                                                "extended_description": null
                                            }
                                        },
                                        "images": [],
                                        "type": "service",
                                        "location": {
                                            "id": 1258,
                                            "title": "Spain",
                                            "abbreviation": "ES"
                                        }
                                    },
                                    "dates": [
                                        {
                                            "starts_at": null,
                                            "ends_at": null,
                                            "price": 0
                                        }
                                    ],
                                    "qty": 1,
                                    "price": 0,
                                    "children": []
                                },
                                {
                                    "guest_id": "1673f70c-acbe-495f-a75e-992f64fae7cf",
                                    "parent_id": 4956123,
                                    "product": {
                                        "id": "7d3c7568-1af7-4133-9f1a-a26ce115e94a",
                                        "backoffice_title": "Dinner",
                                        "title": "Dinner",
                                        "translations": {
                                            "en": {
                                                "title": "Dinner",
                                                "frontoffice_title": "Dinner",
                                                "description": "Please provide a short description here.",
                                                "extended_description": null
                                            }
                                        },
                                        "images": [],
                                        "type": "service",
                                        "location": {
                                            "id": 1258,
                                            "title": "Spain",
                                            "abbreviation": "ES"
                                        }
                                    },
                                    "dates": [
                                        {
                                            "starts_at": null,
                                            "ends_at": null,
                                            "price": 0
                                        }
                                    ],
                                    "qty": 1,
                                    "price": 0,
                                    "children": []
                                },
                                {
                                    "guest_id": "1673f70c-acbe-495f-a75e-992f64fae7cf",
                                    "parent_id": 4956123,
                                    "product": {
                                        "id": "63f37cd0-ff2a-4d1a-b68f-82631c61bdde",
                                        "backoffice_title": "Lunch bag",
                                        "title": "Bolsa con almuerzo",
                                        "translations": {
                                            "en": {
                                                "title": "Lunch bag",
                                                "frontoffice_title": "Bolsa con almuerzo",
                                                "description": "Please provide a short description here.",
                                                "extended_description": null
                                            }
                                        },
                                        "images": [],
                                        "type": "service",
                                        "location": {
                                            "id": 1258,
                                            "title": "Spain",
                                            "abbreviation": "ES"
                                        }
                                    },
                                    "dates": [
                                        {
                                            "starts_at": null,
                                            "ends_at": null,
                                            "price": 0
                                        }
                                    ],
                                    "qty": 1,
                                    "price": 0,
                                    "children": []
                                }
                            ]
                        },
                        {
                            "guest_id": "1673f70c-acbe-495f-a75e-992f64fae7cf",
                            "parent_id": 4956098,
                            "product": {
                                "id": "fb82b5ff-69c6-4cf4-8025-4dc9fe581a4d",
                                "backoffice_title": "Private Surf Coaching",
                                "title": "Private Surf Coaching",
                                "translations": {
                                    "en": {
                                        "title": "Private Surf Coaching",
                                        "frontoffice_title": "Private Surf Coaching",
                                        "description": "Work on your surf skills with a dedicated surf instructor during a 3 hour private session.",
                                        "extended_description": null
                                    },
                                    "es": {
                                        "title": null,
                                        "frontoffice_title": "Entrenamiento de surf privado",
                                        "description": "Mejora tu surfing con un clase privado. Una session tarda 3 horas y incluye material si lo necesites.",
                                        "extended_description": null
                                    }
                                },
                                "images": [
                                    {
                                        "src": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/22\/sincerely-media-oC32cy4x-ZA-unsplash.jpg",
                                        "small": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/22\/100_sincerely-media-oC32cy4x-ZA-unsplash.jpg",
                                        "medium": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/22\/320_sincerely-media-oC32cy4x-ZA-unsplash.jpg",
                                        "large": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/22\/960_sincerely-media-oC32cy4x-ZA-unsplash.jpg"
                                    }
                                ],
                                "type": "activity",
                                "location": {
                                    "id": 1258,
                                    "title": "Spain",
                                    "abbreviation": "ES"
                                }
                            },
                            "dates": [
                                {
                                    "starts_at": "2020-07-20 09:00:00",
                                    "ends_at": "2020-07-20 12:00:00",
                                    "price": 70
                                },
                                {
                                    "starts_at": "2020-07-24 09:00:00",
                                    "ends_at": "2020-07-24 12:00:00",
                                    "price": 70
                                }
                            ],
                            "qty": 2,
                            "price": 140,
                            "children": []
                        },
                        {
                            "guest_id": "1673f70c-acbe-495f-a75e-992f64fae7cf",
                            "parent_id": 4956098,
                            "product": {
                                "id": "49882dc9-86f5-420b-8b9a-23b00c071672",
                                "backoffice_title": "Beginner Surf",
                                "title": "Beginner Surf",
                                "translations": {
                                    "en": {
                                        "title": "Beginner Surf",
                                        "frontoffice_title": "Beginner Surf",
                                        "description": "Our Beginner Surf lessons are designed for those who only surf once a year or who have not surfed before.",
                                        "extended_description": null
                                    },
                                    "es": {
                                        "title": null,
                                        "frontoffice_title": "Surf Principantes",
                                        "description": "Nuestros clases para principantes son para los que surfean una vez al año o los que nunca han surfeado en su vida.",
                                        "extended_description": null
                                    }
                                },
                                "images": [
                                    {
                                        "src": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/09\/beginner-surf.png",
                                        "small": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/09\/100_beginner-surf.png",
                                        "medium": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/09\/320_beginner-surf.png",
                                        "large": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/09\/960_beginner-surf.png"
                                    }
                                ],
                                "type": "activity",
                                "location": {
                                    "id": 1258,
                                    "title": "Spain",
                                    "abbreviation": "ES"
                                }
                            },
                            "dates": [
                                {
                                    "starts_at": "2020-07-22 09:00:00",
                                    "ends_at": "2020-07-22 11:00:00",
                                    "price": 20
                                },
                                {
                                    "starts_at": "2020-07-18 09:00:00",
                                    "ends_at": "2020-07-18 11:00:00",
                                    "price": 20
                                },
                                {
                                    "starts_at": "2020-07-26 09:00:00",
                                    "ends_at": "2020-07-26 11:00:00",
                                    "price": 20
                                }
                            ],
                            "qty": 3,
                            "price": 60,
                            "children": []
                        },
                        {
                            "guest_id": "1673f70c-acbe-495f-a75e-992f64fae7cf",
                            "parent_id": 4956098,
                            "product": {
                                "id": "0d3728d6-a39d-40c4-857a-d90621e1349b",
                                "backoffice_title": "Advanced Surf",
                                "title": "Advanced Surf",
                                "translations": {
                                    "en": {
                                        "title": "Advanced Surf",
                                        "frontoffice_title": "Advanced Surf",
                                        "description": "Advanced Surf lessons are for independant surfers who want to improve their turns and manoeuvres. Advanced Surf lessons are for independant surfers who want to improve their turns and manoeuvres. Advanced Surf lessons are for independant surfers who want to improve their turns and manoeuvres. Advanced Surf lessons are for independant surfers who want to improve their turns and manoeuvres.",
                                        "extended_description": null
                                    },
                                    "es": {
                                        "title": null,
                                        "frontoffice_title": "Surf Avanzado",
                                        "description": "Nuestros clases de surf avanzado son para surfistas independientes que quieren mejorar sus giros y maniobras.",
                                        "extended_description": null
                                    }
                                },
                                "images": [
                                    {
                                        "src": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/22\/chris-osmond-q9GnP8x-yEs-unsplash%20%281%29.jpg",
                                        "small": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/22\/100_chris-osmond-q9GnP8x-yEs-unsplash%20%281%29.jpg",
                                        "medium": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/22\/320_chris-osmond-q9GnP8x-yEs-unsplash%20%281%29.jpg",
                                        "large": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/22\/960_chris-osmond-q9GnP8x-yEs-unsplash%20%281%29.jpg"
                                    }
                                ],
                                "type": "activity",
                                "location": {
                                    "id": 1258,
                                    "title": "Spain",
                                    "abbreviation": "ES"
                                }
                            },
                            "dates": [
                                {
                                    "starts_at": "2020-07-25 14:00:00",
                                    "ends_at": "2020-07-25 16:00:00",
                                    "price": 50
                                },
                                {
                                    "starts_at": "2020-07-21 14:00:00",
                                    "ends_at": "2020-07-21 16:00:00",
                                    "price": 50
                                },
                                {
                                    "starts_at": "2020-07-19 14:00:00",
                                    "ends_at": "2020-07-19 16:00:00",
                                    "price": 50
                                },
                                {
                                    "starts_at": "2020-07-23 14:00:00",
                                    "ends_at": "2020-07-23 16:00:00",
                                    "price": 50
                                }
                            ],
                            "qty": 4,
                            "price": 200,
                            "children": []
                        },
                        {
                            "guest_id": "1673f70c-acbe-495f-a75e-992f64fae7cf",
                            "parent_id": 4956098,
                            "product": {
                                "id": "7d3c7568-1af7-4133-9f1a-a26ce115e94a",
                                "backoffice_title": "Dinner",
                                "title": "Dinner",
                                "translations": {
                                    "en": {
                                        "title": "Dinner",
                                        "frontoffice_title": "Dinner",
                                        "description": "Please provide a short description here.",
                                        "extended_description": null
                                    }
                                },
                                "images": [
                                    {
                                        "src": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/22\/stefan-vladimirov-Q_Moi2xjieU-unsplash.jpg",
                                        "small": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/22\/100_stefan-vladimirov-Q_Moi2xjieU-unsplash.jpg",
                                        "medium": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/22\/320_stefan-vladimirov-Q_Moi2xjieU-unsplash.jpg",
                                        "large": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/22\/960_stefan-vladimirov-Q_Moi2xjieU-unsplash.jpg"
                                    }
                                ],
                                "type": "service",
                                "location": {
                                    "id": 1258,
                                    "title": "Spain",
                                    "abbreviation": "ES"
                                }
                            },
                            "dates": [
                                {
                                    "starts_at": null,
                                    "ends_at": null,
                                    "price": 12
                                }
                            ],
                            "qty": 1,
                            "price": 12,
                            "children": []
                        },
                        {
                            "guest_id": "1673f70c-acbe-495f-a75e-992f64fae7cf",
                            "parent_id": 4956098,
                            "product": {
                                "id": "b6b01d82-7e79-4e23-b834-b7bb20053e8a",
                                "backoffice_title": "Breakfast",
                                "title": "Breakfast",
                                "translations": {
                                    "en": {
                                        "title": "Breakfast",
                                        "frontoffice_title": "Breakfast",
                                        "description": "The breakfast menu includes cereals, fresh fruit, juices and smoothies, homemade bread basket with spreads, pastries, coffe, milk and more.",
                                        "extended_description": ""
                                    },
                                    "es": {
                                        "title": null,
                                        "frontoffice_title": "Breakfast",
                                        "description": "El menú del desayuno incluye cereales, fruta fresca, zumos y batidos, pan recién hecho, café, leche y más.",
                                        "extended_description": null
                                    }
                                },
                                "images": [
                                    {
                                        "src": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/22\/ben-kolde-FFqNATH27EM-unsplash.jpg",
                                        "small": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/22\/100_ben-kolde-FFqNATH27EM-unsplash.jpg",
                                        "medium": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/22\/320_ben-kolde-FFqNATH27EM-unsplash.jpg",
                                        "large": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/22\/960_ben-kolde-FFqNATH27EM-unsplash.jpg"
                                    }
                                ],
                                "type": "service",
                                "location": {
                                    "id": 1258,
                                    "title": "Spain",
                                    "abbreviation": "ES"
                                }
                            },
                            "dates": [
                                {
                                    "starts_at": null,
                                    "ends_at": null,
                                    "price": 15
                                },
                                {
                                    "starts_at": null,
                                    "ends_at": null,
                                    "price": 15
                                }
                            ],
                            "qty": 2,
                            "price": 30,
                            "children": []
                        },
                        {
                            "guest_id": "1673f70c-acbe-495f-a75e-992f64fae7cf",
                            "parent_id": 4956098,
                            "product": {
                                "id": "dadfba06-9ffa-412c-840e-e8eee6289ec5",
                                "backoffice_title": "Surfboard Wax Premium",
                                "title": "Surfboard Wax",
                                "translations": {
                                    "en": {
                                        "title": "Surfboard Wax Premium",
                                        "frontoffice_title": "Surfboard Wax",
                                        "description": "For use in water temperatures between 9 and 20 ° C",
                                        "extended_description": null
                                    },
                                    "es": {
                                        "title": null,
                                        "frontoffice_title": "Cera de surf",
                                        "description": "Para usar en temperaturas del agua entre 9 y 20 ° C",
                                        "extended_description": null
                                    }
                                },
                                "images": [
                                    {
                                        "src": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/22\/alexandre-capt-0h2kWRb_KEs-unsplash.jpg",
                                        "small": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/22\/100_alexandre-capt-0h2kWRb_KEs-unsplash.jpg",
                                        "medium": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/22\/320_alexandre-capt-0h2kWRb_KEs-unsplash.jpg",
                                        "large": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/22\/960_alexandre-capt-0h2kWRb_KEs-unsplash.jpg"
                                    }
                                ],
                                "type": "item",
                                "location": null
                            },
                            "dates": [
                                {
                                    "starts_at": "2020-07-24 12:00:00",
                                    "ends_at": "2020-07-24 12:00:00",
                                    "price": 2.5
                                },
                                {
                                    "starts_at": "2020-07-26 12:00:00",
                                    "ends_at": "2020-07-26 12:00:00",
                                    "price": 2.5
                                },
                                {
                                    "starts_at": "2020-07-25 12:00:00",
                                    "ends_at": "2020-07-25 12:00:00",
                                    "price": 2.5
                                },
                                {
                                    "starts_at": "2020-07-21 12:00:00",
                                    "ends_at": "2020-07-21 12:00:00",
                                    "price": 2.5
                                },
                                {
                                    "starts_at": "2020-07-23 12:00:00",
                                    "ends_at": "2020-07-23 12:00:00",
                                    "price": 2.5
                                },
                                {
                                    "starts_at": "2020-07-22 12:00:00",
                                    "ends_at": "2020-07-22 12:00:00",
                                    "price": 2.5
                                },
                                {
                                    "starts_at": "2020-07-20 12:00:00",
                                    "ends_at": "2020-07-20 12:00:00",
                                    "price": 2.5
                                },
                                {
                                    "starts_at": "2020-07-19 12:00:00",
                                    "ends_at": "2020-07-19 12:00:00",
                                    "price": 2.5
                                },
                                {
                                    "starts_at": "2020-07-18 12:00:00",
                                    "ends_at": "2020-07-18 12:00:00",
                                    "price": 2.5
                                }
                            ],
                            "qty": 9,
                            "price": 22.5,
                            "children": []
                        },
                        {
                            "guest_id": "1673f70c-acbe-495f-a75e-992f64fae7cf",
                            "parent_id": 4956098,
                            "product": {
                                "id": "4cc1b6d8-50c3-45f0-b018-0b990ccb86af",
                                "backoffice_title": "Sport Insurance",
                                "title": "Sport Insurance",
                                "translations": {
                                    "en": {
                                        "title": "Sport Insurance",
                                        "frontoffice_title": "Sport Insurance",
                                        "description": "We recommend this option if you don't a travel insurance policy that covers sport accidents.",
                                        "extended_description": null
                                    },
                                    "es": {
                                        "title": null,
                                        "frontoffice_title": "Seguro deportivo",
                                        "description": "Recomendamos esta opción si no tiene una póliza de seguro de viaje que cubra accidentes deportivos.",
                                        "extended_description": null
                                    }
                                },
                                "images": [
                                    {
                                        "src": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/22\/jametlene-reskp-gVfGGb62Fpo-unsplash.jpg",
                                        "small": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/22\/100_jametlene-reskp-gVfGGb62Fpo-unsplash.jpg",
                                        "medium": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/22\/320_jametlene-reskp-gVfGGb62Fpo-unsplash.jpg",
                                        "large": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/22\/960_jametlene-reskp-gVfGGb62Fpo-unsplash.jpg"
                                    }
                                ],
                                "type": "item",
                                "location": null
                            },
                            "dates": [
                                {
                                    "starts_at": "2020-07-18 12:00:00",
                                    "ends_at": "2020-07-18 12:00:00",
                                    "price": 111.75
                                }
                            ],
                            "qty": 1,
                            "price": 111.75,
                            "children": []
                        },
                        {
                            "guest_id": "1673f70c-acbe-495f-a75e-992f64fae7cf",
                            "parent_id": 4956098,
                            "product": {
                                "id": "c55eab60-a811-4bf1-b1c3-e318cc30ea99",
                                "backoffice_title": "Donation",
                                "title": "Donation",
                                "translations": {
                                    "en": {
                                        "title": "Donation",
                                        "frontoffice_title": "Donation",
                                        "description": "Plant a tree",
                                        "extended_description": null
                                    }
                                },
                                "images": [
                                    {
                                        "src": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/22\/josh-appel-NeTPASr-bmQ-unsplash.jpg",
                                        "small": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/22\/100_josh-appel-NeTPASr-bmQ-unsplash.jpg",
                                        "medium": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/22\/320_josh-appel-NeTPASr-bmQ-unsplash.jpg",
                                        "large": "https:\/\/s3.amazonaws.com\/bookinglayer\/uploads\/businesses\/4\/2020\/04\/22\/960_josh-appel-NeTPASr-bmQ-unsplash.jpg"
                                    }
                                ],
                                "type": "donation",
                                "location": {
                                    "id": 1258,
                                    "title": "Spain",
                                    "abbreviation": "ES"
                                }
                            },
                            "dates": [
                                {
                                    "starts_at": null,
                                    "ends_at": null,
                                    "price": 0
                                }
                            ],
                            "qty": 1,
                            "price": 0,
                            "children": []
                        }
                    ]
                }
            ]
        }
    ]
}

HTTP Request

GET public/carts/{carts_uuid}/itinerary

Cart options

Example response (200):

{
    "accept_gift_certificates": true,
    "accept_discounts": true
}

HTTP Request

GET public/carts/{carts_uuid}/options

Currency Conversion

public/currencies/conversion/{currency_by_iso_or_id}

Example response (422):

{
    "data": {
        "message": "The given data was invalid.",
        "errors": {
            "amount": [
                "amount field is required"
            ],
            "currency_to": [
                "currency to field is required"
            ]
        }
    }
}

HTTP Request

GET public/currencies/conversion/{currency_by_iso_or_id}

Customer Fields

Returns field for customer checkout form

Example response (200):

{
    "data": []
}

HTTP Request

GET public/customer_fields/{carts_uuid?}

Guest Order

public/guest_order/{guest_order_uuid}

HTTP Request

GET public/guest_order/{guest_order_uuid}

public/guest_order/{guest_order_uuid?}

HTTP Request

PUT public/guest_order/{guest_order_uuid?}

Guest fields

Fields list

Returns guest form fields based on general and product settings.

Example response (200):

{
    "data": [
        {
            "translations": {
                "en": {
                    "label": "Gender"
                }
            },
            "name": "gender",
            "type": "select",
            "options": [
                {
                    "value": "male",
                    "translations": {
                        "en": {
                            "label": "Male"
                        }
                    }
                },
                {
                    "value": "female",
                    "translations": {
                        "en": {
                            "label": "Female"
                        }
                    }
                }
            ],
            "width": "15%",
            "validation": {
                "required": true
            }
        },
        {
            "translations": {
                "en": {
                    "label": "First name"
                }
            },
            "name": "first_name",
            "type": "text",
            "width": "25%",
            "validation": {
                "required": true
            }
        },
        {
            "translations": {
                "en": {
                    "label": "Last name"
                }
            },
            "name": "last_name",
            "type": "text",
            "width": "25%",
            "validation": {
                "required": true
            }
        },
        {
            "translations": {
                "en": {
                    "label": "Email",
                    "validation_error": "Must be a valid email address."
                }
            },
            "name": "email",
            "type": "text",
            "width": "25%",
            "validation": {
                "required": true,
                "regex": "\/^[a-zA-Z0-9.!#$%&'*+\\\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$\/"
            }
        },
        {
            "translations": {
                "en": {
                    "label": "Birth date"
                }
            },
            "name": "birth_date",
            "type": "date",
            "width": "10%",
            "validation": {
                "required": true
            }
        }
    ]
}

HTTP Request

GET public/guest_fields/{products_uuid?}

Order

Create Order

Example response (200):

[]

HTTP Request

POST public/orders

URL Parameters

Parameter Status Description
cart_id required uuid
discount_code optional  
referral_code optional  
couple_amount optional integer  
google_analytics_client_id optional  
customer required  
customer.email required  
customer.first_name required  
customer.last_name required  
customer.gender optional male/female 
customer.salutation optional  
customer.phone optional  
customer.phone_countrycode optional  
customer.address_line_1 optional  
customer.address_line_2 optional  
customer.address_line_3 optional  
customer.city optional  
customer.state optional  
customer.country_id optional  
customer.zip_code optional  
customer.language_code optional  
customer.custom_fields optional   TODO check

PackageItems

Get package items configuration.

Example request:

{
    "start": "2020-07-18",
    "end": "2020-07-25",
    "currency": "eur",
    "guests": [
        {
            "id": "guest_1",
            "group_id": 122
        },
        {
            "id": "guest_2",
            "group_id": 122
        }
    ],
    "items": [
        {
            "id": 9,
            "value": [
                "2020-07-19",
                "2020-07-20"
            ],
            "guest_id": "guest_1"
        },
        {
            "id": 12,
            "value": [
                "2020-07-19"
            ],
            "guest_id": "guest_1"
        },
        {
            "id": 9,
            "value": [
                "2020-07-19",
                "2020-07-20"
            ],
            "guest_id": "guest_2"
        },
        {
            "id": 12,
            "value": [
                "2020-07-19"
            ],
            "guest_id": "guest_2"
        }
    ]
}

HTTP Request

POST public/packages/{packages_uuid}/items

GET public/packages/{packages_uuid}/items

Body Parameters

Parameter Type Status Description

Prices

List

Returns price for given BookingRequest

Example request:

{
    "currency": "eur",
    "guests": [
        {
            "id": "guest_1",
            "group_id": 122
        },
        {
            "id": "guest_2",
            "group_id": 594
        }
    ],
    "bookings": [
        {
            "product_id": "c739295c-8807-4833-bc31-c81f89554ae1",
            "value": [
                "2020-06-27",
                "2020-07-04"
            ],
            "srs": false,
            "parent_id": null,
            "guest_id": "guest_1"
        },
        {
            "item_id": 43999,
            "value": [
                "2019-01-11",
                "2019-01-13",
                "2019-01-15"
            ],
            "srs": false,
            "parent_id": "c739295c-8807-4833-bc31-c81f89554ae1",
            "guest_id": "guest_1"
        },
        {
            "item_id": 44298,
            "value": [
                "2020-06-27",
                "2020-07-03"
            ],
            "srs": false,
            "parent_id": "c739295c-8807-4833-bc31-c81f89554ae1",
            "guest_id": "guest_1"
        },
        {
            "product_id": "c739295c-8807-4833-bc31-c81f89554ae1",
            "value": [
                "2020-06-27",
                "2020-07-04"
            ],
            "srs": false,
            "parent_id": null,
            "guest_id": "guest_2"
        },
        {
            "item_id": 43999,
            "value": [
                "2019-01-11",
                "2019-01-13",
                "2019-01-15"
            ],
            "srs": false,
            "parent_id": "c739295c-8807-4833-bc31-c81f89554ae1",
            "guest_id": "guest_2"
        },
        {
            "item_id": 44298,
            "value": [
                "2020-06-27",
                "2020-07-03"
            ],
            "srs": false,
            "parent_id": "c739295c-8807-4833-bc31-c81f89554ae1",
            "guest_id": "guest_2"
        }
    ]
}

HTTP Request

POST public/products/prices

GET public/products/prices

Body Parameters

Parameter Type Status Description
currency string required iso_3 code, in example: eur, usd.
guests array required array of guest objects.
guests.*.id uuid required any string, a unique identifier from the app.  
guests.*.group_id integer optional  
bookings array required bookings to count prices.
bookings.guest_id uuid required nullable, id of parent, in example when item is a part of package.
bookings.product_id uuid required  
bookings.value.* mixed required set of dates, quantity or boolean, in terms of package and accommodation bookings,
first and last date is relevant.
bookings.items array optional just in case of package booking;
bookings.items.*.id integer required  .
bookings.items.*.value mixed required set of dates, quantity or boolean, in terms of package and accommodation bookings,
first and last date is relevant.

Product

public/products/{product_by_unique_id}

HTTP Request

GET public/products/{product_by_unique_id}

Product Availabilities

Index

Availabilities for product, in two modes: checkin/out (because depends on product configuration dates when you can checkin and not equal date you can checkout) look at mode param.

Example response (422):

{
    "data": {
        "message": "The given data was invalid.",
        "errors": {
            "start": [
                "start field is required"
            ],
            "end": [
                "end field is required"
            ]
        }
    }
}

HTTP Request

GET public/products/{products_uuid}/availabilities

URL Parameters

Parameter Status Description
start required date in yyyy-mm-dd format.
end required date in yyyy-mm-dd format.
mode optional two options checkin, checkout, default: checkin.
show_available_only optional boolean, 1 will show just dates that have enough availability, 0 will show every date between given period default: 1.
male optional pax param, number of male guests, required when other pax params are missing.
female optional pax param, number of female guests, required when other pax params are missing.
couple optional pax param, number of couple (2 guests), required when other pax params are missing.
genderless optional pax param, number of genderless guests, required when other pax params are missing, in some cases we don't care about gender guest.

Product iCalendar

public/product_calendar_exports/{product_calendar_export_uuid}

HTTP Request

GET public/product_calendar_exports/{product_calendar_export_uuid}

Settings

public/settings

Example response (200):

{
    "data": {
        "accommodation_group_by_locations": true,
        "analytics_track_purchase_on_checkout": false,
        "enable_frontoffice_v2": false,
        "facebook_pixel_id": null,
        "frontoffice_uri": "",
        "frontoffice_accommodation_list_mode_show_min_price": true,
        "frontoffice_accommodation_list_mode_show_beds_available": true,
        "frontoffice_checkout_using_guest_details": true,
        "frontoffice_v2_custom_css": null,
        "frontoffice_deeplink": false,
        "frontoffice_force_group_booking": false,
        "frontoffice_finish_code_injection": "console.log('finish_code_injection');",
        "frontoffice_freshworks_chat_code": null,
        "frontoffice_google_font": null,
        "frontoffice_google_font_headings": null,
        "frontoffice_guest_minimum_age": 18,
        "frontoffice_meta": null,
        "frontoffice_v2_head_inject": null,
        "frontoffice_og": null,
        "frontoffice_theme": null,
        "frontoffice_logo": "https:\/\/timbuktusurf.bookinglayer.com\/files\/customer\/frontoffice_header\/1\/11timbuktusurf.png",
        "frontoffice_mobile_logo": null,
        "frontoffice_logo_url": null,
        "frontoffice_no_available_accom_contact_button": false,
        "frontoffice_preselect_multiperson": false,
        "frontoffice_price_total_only": false,
        "frontoffice_require_guest_email": false,
        "frontoffice_tawk_chat_code": null,
        "frontoffice_timeslot_multiselect": true,
        "frontoffice_favicon": null,
        "frontoffice_package_items_booking_mode": "both",
        "frontoffice_zopim_chat_code": null,
        "google_adwords_conversion_id": null,
        "google_adwords_conversion_label": null,
        "google_analytics_tracking_domains": null,
        "google_analytics_tracking_id": null,
        "google_tag_manager": null,
        "hubspot_tracking_id": null,
        "frontoffice_custom_content": null,
        "frontoffice_footer_links": null,
        "frontoffice_intercom_chat_code": null,
        "lesson_day_end": "20:00",
        "lesson_day_start": "08:00",
        "maintenance": false,
        "payment_finish_code_injection": null,
        "currencies": [
            {
                "id": 1,
                "title": "Euro",
                "symbol": "€",
                "iso_code": "EUR",
                "is_default": false,
                "is_zero_decimal": false,
                "is_enabled": false,
                "is_frontoffice_enabled": false,
                "conversion_from_eur": "1.000000",
                "conversion_date": null,
                "created_at": "2018-06-28T07:30:18+00:00",
                "updated_at": "2018-06-28T07:30:18+00:00"
            }
        ]
    }
}

HTTP Request

GET public/settings

Translations

public/translations

Example response (200):

{
    "data": {
        "default_language": "en",
        "languages": [
            "en",
            "es",
            "ru",
            "fr"
        ],
        "translations": {
            "en": {
                "activity_calendar.guests.activities_label": "Activities",
                "activity_calendar.guests.activities_required": "Assign at least one activity or remove this guest",
                "activity_calendar.guests.add_guest": "Add guest",
                "activity_calendar.guests.header": "Guests details",
                "activity_calendar.guests.remove_guest": "Remove guest",
                "activity_calendar.maximum_availability_tooltip": "Maximum availability reached",
                "activity_calendar.next_day": "Next day",
                "activity_calendar.next_week": "Next week",
                "activity_calendar.no_activities": "No activities in this week",
                "activity_calendar.previous_day": "Previous day",
                "activity_calendar.previous_week": "Previous week",
                "activity_calendar.selected_activities": "Selected activities",
                "activity_calendar.summary.continue": "Continue",
                "activity_calendar.summary.total": "Total",
                "activity_calendar.validation.left_to_assign": "%{smart_count} activity left to assign |||| %{smart_count} activities left to assign",
                "birth_date": "Birth date",
                "calendar.available": "Available",
                "calendar.checkin_not_available": "Checkin not available",
                "calendar.clear_dates": "Clear dates",
                "calendar.tooltip.clear_dates_to_change": "You have to clear current dates to set new ones",
                "calendar.tooltip.date_not_available": "This date is not available",
                "checkout.book_now": "Book now",
                "checkout.disount_coupon.invalid": "Coupon is invalid",
                "checkout.disount_coupon.label": "Coupon",
                "checkout.gift_certificate.invalid": "Gift Certificate is invalid",
                "checkout.gift_certificate.label": "Gift Certificate",
                "currency": "Currency",
                "error.general": "An error occured, please try again",
                "female": "Female",
                "first_name": "First name",
                "gender": "Gender",
                "guest": "Guest",
                "language": "Language",
                "last_name": "Last name",
                "male": "Male",
                "pax_picker.close": "Close",
                "pax_picker.gender.couple": "Couples",
                "pax_picker.gender.female": "Females",
                "pax_picker.gender.genderless": "Persons",
                "pax_picker.gender.male": "Males",
                "pax_picker.guests": "Guests",
                "pax_picker.minimum_required": "There is a requirement of a minimum %{smart_count} guests",
                "pax_picker.total": "Total",
                "price_from": "from %{price}",
                "product.show_less": "Show less",
                "product.show_more": "Show more",
                "step.accommodation.allocate_guests": "Allocate guests",
                "step.accommodation.allocated_guests_label": "Allocated guests",
                "step.accommodation.available_beds": "%{smart_count} beds available",
                "step.accommodation.error.guests_to_allocate": "There is %{smart_count} guest left to allocate |||| There are %{smart_count} guests left to allocate",
                "step.accommodation.error.minimum_required": "Some rooms have a requirement of a minimum guests",
                "step.accommodation.header": "Accommodation",
                "step.accommodation.minimum_required": "There is a requirement of a minimum %{smart_count} guests",
                "step.accommodation.privately_reserve": "Privately reserve %{name} for an additional %{price}",
                "step.cross_sell.header": "Cross-sell",
                "step.guest_form.guest_number": "Guest %{smart_count}",
                "step.guest_form.header": "Guests",
                "step.package_items.configuration_change.change": "Change",
                "step.package_items.configuration_change.stay": "Stay",
                "step.package_items.configuration_change.warning": "Changing will reset currently selected upgrades",
                "step.package_items.configure_per_person": "Configure per person",
                "step.package_items.configure_whole_group": "Configure whole group",
                "step.package_items.header": "Upgrade your package",
                "step.summary.header": "Your booking",
                "summary.accommodation": "Accommodation",
                "summary.base_price": "Base price",
                "summary.checkin": "Checkin",
                "summary.checkout": "Checkout",
                "summary.choose_dates": "Choose dates",
                "summary.choose_guests": "Choose guests",
                "summary.continue": "Continue",
                "summary.details": "Details",
                "summary.discounts": "Discounts",
                "summary.donations": "Donations",
                "summary.duration": "Duration",
                "summary.duration_days": "%{smart_count} day |||| %{smart_count} days",
                "summary.duration_nights": "%{smart_count} night |||| %{smart_count} nights",
                "summary.gift_certificate": "Gift certificate",
                "summary.guests": "Guests",
                "summary.insurances": "Insurances",
                "summary.single_room_supplement": "Accommodation upgrades",
                "summary.total": "Total",
                "summary.upgrades": "Upgrades",
                "checkout.agreement.required": "Required",
                "email": "Email",
                "phone": "Phone",
                "address_line_1": "Address",
                "city": "City",
                "state": "State",
                "zip_code": "Postcode",
                "country_code": "Country",
                "note": "Note",
                "breadcrumbs_homepage": "Homepage",
                "phone_country_code": "Country code",
                "step.accommodation.allocated_guests_placeholder": "Choose guests",
                "summary.quantity": "Quantity",
                "checkout.title": "Checkout",
                "activity_calendar.sold_out": "Sold out",
                "activity_calendar.available_left": "%{smart_count} left",
                "step.accommodation.room_full": "room full",
                "age": "Age",
                "bookable_dates.days_variant": "%{smart_count} day |||| %{smart_count} days",
                "bookable_dates.not_available": "not available",
                "bookable_dates.duration": "Duration",
                "bookable_dates.dates": "Dates",
                "guest_group": "Guest group",
                "summary.validation.form_fields_not_valid": "Some form fields are not valid",
                "bookable_dates.no_dates_available": "Sorry, there are no dates available.",
                "price_per_person": "%{price} \/ person",
                "price_from_per_person": "from %{price} \/ person",
                "step.accommodation.gender_mismatch": "gender mismatch",
                "read_more": "Read more",
                "pax_picker.change_warning.content": "Changing will reset current configuration",
                "pax_picker.change_warning.stay": "Stay",
                "pax_picker.change_warning.change": "Change",
                "bookable_dates.change_warning.stay": "Stay",
                "bookable_dates.change_warning.change": "Change",
                "bookable_dates.change_warning.content": "Changing will reset current configuration",
                "checkout.guest_fill.clear": "Clear",
                "checkout.guest_fill.placeholder": "Guests...",
                "checkout.guest_fill.label": "Fill using guest details",
                "bookable_dates.nights_variant": "%{smart_count} night |||| %{smart_count} nights",
                "step.accommodation.other_location": "Other",
                "activity_calendar.maximum_days_ahead": "Booking is available only up to %{smart_count} days from now",
                "date_picker.start_date": "Start date",
                "date_picker.end_date": "End date",
                "date_picker.duration": "Duration",
                "date_picker.nights_variant": "%{smart_count} night |||| %{smart_count} nights",
                "date_picker.days_variant": "%{smart_count} day |||| %{smart_count} days",
                "test.test.test": "j"
            },
            "es": {
                "summary.total": "Total"
            }
        }
    }
}

HTTP Request

GET public/translations

Widget

public/widgets

Example response (200):

{
    "data": []
}

HTTP Request

GET public/widgets

public/widgets/{widget_by_slug}

HTTP Request

GET public/widgets/{widget_by_slug}

public/calendars/{calendar}

HTTP Request

GET public/calendars/{calendar}

public/calendars/{calendar}/timeslots

HTTP Request

GET public/calendars/{calendar}/timeslots