Справочник API

Брони вашего отдела: оформление, правка, отмена, перенос, расчёт стоимости


Брони

GET
https://partners.zvezdnyy-burabai.edu.kz/ext/v1
/bookings

Брони вашего отдела по возрастанию номера, порциями. Корпоративных броней в API нет.

Брони › query Parameters

shift_id
​string

Только брони смены

status
​string

active | cancelled

payment_state
​string

awaiting | secured | unpaid

has_debt
​boolean

true — только с остатком к оплате, false — только без него

updated_since
​string · date-time

Изменённые с этого момента (RFC 3339): 2027-05-14T00:00:00Z. Платёж версию брони не меняет — о нём скажет событие payment.received

child_id
​string

Брони ребёнка

parent_id
​string

Брони детей семьи

cursor
​string

Курсор из next_cursor прошлого ответа

limit
​integer · int64 · min: 1 · max: 200

Сколько записей вернуть, 1–200, по умолчанию 50

Default: 50

Брони › Responses

Готово

Порция списка. `next_cursor` пуст — дальше ничего нет.
​Booking[] · required
next_cursor
​string | null

Передать в cursor, чтобы получить следующую порцию


Оформить бронь

POST
https://partners.zvezdnyy-burabai.edu.kz/ext/v1
/bookings

Та же проверка, что и в CRM лагеря: окно продаж, квота отдела, дубль ребёнка на смене, запрет, потолок скидки. Место придерживается на сутки, и при invoice = min (по умолчанию) или full счёт Kaspi уходит плательщику сразу. Нужен Idempotency-Key.

Оформить бронь › Headers

Idempotency-Key
​string · required

Случайная строка, своя на каждое действие

Оформить бронь › Request Body

Новая бронь.
​ChildIn · required
​ParentIn · required
shift_id
​string · required
comment
​string | null
​DiscountIn | null
external_id
​string | null

Номер записи в вашей CRM. Уникален внутри отдела

invoice
​string | null

Счёт Kaspi при оформлении: min — минимальный платёж (по умолчанию, если он у смены задан), full — вся сумма, none — не выставлять

​Metadata | null · maxProps: 20

Ваши метки: до 20 пар

Example: {"deal_id":"D-1042","priority":2}
needs_transfer
​boolean

Нужен ли трансфер

partner_manager
​string | null

Кто продал в вашей CRM (до 200 знаков)

payer_phone
​string | null

Телефон плательщика, если платит не родитель: счета Kaspi уйдут на него

together_with
​string[]

«Поселить вместе» с этими бронями той же смены (ваши брони), не больше 50

transfer_point_id
​string | null

Точка посадки — обязательна, если трансфер нужен

Оформить бронь › Responses

Бронь оформлена

Бронь, как её видит ваш отдел.
​Checkin · required
​BookingChild · required
comment
​string · required
contacts_hidden
​boolean · required

Ребёнка теперь ведёт другой отдел: бронь остаётся в ваших списках (это ваша продажа), но телефоны родителя и плательщика скрыты

created_at
​string · date-time · required
​Money · required

Остаток: total − paid. Отрицательный — переплата

​Discount · required
full_payment_due
​string · date · required

До какой даты внести всю сумму

id
​string · required
​Metadata · maxProps: 20 · required

Ваши метки: до 20 пар «ключ — значение»

Example: {"deal_id":"D-1042","priority":2}
​Money · required

Оплачено: все платежи брони, включая ещё не сверенные бухгалтерией

​BookingParent · required
payment_state
​string · required

awaiting — место придержано и ждёт минимальный платёж; secured — минимум внесён, место закреплено; unpaid — не оплачена в срок, место вернулось в квоту. Список может пополняться

​Money · required

Цена путёвки

​BookingShift · required
status
​string · required

active — действует, cancelled — отменена. Список может пополняться

​Money · required

К оплате всего: цена + трансфер − скидка

​Transfer · required
updated_at
​string · date-time · required
version
​string · required

Версия записи. Передайте её в If-Match правки или отмены: если бронь успели изменить, ответ будет 412

​BookingVoucher · required

Путёвка в карточке брони (кратко; полностью — GET /bookings/{id}/voucher).

voucher_number
​string · required

Номер путёвки: смена-порядковый номер

cancelled_reason
​string | null

Причина отмены

external_id
​string | null

