API Booking service (v0.4.0)

Download OpenAPI specification:

Bookings

API броней

Создать бронь

Authorizations:
Bearer
Request Body schema: application/json
required
unit
required
string <uuid>

Id единицы недвижимости (stock-service)

crm_deal_id
string <= 255 characters

Id сделки BX24

expiration_date
string <date-time>

Дата окончания бронирования

comment
string <= 255 characters

Комментарии к броне

responsible
string <uuid>

Id ответственного менеджера

Responses

Request samples

Content type
application/json
{
  • "unit": "96a6aa1e-fb68-45e6-a443-0913abfa47dd",
  • "crm_deal_id": "string",
  • "expiration_date": "2019-08-24T14:15:22Z",
  • "comment": "string",
  • "responsible": "9511879b-6438-4cb0-a6f1-dcd32ddcb43a"
}

Response samples

Content type
application/json
{
  • "item": {
    },
  • "message": "Запись успешно создана"
}

Получить список броней

Authorizations:
Bearer
Request Body schema: application/json
required
required
object (FilterBookingsDto)
required
object (PaginationDto)

Responses

Request samples

Content type
application/json
{
  • "filter": {
    },
  • "pagination": {
    }
}

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "pagination": {
    }
}

Обновить бронь

Authorizations:
Bearer
Request Body schema: application/json
required
id
required
string <uuid>

Первичный ключ, идентификатор записи

active
boolean

Активность

crm_deal_id
string <= 255 characters

Id сделки BX24

expiration_date
string <date-time>

Дата окончания бронирования

comment
string <= 255 characters

Комментарии к броне

responsible
string <uuid>

Id ответственного менеджера

Responses

Request samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "active": true,
  • "crm_deal_id": "string",
  • "expiration_date": "2019-08-24T14:15:22Z",
  • "comment": "string",
  • "responsible": "9511879b-6438-4cb0-a6f1-dcd32ddcb43a"
}

Response samples

Content type
application/json
{
  • "item": {
    },
  • "message": "Запись обновлена"
}

Удалить бронь (soft delete)

Authorizations:
Bearer
path Parameters
id
required
string <uuid> ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}...

Responses

Response samples

Content type
application/json
{
  • "item": {
    },
  • "message": "Запись удалена"
}

Поиск по броням

Authorizations:
Bearer
Request Body schema: application/json
required
required
object (FilterSearchBookingsDto)
required
object (PaginationDto)

Responses

Request samples

Content type
application/json
{
  • "filter": {
    },
  • "pagination": {
    }
}

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "pagination": {
    }
}

Обновить статус бронирования юнита

Authorizations:
Bearer
Request Body schema: application/json
required
unit
required
string <uuid>

Id юнита (stock-service).

status
required
string (UnitResultStatusEnum)
Enum: "UNIT_STATUS_AVAILABLE" "UNIT_STATUS_BOOKED" "UNIT_STATUS_WAIT_PAYMENT" "UNIT_STATUS_PAID" "UNIT_STATUS_SOLD" "UNIT_STATUS_RENT" "UNIT_STATUS_UNAVAILABLE" "UNIT_STATUS_EXECUTION" "UNIT_STATUS_TRADE_IN"

Итоговый статус юнита

object (SecondStatusDto)

Responses

Request samples

Content type
application/json
{
  • "unit": "96a6aa1e-fb68-45e6-a443-0913abfa47dd",
  • "status": "UNIT_STATUS_AVAILABLE",
  • "second_status": {
    }
}

Response samples

Content type
application/json
{
  • "message": "Успешно"
}

Booking Groups

API групп броней

Создать группы броней

Authorizations:
Bearer
Request Body schema: application/json
required
name
required
string <= 255 characters

Название группы броней

bookings
required
Array of strings <uuid> [ items <uuid > ]

Массив идентификаторов броней группы

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "bookings": [
    ]
}

Response samples

Content type
application/json
{
  • "item": {
    },
  • "message": "Запись успешно создана"
}

Получить список групп броней

Authorizations:
Bearer
Request Body schema: application/json
required
required
object (FilterBookingGroupsDto)
required
object (PaginationDto)

Responses

Request samples

Content type
application/json
{
  • "filter": {
    },
  • "pagination": {
    }
}

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "pagination": {
    }
}

Обновить группу броней

Authorizations:
Bearer
Request Body schema: application/json
required
id
required
string <uuid>

Первичный ключ, идентификатор записи

active
boolean

Активность

name
string <= 255 characters

Название группы броней

bookings
Array of strings <uuid> [ items <uuid > ]

Массив идентификаторов броней группы

Responses

Request samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "active": true,
  • "name": "string",
  • "bookings": [
    ]
}

Response samples

Content type
application/json
{
  • "item": {
    },
  • "message": "Запись обновлена"
}

Удалить группу броней (soft delete)

Authorizations:
Bearer
path Parameters
id
required
string <uuid> ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}...

Responses

Response samples

Content type
application/json
{
  • "item": {
    },
  • "message": "Запись удалена"
}

Booking History

API истории изменений бронирований

Получить список броней

Authorizations:
Bearer
Request Body schema: application/json
required
required
object (FilterBookingHistoryDto)
required
object (PaginationDto)

Responses

Request samples

Content type
application/json
{
  • "filter": {
    },
  • "pagination": {
    }
}

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "pagination": {
    }
}

Выпустить (перевыпустить) ссылку на оплату брони

Создаёт подписанную ссылку на страницу оплаты платной брони. Если по брони уже была активная ссылка, она гасится, и возвращается новая. Срок действия ссылки равен сроку действия брони (exp_date). Ссылка едина для всех каналов (сайт застройщика, SMS, мессенджеры, письма, CRM).

Authorizations:
Bearer
Request Body schema: application/json
required
booking
required
string <uuid>

Идентификатор брони, на оплату которой выпускается ссылка

Responses

Request samples

Content type
application/json
{
  • "booking": "4f77532b-f94f-4b4b-8113-25c90d5b5e8d"
}

Response samples

Content type
application/json
{
  • "item": {
    },
  • "message": "Запись успешно создана"
}

Получить список платёжных ссылок

Используется в т.ч. для получения конкретной ссылки по её id, известному вызывающему (например, сразу после создания): filters: [{ property: "id", operator: "IN", value: [id] }].

Authorizations:
Bearer
Request Body schema: application/json
required
required
object (FilterPaymentLinksDto)
required
object (PaginationDto)

Responses

Request samples

Content type
application/json
{
  • "filter": {
    },
  • "pagination": {
    }
}

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "pagination": {
    }
}

Payments

API платежей

Ручное подтверждение оплаты брони (provider = MANUAL)

Оффлайн-подтверждение оплаты брони сотрудником из админки. Регистрирует успешный платёж с provider = MANUAL и переводит бронь в статус PAID (срок брони продлевается на paid_period_days рабочих дней). Кто провёл подтверждение берётся из Bearer-токена.

Authorizations:
Bearer
Request Body schema: application/json
required
booking
required
string <uuid>

Идентификатор брони, оплата которой подтверждается

order
string or null <uuid>

Идентификатор заявки CRM (Order), если известен вызывающему

Responses

Request samples

Content type
application/json
{
  • "booking": "4f77532b-f94f-4b4b-8113-25c90d5b5e8d",
  • "order": "93b532b3-a125-4cd2-9b71-9996b1e164ce"
}

Response samples

Content type
application/json
{
  • "item": {
    },
  • "message": "Запись успешно создана"
}