Мы будем отправлять запросы каждые 3 минуты на этот эндпоинт. В ответе должны быть все новые/измененные брони за переданный промежуток времени.

Запрос (Request)

URL: POST /bookings

Параметр Положение Тип Описание
auth_token ***** query (url) string Идентификатор пользователя
sign ***** query (url) string Подпись сообщения (подробнее)
accommodation_ids ***** body (json) array[string] Массив из ID объектов, для которых нужно получить информацию о бронированиях (содержит хотя бы один элемент)
modified_from body (json) datetime Дата модификации (может отсутствовать). Если этот параметр присутствует, то выгружаются только брони созданные или модифицированные после переданной даты. Формат даты YYYY-MM-DDThh:mm:ss
timezone body (json) string Часовой пояс, формат Z ±HHmm. По умолчанию MSK +03:00

Примеры:

private_key = "ZvCq2iiqpEs4TJrjLBt"

Ответ (Response)

В ответ необходимо отдать массив объектов содержащий информацию о бронированиях.

Поле Тип Описание
booking_id ***** string Номер бронирования
accommodation_id ***** string Идентификатор объекта размещения со стороны площадки
date_from ***** string Дата заезда (YYYY-MM-DD)
date_to ***** string Дата выезда (YYYY-MM-DD)
guests integer Гостей
price integer Общая цена бронирования
payment_amount decimal (#.##) Оплаченная сумма гостем
payment_datetime datetime (iso8106) Дата и время оплаты брони гостем в часовом поясе, переданном в запросе как timezone
commission integer Комиссия площадки
contact_name string Имя контактного лица
contact_phone string Телефон контактного лица
contact_email string Email контактного лица
notes string Примечания по бронированию
last_update datetime (iso8601) Дата и время последнего изменения в часовом поясе, переданном в запросе как timezone
canceled boolean Если присутствует и имеет значение true, значит гость отменил бронирования
booking_date datetime (iso8601) Дата и время бронирования в часовом поясе, переданном в запросе как timezone

Примеры:

{
  "bookings": [
   {
      "booking_id": "11235",
      "accommodation_id": "3345",
      "date_from": "2015-10-09",
      "date_to": "2015-10-16",
      "guests": 2,
      "price": 14000,
      "payment_amount": 14000.00,
			"payment_datetime": "2015-08-09T18:33:42",
      "commission": 1400,
      "contact_name": "Ivanov Ivan",
      "contact_phone": "+79261231212",
      "contact_email": "[email protected]",
      "notes": "Будем в 18-00. Нужны красные тапочки",
      "last_update": "2015-08-09T18:33:42",
      "canceled": false,
      "booking_date": "2015-08-09T18:33:42",
   },
      {
      "booking_id": "334123",
      "accommodation_id": "3335",
      "date_from": "2015-11-19",
      "date_to": "2015-11-21",
      "guests": 2,
      "price": 5000,
      "payment_amount": 2500.00,
			"payment_datetime": "2015-08-09T18:33:42",
      "commission": 500,
      "contact_name": "Petr Petrov",
      "contact_phone": "+79269876543",
      "contact_email": "[email protected]",
      "notes": "",
      "last_update": "2015-08-09T18:33:42",
      "canceled": true,
      "booking_date": "2015-08-08T12:33:42",
   }
  ]
}

Ответ содержит две брони. Одну новую и одну отменённую.

Все поля так же необходимо отправить при отмене брони. Чтобы обработка отмены произошла корректно.

Если нет записей соответствующих запросу, то в ответ нужно прислать пустой массив броней:

{
  "bookings": []
}