Номер записи в вашей CRM. Уникален внутри отдела

hold_until
​string | null · date-time

До какого момента держится место без минимального платежа

partner_manager
​string | null

Кто продал бронь в вашей CRM — как вы его прислали

payer_phone
​string | null

Телефон плательщика, если платит не родитель: на него уходят счета Kaspi. Нет — платит родитель (или контакты скрыты, см. contacts_hidden)

squad_number
​integer | null · int32

Номер отряда; нет — ещё не назначен


Оформить детей одной семьи

POST
https://partners.zvezdnyy-burabai.edu.kz/ext/v1
/bookings/batch

Все брони — одной транзакцией: если не прошёл хотя бы один ребёнок (квота, дубль, запрет), не оформляется никто, а в ответе сказано, какой ребёнок и почему. Счёт Kaspi — отдельный на каждую бронь. Нужен Idempotency-Key.

Оформить детей одной семьи › Headers

Idempotency-Key
​string · required

Случайная строка, своя на каждое действие

Оформить детей одной семьи › Request Body

Несколько детей одной семьи.
​FamilyChild[] · required

От 1 до 10 детей

​ParentIn · required
invoice
​string | null

Счёт каждому ребёнку: min | full | none (как у одной брони)

payer_phone
​string | null
together
​boolean

Поселить вместе детей семьи, попавших на одну смену

Оформить детей одной семьи › Responses

Все брони оформлены

​Booking[] · required

Брони в порядке детей запроса


Бронь по номеру вашей CRM

GET
https://partners.zvezdnyy-burabai.edu.kz/ext/v1
/bookings/by-external-id/{external_id}

Бронь по номеру вашей CRM › path Parameters

external_id
​string · required

Ваш external_id брони

Бронь по номеру вашей CRM › Responses

Готово

Бронь, как её видит ваш отдел.
​Checkin · required
​BookingChild · required
comment
​string · required
contacts_hidden
​boolean · required

Ребёнка теперь ведёт другой отдел: бронь остаётся в ваших списках (это ваша продажа), но телефоны родителя и плательщика скрыты

created_at
​string · date-time · required
​Money · required

Остаток: total − paid. Отрицательный — переплата

​Discount · required
full_payment_due
​string · date · required

До какой даты внести всю сумму

id
​string · required
​Metadata · maxProps: 20 · required

Ваши метки: до 20 пар «ключ — значение»

Example: {"deal_id":"D-1042","priority":2}
​Money · required

Оплачено: все платежи брони, включая ещё не сверенные бухгалтерией

​BookingParent · required
payment_state
​string · required

awaiting — место придержано и ждёт минимальный платёж; secured — минимум внесён, место закреплено; unpaid — не оплачена в срок, место вернулось в квоту. Список может пополняться

​Money · required

Цена путёвки

​BookingShift · required
status
​string · required

active — действует, cancelled — отменена. Список может пополняться

​Money · required

К оплате всего: цена + трансфер − скидка

​Transfer · required
updated_at
​string · date-time · required
version
​string · required

Версия записи. Передайте её в If-Match правки или отмены: если бронь успели изменить, ответ будет 412

​BookingVoucher · required

Путёвка в карточке брони (кратко; полностью — GET /bookings/{id}/voucher).

voucher_number
​string · required

Номер путёвки: смена-порядковый номер

cancelled_reason
​string | null

Причина отмены

external_id
​string | null

Номер записи в вашей CRM. Уникален внутри отдела

hold_until
​string | null · date-time

До какого момента держится место без минимального платежа

partner_manager
​string | null

Кто продал бронь в вашей CRM — как вы его прислали

payer_phone
​string | null

Телефон плательщика, если платит не родитель: на него уходят счета Kaspi. Нет — платит родитель (или контакты скрыты, см. contacts_hidden)

squad_number
​integer | null · int32

Номер отряда; нет — ещё не назначен


Можно ли оформить

POST
https://partners.zvezdnyy-burabai.edu.kz/ext/v1
/bookings/check

Те же проверки, что при оформлении, но без брони: продажи открыты, есть место в квоте отдела, ребёнок ещё не записан на смену, нет запрета. Ничего не создаёт; Idempotency-Key не нужен.

Нужно право bookings: ответ говорит, записан ли ребёнок с такими ФИО и телефоном, — это часть оформления, а не чтение своей базы. Считается как запись (2 в секунду) и не больше 300 проверок в час на отдел.

