Информация о ресторане
Обновлено: 2026-06-25 00:15 MSK
Эндпоинты для чтения профиля ресторана, рабочих часов, зон/залов и настроек онлайн-бронирования. Партнёру они нужны, чтобы синхронизировать карточку заведения, понять часовой пояс и расписание, а также узнать ограничения, влияющие на создание броней (минимальный размер компании, доступные зоны, окно бронирования и т.п.).
Все запросы — под Bearer-токеном (см. Аутентификация). Базовый путь: /api/core/admin/restaurants/{restaurantId}.
| Метод | Путь | Назначение |
|---|---|---|
GET | /restaurants | Список доступных ресторанов |
GET | /restaurants/{restaurantId} | Профиль ресторана |
GET | /restaurants/{restaurantId}/settings | Базовые настройки (часы, зоны, модули) |
GET | /restaurants/{restaurantId}/config | Расширенная конфигурация (бронь, лист ожидания) |
Тег
Restaurantсодержит 38 операций, большинство из которых — внутренние/админские (онбординг, аудит, поиск, создание/удаление ресторана). Ниже описаны те, что полезны партнёрам для чтения. Полный список — в Swagger UI.
GET /restaurants — список ресторанов
Возвращает массив RestaurantContract — все рестораны, доступные текущему токену. Удобно для первичной синхронизации: получить id каждого заведения, часовой пояс и адрес.
curl https://api.hostmeapp.com/api/core/admin/restaurants \ -H "Authorization: Bearer $TOKEN"
Чтобы узнать
restaurantIdиpartnerId, привязанные к вашему доступу, удобнее использоватьGET /api/core/admin/account/me.
GET /restaurants/{restaurantId} — профиль ресторана
Возвращает объект RestaurantContract с публичной информацией о заведении.
| Параметр | Где | Тип | Описание |
|---|---|---|---|
restaurantId * | path | integer | Идентификатор ресторана |
Ключевые поля ответа (RestaurantContract)
| Поле | Тип | Описание |
|---|---|---|
id | integer | Идентификатор ресторана |
name | string | Название |
address | string | Адрес (полная строка) |
lat / lon | number | Координаты |
phone | string | Телефон |
timeZone | string | Часовой пояс (важно для времени броней) |
city, state, street, zip, country, countryShort | string | Разобранный адрес |
neighborhoods | array | Районы |
imageUrl | string | Логотип/изображение |
websiteUrl, facebookId, twitterAccount | string | Сайт и соцсети |
communicationChannel | string | Канал связи с гостями |
smsDisabled | boolean | SMS отключены |
isVerified | boolean | Заведение верифицировано |
isPayAccount | boolean | Платный аккаунт |
subscriptionTier | string | Тариф подписки |
stripeAccountId | string | Привязанный Stripe-аккаунт |
type | string | Тип заведения |
parentRestaurantId | integer? | Родительский ресторан (для сетей) |
settings | object | Вложенные настройки (RestaurantSettingsContract, см. ниже) |
curl https://api.hostmeapp.com/api/core/admin/restaurants/123 \ -H "Authorization: Bearer $TOKEN"
GET /restaurants/{restaurantId}/settings — базовые настройки
Возвращает RestaurantSettingsContract — рабочие часы, зоны/залы, видимость модулей и общие флаги. Этот же объект приходит вложенным в профиль (RestaurantContract.settings).
| Параметр | Где | Тип |
|---|---|---|
restaurantId * | path | integer |
Поля верхнего уровня (RestaurantSettingsContract)
| Поле | Тип | Описание |
|---|---|---|
openingHours | array | Рабочие часы по дням недели (WeekDayOpenHoursContract, см. ниже) |
openingHoursTemplates | array | Шаблоны интервалов (HourlyIntervalContract: name, open, close) |
specialPeriods | array | Особые периоды/праздники (SpecialPeriodContract) |
enableHoursTemplates | boolean | Включены ли шаблоны часов |
areas | array | Зоны/залы ресторана (названия) |
tableSizes | array | Допустимые размеры столов |
time24HourFormat | boolean | 24-часовой формат времени |
language | string | Язык интерфейса |
moduleVisibility | object | Видимость модулей (ModulesVisibility, см. ниже) |
skipGroupSizeStep | integer | Пропуск шага выбора размера компании |
skipBookWizard | boolean | Пропуск мастера бронирования |
deliveryMode | boolean | Режим доставки |
autocloseSeated | boolean | Автозакрытие посаженных гостей |
disableGuestbook | boolean | Отключение гостевой книги |
notifyGuestsOnBlacklistAddition | boolean | Уведомлять гостей при добавлении в ЧС |
Рабочие часы (WeekDayOpenHoursContract)
| Поле | Тип | Описание |
|---|---|---|
weekDay | integer | День недели |
time | array | Интервалы дня (HourlyIntervalContract) |
Каждый интервал HourlyIntervalContract: name (название интервала, напр. «Обед»), open и close (время начала и конца, формат date-span).
Зоны и видимость модулей
areas— массив строк с названиями зон/залов.moduleVisibility(ModulesVisibility) — какие модули скрыты:tablesHidden,reserveHidden,waitlistHidden,timelineHidden,serversHidden,guestBookHidden.
curl https://api.hostmeapp.com/api/core/admin/restaurants/123/settings \ -H "Authorization: Bearer $TOKEN"
Изменение настроек (
PUT /settings) — административная операция. Партнёрам рекомендуется читать настройки, а не перезаписывать их, чтобы не затереть конфигурацию заведения.
GET /restaurants/{restaurantId}/config — расширенная конфигурация
Возвращает RestaurantConfigurationContract — кроме settings сюда входят блоки бронирования, листа ожидания и платежей. Партнёру это даёт ограничения, по которым работает онлайн-бронь.
| Параметр | Где | Тип |
|---|---|---|
restaurantId * | path | integer |
Настройки онлайн-бронирования (reservationSettings)
Наиболее полезные для партнёра поля из ReservationSettingsContract:
| Поле | Тип | Описание |
|---|---|---|
isEnabled | boolean | Онлайн-бронирование включено |
maxAdvanceBookingDays | integer | На сколько дней вперёд можно бронировать |
bookingMinimumNoticeMinutes | integer | Минимальный запас по времени до брони |
bookingCutOffTime | date-span | Время отсечки приёма броней |
minPartySize / maxPartySize | integer | Мин./макс. размер компании |
minGuestsPerReservation / maxGuestsPerReservation | integer? | Ограничения по гостям на бронь |
maxBookingsPerSlot / hardMaxBookingsPerSlot | integer? | Лимит броней на слот |
defaultMaxCoversPerSlot | integer? | Лимит «крышек» (covers) на слот |
reservationHours | array | Часы приёма броней по дням (WeekDayOpenHoursContract) |
reservationHoursStep | integer | Шаг слотов, мин |
approvalRequired | boolean | Нужно подтверждение брони |
approvalSize | integer | Размер компании, с которого требуется подтверждение |
allowGuestSelectTables | boolean | Гость может выбирать стол |
availableOnlineAreas | boolean | Выбор зоны доступен онлайн |
currency | string | Валюта (для депозитов/предоплат) |
cancellationOptions | array | Причины отмены (CancellationOptionContract: name, note, isDefault) |
additionalInfo | object | Доступные пожелания/признаки (AdditionalInfoContract: highChair, vip, allergy, vegetarian и др.) |
noShowFeeEnabled | boolean | Включена плата за неявку |
creditCardChargeEnabled | boolean | Списание с карты включено |
onlinePaymentMethod | object | Способы оплаты (PaymentMethodContract: card/cash/invoice для брони и доставки) |
Объект
reservationSettingsочень обширен (депозиты, слот-исключения, состояния столов, онлайн-заказы, UI-кастомизация). Здесь перечислены поля, важные для интеграции броней. Полную структуру смотрите в Swagger UI.
Прочие блоки конфигурации
| Блок | Что содержит |
|---|---|
waitingSettings | Настройки листа ожидания: enabled, autoCall, maximumHoldTime, сообщения о позиции/статусе |
paymentSettings | Лимиты SMS, тарифные планы (plans) |
guestTags | Теги гостей (id, name, color) |
curl https://api.hostmeapp.com/api/core/admin/restaurants/123/config \ -H "Authorization: Bearer $TOKEN"
Прочие эндпоинты тега Restaurant
Остальные операции — преимущественно административные и в типичной партнёрской интеграции не требуются. Краткий обзор:
| Назначение | Эндпоинт |
|---|---|
| Аудит изменений брони | GET /restaurants/{restaurantId}/bookings/{bookingId} |
| Журнал изменений ресторана | GET /restaurants/{restaurantId}/audit |
| Статус онбординга | GET /restaurants/{restaurantId}/onboarding/status |
| Компания / связанные заведения | GET /restaurants/{restaurantId}/company |
| Поиск по ресторану | GET /restaurants/{restaurantId}/search |
| Создание ресторана | POST /restaurants (multipart/form-data) |
| Обновление профиля | PUT /restaurants/{restaurantId} |
| Удаление | DELETE /restaurants/{restaurantId} |
Эти эндпоинты документированы в Swagger UI. Для создания заведения через партнёрский онбординг есть отдельный поток
VendorSignup— см. Регистрация приложения.
Возможные ошибки — ProblemDetails, коды 400/401/403/404. Общие правила см. в Соглашениях и разделе Ошибки.