# Островок — ETG API (RateHawk): POST /api/b2b/v3/hotel/order/booking/finish/ — Запуск бронирования

Бронирование асинхронное — дальше опрашивайте статус. Невалидные данные пользователя могут попасть в стоп-лист.

| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
| `language` | body | string | да | Язык |
| `partner.partner_order_id` | body | string | да | Внешний ID брони |
| `partner.comment` | body | string | нет | Внутренний комментарий партнёра |
| `partner.amount_sell_b2b2c` | body | string | нет | Цена перепродажи в валюте договора |
| `payment_type.type` | body | string | да | Тип оплаты (например, hotel, deposit) |
| `payment_type.amount` | body | string | да | Сумма |
| `payment_type.currency_code` | body | string | да | Валюта, ISO 4217 |
| `rooms` | body | array | да | Номера |
| `rooms[].guests` | body | array | да | Гости: first_name, last_name, is_child, age |
| `user.email` | body | string | да | Email менеджера партнёра |
| `user.phone` | body | string | да | Телефон менеджера партнёра |
| `user.comment` | body | string | нет | Комментарий для отеля |
| `supplier_data` | body | object | нет | Контакты инициатора брони: first_name_original, last_name_original, email, phone |
| `arrival_datetime` | body | string | нет | Ожидаемое время прибытия |
| `return_path` | body | string | нет | URL возврата после 3D Secure |

## Базовые URL

- Боевой и тестовый: `https://api.ratehawk.com`
- Песочница: `https://api-sandbox.ratehawk.com`
- Старые хосты  и  устарели.: `api.worldota.net`

## Авторизация

Тип: Basic Auth

HTTP Basic Authentication ключом API вида `<KEY_ID>:<API_KEY>`: `KEY_ID` — имя пользователя, `API_KEY` — пароль. Ключи бывают трёх типов: sandbox, test (только тестовый отель `hid = 8473727`, брони реальные) и production. Ключи видны в разделе API настроек договора (доступ — у Master-аккаунта).

```
curl --user '<KEY_ID>:<KEY>' --data '{"id":"city_hotel_berlin_east","language":"en"}' "https://api.ratehawk.com/api/b2b/v3/hotel/info/"
```

## Нюансы

- GET — для получения данных (параметры в `data` строки запроса), POST — для создания, изменения и удаления; тело — JSON-объект.
- Рекомендуемый поток: поиск → `search/hp` → `hotel/prebook` → `booking/form` → `booking/finish` → `booking/finish/status` (или вебхук).
- `partner_order_id` уникален в рамках договора и используется во всех вызовах после создания брони.
- Брони тестового отеля `hid = 8473727` реальные — их нужно отменять.
- В песочнице язык всегда `en`, валюта обычно USD/EUR, число тарифов ограничено 5, 3D Secure не поддерживается.
- Лимиты и доступные эндпоинты ключа — метод Retrieve endpoints; лимиты повышают только после сертификации.

## Сценарии с этим методом

- [Забронировать номер](https://mcp-everything.ru/integrations/ostrovok-etg/scenarios/zabronirovat-nomer.md)

---

Если этого недостаточно — официальная документация: https://docs.emergingtravel.com/docs/overview/
Вся интеграция одним документом: https://mcp-everything.ru/integrations/ostrovok-etg.md