Можно ли оформить › Request Body

​CheckChild · required
​CheckParent · required
shift_id
​string · required
payer_phone
​string | null

Можно ли оформить › Responses

Готово

can_book
​boolean · required

Оформление сейчас пройдёт (если за это время место не займут)

​CheckReason[] · required

Почему нельзя — все причины сразу


Бронь

GET
https://partners.zvezdnyy-burabai.edu.kz/ext/v1
/bookings/{id}

Бронь › path Parameters

id
​string · required

Номер брони

Бронь › Responses

Готово

Бронь, как её видит ваш отдел.
​Checkin · required
​BookingChild · required
comment
​string · required
contacts_hidden
​boolean · required

Ребёнка теперь ведёт другой отдел: бронь остаётся в ваших списках (это ваша продажа), но телефоны родителя и плательщика скрыты

created_at
​string · date-time · required
​Money · required

Остаток: total − paid. Отрицательный — переплата

​Discount · required
full_payment_due
​string · date · required

До какой даты внести всю сумму

id
​string · required
​Metadata · maxProps: 20 · required

Ваши метки: до 20 пар «ключ — значение»

Example: {"deal_id":"D-1042","priority":2}
​Money · required

Оплачено: все платежи брони, включая ещё не сверенные бухгалтерией

​BookingParent · required
payment_state
​string · required

awaiting — место придержано и ждёт минимальный платёж; secured — минимум внесён, место закреплено; unpaid — не оплачена в срок, место вернулось в квоту. Список может пополняться

​Money · required

Цена путёвки

​BookingShift · required
status
​string · required

active — действует, cancelled — отменена. Список может пополняться

​Money · required

К оплате всего: цена + трансфер − скидка

​Transfer · required
updated_at
​string · date-time · required
version
​string · required

Версия записи. Передайте её в If-Match правки или отмены: если бронь успели изменить, ответ будет 412

​BookingVoucher · required

Путёвка в карточке брони (кратко; полностью — GET /bookings/{id}/voucher).

voucher_number
​string · required

Номер путёвки: смена-порядковый номер

cancelled_reason
​string | null

Причина отмены

external_id
​string | null

Номер записи в вашей CRM. Уникален внутри отдела

hold_until
​string | null · date-time

До какого момента держится место без минимального платежа

partner_manager
​string | null

Кто продал бронь в вашей CRM — как вы его прислали

payer_phone
​string | null

Телефон плательщика, если платит не родитель: на него уходят счета Kaspi. Нет — платит родитель (или контакты скрыты, см. contacts_hidden)

squad_number
​integer | null · int32

Номер отряда; нет — ещё не назначен


Изменить бронь

PATCH
https://partners.zvezdnyy-burabai.edu.kz/ext/v1
/bookings/{id}

Передайте только то, что меняется. С If-Match: <version> правка не ляжет поверх чужой: если бронь успели изменить, ответ 412. Изменение цены, скидки или трансфера пересоставляет живой счёт Kaspi.

Изменить бронь › path Parameters

id
​string · required

Номер брони

Изменить бронь › Headers

If-Match
​string

version брони

Изменить бронь › Request Body

Правка брони: только переданные поля.
​BookingChildPatch | null

Правка ребёнка в брони.

comment
​string | null
​DiscountIn | null
external_id
​string | null

Номер записи в вашей CRM. null — стереть номер, поле не передано — не менять

​Metadata | null · maxProps: 20

Заменяет метки целиком

Example: {"deal_id":"D-1042","priority":2}
needs_transfer
​boolean | null
​ParentPatch | null
partner_manager
​string | null

Пустая строка — снять

payer_phone
​string | null

Телефон плательщика; пустая строка — платит родитель

transfer_point_id
​string | null

Изменить бронь › Responses

Готово

Бронь, как её видит ваш отдел.
​Checkin · required
​BookingChild · required
comment
​string · required
contacts_hidden
​boolean · required

Ребёнка теперь ведёт другой отдел: бронь остаётся в ваших списках (это ваша продажа), но телефоны родителя и плательщика скрыты

created_at
​string · date-time · required
​Money · required

Остаток: total − paid. Отрицательный — переплата

​Discount · required
full_payment_due
​string · date · required

До какой даты внести всю сумму

id
​string · required
​Metadata · maxProps: 20 · required

Ваши метки: до 20 пар «ключ — значение»

Example: {"deal_id":"D-1042","priority":2}
​Money · required

Оплачено: все платежи брони, включая ещё не сверенные бухгалтерией

​BookingParent · required
payment_state
​string · required

awaiting — место придержано и ждёт минимальный платёж; secured — минимум внесён, место закреплено; unpaid — не оплачена в срок, место вернулось в квоту. Список может пополняться

​Money · required

Цена путёвки

​BookingShift · required
status
​string · required

active — действует, cancelled — отменена. Список может пополняться

​Money · required

К оплате всего: цена + трансфер − скидка

​Transfer · required
updated_at
​string · date-time · required
version
​string · required

Версия записи. Передайте её в If-Match правки или отмены: если бронь успели изменить, ответ будет 412

​BookingVoucher · required

Путёвка в карточке брони (кратко; полностью — GET /bookings/{id}/voucher).

voucher_number
​string · required

Номер путёвки: смена-порядковый номер

cancelled_reason
​string | null

Причина отмены

external_id
​string | null

Номер записи в вашей CRM. Уникален внутри отдела

hold_until
​string | null · date-time

До какого момента держится место без минимального платежа

partner_manager
​string | null

Кто продал бронь в вашей CRM — как вы его прислали

payer_phone
​string | null

Телефон плательщика, если платит не родитель: на него уходят счета Kaspi. Нет — платит родитель (или контакты скрыты, см. contacts_hidden)

squad_number
​integer | null · int32

Номер отряда; нет — ещё не назначен


Отменить бронь

POST
https://partners.zvezdnyy-burabai.edu.kz/ext/v1
/bookings/{id}/cancel

Место возвращается в квоту, живой счёт Kaspi гасится. Деньги отмена не возвращает: оплату по счёту Kaspi вернёт заявка на возврат (POST /bookings/{id}/refund-requests), прочее — бухгалтерия лагеря. Бронь заехавшего ребёнка не отменяется. Принимает If-Match. Нужен Idempotency-Key.

Отменить бронь › path Parameters

id
​string · required

Номер брони

Отменить бронь › Headers

Idempotency-Key
​string · required

Случайная строка, своя на каждое действие

If-Match
​string

version брони

Отменить бронь › Request Body

reason
​string · required

Причина отмены — обязательна

Отменить бронь › Responses

Готово

Бронь, как её видит ваш отдел.
​Checkin · required
​BookingChild · required
comment
​string · required
contacts_hidden
​boolean · required

Ребёнка теперь ведёт другой отдел: бронь остаётся в ваших списках (это ваша продажа), но телефоны родителя и плательщика скрыты

created_at
​string · date-time · required
​Money · required

Остаток: total − paid. Отрицательный — переплата

​Discount · required
full_payment_due
​string · date · required

До какой даты внести всю сумму

id
​string · required
​Metadata · maxProps: 20 · required

Ваши метки: до 20 пар «ключ — значение»

Example: {"deal_id":"D-1042","priority":2}
​Money · required

Оплачено: все платежи брони, включая ещё не сверенные бухгалтерией

​BookingParent · required
payment_state
​string · required

awaiting — место придержано и ждёт минимальный платёж; secured — минимум внесён, место закреплено; unpaid — не оплачена в срок, место вернулось в квоту. Список может пополняться

​Money · required

Цена путёвки

​BookingShift · required
status
​string · required

active — действует, cancelled — отменена. Список может пополняться

​Money · required

К оплате всего: цена + трансфер − скидка

​Transfer · required
updated_at
​string · date-time · required
version
​string · required

Версия записи. Передайте её в If-Match правки или отмены: если бронь успели изменить, ответ будет 412

​BookingVoucher · required

Путёвка в карточке брони (кратко; полностью — GET /bookings/{id}/voucher).

voucher_number
​string · required

Номер путёвки: смена-порядковый номер

cancelled_reason
​string | null

Причина отмены

external_id
​string | null

Номер записи в вашей CRM. Уникален внутри отдела

hold_until
​string | null · date-time

До какого момента держится место без минимального платежа

partner_manager
​string | null

Кто продал бронь в вашей CRM — как вы его прислали

payer_phone
​string | null

Телефон плательщика, если платит не родитель: на него уходят счета Kaspi. Нет — платит родитель (или контакты скрыты, см. contacts_hidden)

squad_number
​integer | null · int32

Номер отряда; нет — ещё не назначен


История брони

GET
https://partners.zvezdnyy-burabai.edu.kz/ext/v1
/bookings/{id}/history

Создание, правки, отмена, восстановление — по порядку записи, порциями. Кто: ваше подключение или «Лагерь».

История брони › path Parameters

id
​string · required

Номер брони

История брони › query Parameters

cursor
​string

Курсор из next_cursor прошлого ответа

limit
​integer · int64 · min: 1 · max: 200

Сколько записей вернуть, 1–200, по умолчанию 50

Default: 50

История брони › Responses

Готово

История брони порциями, от старых записей к новым.
​HistoryEntry[] · required
next_cursor
​string | null

Передать в cursor, чтобы получить следующую порцию. Нет — дальше ничего нет


Перенести на другую смену

POST
https://partners.zvezdnyy-burabai.edu.kz/ext/v1
/bookings/{id}/move

Как кнопка лагеря «Остаётся на следующую смену»: оформляется НОВАЯ бронь того же ребёнка на указанную смену — по цене этой смены, без прежней скидки, с удержанием места и счётом на минимальный платёж. Прежняя бронь остаётся как есть, её платежи не переезжают. Если прежнее место больше не нужно — отмените прежнюю бронь отдельно. Ответ — новая бронь (событие booking.created). Нужен Idempotency-Key.

Перенести на другую смену › path Parameters

id
​string · required

Номер прежней брони

Перенести на другую смену › Headers

Idempotency-Key
​string · required

Случайная строка, своя на каждое действие

Перенести на другую смену › Request Body

shift_id
​string · required

Смена, на которую переносится ребёнок

Перенести на другую смену › Responses

Новая бронь

Бронь, как её видит ваш отдел.
​Checkin · required
​BookingChild · required
comment
​string · required
contacts_hidden
​boolean · required

Ребёнка теперь ведёт другой отдел: бронь остаётся в ваших списках (это ваша продажа), но телефоны родителя и плательщика скрыты

created_at
​string · date-time · required
​Money · required

Остаток: total − paid. Отрицательный — переплата

​Discount · required
full_payment_due
​string · date · required

До какой даты внести всю сумму

id
​string · required
​Metadata · maxProps: 20 · required

Ваши метки: до 20 пар «ключ — значение»

Example: {"deal_id":"D-1042","priority":2}
​Money · required

Оплачено: все платежи брони, включая ещё не сверенные бухгалтерией

​BookingParent · required
payment_state
​string · required

awaiting — место придержано и ждёт минимальный платёж; secured — минимум внесён, место закреплено; unpaid — не оплачена в срок, место вернулось в квоту. Список может пополняться

​Money · required

Цена путёвки

​BookingShift · required
status
​string · required

active — действует, cancelled — отменена. Список может пополняться

​Money · required

К оплате всего: цена + трансфер − скидка

​Transfer · required
updated_at
​string · date-time · required
version
​string · required

Версия записи. Передайте её в If-Match правки или отмены: если бронь успели изменить, ответ будет 412

​BookingVoucher · required

Путёвка в карточке брони (кратко; полностью — GET /bookings/{id}/voucher).

voucher_number
​string · required

Номер путёвки: смена-порядковый номер

cancelled_reason
​string | null

Причина отмены

external_id
​string | null

Номер записи в вашей CRM. Уникален внутри отдела

hold_until
​string | null · date-time

До какого момента держится место без минимального платежа

partner_manager
​string | null

Кто продал бронь в вашей CRM — как вы его прислали

payer_phone
​string | null

Телефон плательщика, если платит не родитель: на него уходят счета Kaspi. Нет — платит родитель (или контакты скрыты, см. contacts_hidden)

squad_number
​integer | null · int32

Номер отряда; нет — ещё не назначен


Восстановить отменённую бронь

POST
https://partners.zvezdnyy-burabai.edu.kz/ext/v1
/bookings/{id}/restore

Снова занимает место в квоте — если оно ещё есть — и снова держит его сутки до минимального платежа, со счётом Kaspi. Нужен Idempotency-Key.

Восстановить отменённую бронь › path Parameters

id
​string · required

Номер брони

Восстановить отменённую бронь › Headers

Idempotency-Key
​string · required

Случайная строка, своя на каждое действие

Восстановить отменённую бронь › Responses

Готово

Бронь, как её видит ваш отдел.
​Checkin · required
​BookingChild · required
comment
​string · required
contacts_hidden
​boolean · required

Ребёнка теперь ведёт другой отдел: бронь остаётся в ваших списках (это ваша продажа), но телефоны родителя и плательщика скрыты

created_at
​string · date-time · required
​Money · required

Остаток: total − paid. Отрицательный — переплата

​Discount · required
full_payment_due
​string · date · required

До какой даты внести всю сумму

id
​string · required
​Metadata · maxProps: 20 · required

Ваши метки: до 20 пар «ключ — значение»

Example: {"deal_id":"D-1042","priority":2}
​Money · required

Оплачено: все платежи брони, включая ещё не сверенные бухгалтерией

​BookingParent · required
payment_state
​string · required

awaiting — место придержано и ждёт минимальный платёж; secured — минимум внесён, место закреплено; unpaid — не оплачена в срок, место вернулось в квоту. Список может пополняться

​Money · required

Цена путёвки

​BookingShift · required
status
​string · required

active — действует, cancelled — отменена. Список может пополняться

​Money · required

К оплате всего: цена + трансфер − скидка

​Transfer · required
updated_at
​string · date-time · required
version
​string · required

Версия записи. Передайте её в If-Match правки или отмены: если бронь успели изменить, ответ будет 412

​BookingVoucher · required

Путёвка в карточке брони (кратко; полностью — GET /bookings/{id}/voucher).

voucher_number
​string · required

Номер путёвки: смена-порядковый номер

cancelled_reason
​string | null

Причина отмены

external_id
​string | null

Номер записи в вашей CRM. Уникален внутри отдела

hold_until
​string | null · date-time

До какого момента держится место без минимального платежа

partner_manager
​string | null

Кто продал бронь в вашей CRM — как вы его прислали

payer_phone
​string | null

Телефон плательщика, если платит не родитель: на него уходят счета Kaspi. Нет — платит родитель (или контакты скрыты, см. contacts_hidden)

squad_number
​integer | null · int32

Номер отряда; нет — ещё не назначен


Поселить вместе

POST
https://partners.zvezdnyy-burabai.edu.kz/ext/v1
/bookings/{id}/together

Просьба поселить детей в один отряд — той же связью, что ставит продажник лагеря. Все брони — ваши, действующие и на одной смене. Нужен Idempotency-Key.

Поселить вместе › path Parameters

id
​string · required

Номер брони

Поселить вместе › Headers

Idempotency-Key
​string · required

Случайная строка, своя на каждое действие

Поселить вместе › Request Body

booking_ids
​string[] · required

С кем поселить: ваши брони той же смены, не больше 50

note
​string

Записка: «одна компания», «просила бабушка»

Поселить вместе › Responses

Создано

booking_ids
​string[] · required

Все брони связи, включая эту

id
​string · required

Номер связи «вместе»


Расчёт стоимости

POST
https://partners.zvezdnyy-burabai.edu.kz/ext/v1
/quote

Что будет стоить бронь — тем же расчётом, что при оформлении, и с теми же отказами (скидка больше наибольшей для смены). Ничего не создаёт; Idempotency-Key не нужен.

Расчёт стоимости › Request Body

shift_id
​string · required
​DiscountIn | null
needs_transfer
​boolean
transfer_point_id
​string | null

Точка посадки: у сезона с ценами по городам цена трансфера своя у каждого города. При одной цене на всех можно не указывать

Расчёт стоимости › Responses

Готово

​Money · required

Деньги: сумма строкой с двумя знаками и валютой. Строкой, а не числом — дробные числа в чужих языках теряют копейки.

full_payment_due
​string · date · required

До какой даты внести всю сумму

​Money · required

Минимальный платёж: им бронируется место, на него уйдёт счёт при оформлении. Ноль — бронь без предоплаты

​Money · required

Деньги: сумма строкой с двумя знаками и валютой. Строкой, а не числом — дробные числа в чужих языках теряют копейки.

​Money · required

К оплате всего

​Money · required

Деньги: сумма строкой с двумя знаками и валютой. Строкой, а не числом — дробные числа в чужих языках теряют копейки.

hold_hours
​integer | null · int64

Сколько часов держится место без минимального платежа; нет — предоплата не нужна