Appearance
Настройки Формы Бронирования
Настройки формы бронирования устанавливаются в разделе booking_form
настроек виджета.
use
Использовать форму бронирования в этом виджете. false
- не использовать. true
- использовать.
По умолчанию true
Также форма не будет использоваться если не найден элемент для встранивания (mountPoint)
json
{
"booking_form": {
"use": true
}
}
hide_place
Скрывать поле выбора отеля. false
- не скрывать. true
- скрывать.
Также поле будет скрыто если id отеля уже передан через параметры
По умолчанию false
json
{
"booking_form": {
"hide_place": true
}
}
hide_images
Скрывать изображения. false
- не скрывать. true
- скрывать. По умолчанию true
json
{
"booking_form": {
"hide_images": true
}
}
mount_point
Селектор элемента для встраивания формы.
По умолчанию "[data-name=\\"booking-form\\"]"
json
{
"booking_form": {
"mount_point": "[data-name=\\"booking-form\\"]"
}
}
embed_type
Вариант встраивания формы в контент."content-modal"
- первый шаг в теле страницы, дальше в модальном окне"content"
- все шаги в теле страницы"modal"
- все шаги в модальном окне
По умолчанию "content-modal"
json
{
"booking_form": {
"embed_type": "content-modal"
}
}
style
CSS стили для переопределения встроенных
json
{
"booking_form": {
"style": ".input-cont__button {background-color: red;}"
}
}
container_min_height
Минимальный размер контейнера формы.
Когда нет контента (подгружается следующий шаг) для высоты контейнера применяется это значение
Настройка состоит из двух значений:initial
- мин. высота для начального экрана (выбор даты и кол-ва человек)other
- для остальных экранов
По умолчанию "initial": "60px", "other": "60svh"
json
{
"booking_form": {
"container_min_height": {
"initial": "60px",
"other": "60svh"
}
}
}
container_max_height
Максимальный размер контейнера формы.
Можно ограничить высоту контейнера формы чтобы показывать контент с прокруткой
По умолчанию null
json
{
"booking_form": {
"container_max_height": "900px"
}
}
scroll_y_offset
При переходах по шагам происходит скрол наверх формы.scroll_y_offset
может использоваться для корректирования позиции куда скроллить По умолчанию 0
json
{
"booking_form": {
"scroll_y_offset": "0"
}
}
win_settings
Настройки окна в котором будет показана форма если встраивание modal
или content-modal
max_width
- максимальная ширина окнаmin_height
- минимальная ширина окнаmax_height
- максимальная высота окнаheight
- высота окнаv_align
- вертикальное выравнивание контента в окне
json
{
"booking_form": {
"max_width": "80svw",
"min_height": "80svh",
"max_height": "80svh",
"height": "100%",
"v_align": "flex-start"
}
}
win_info_settings
Настройки информационных окон (информация о категории, программе)max_width
- максимальная ширина окна min_height
: минимальная ширина окна
json
{
"booking_form": {
"max_width": "900px",
"min_height": "500px"
}
}
win_info_settings
Настройки информационных окон (информация о категории, программе)max_width
- максимальная ширина окна min_height
: минимальная ширина окна
json
{
"booking_form": {
"max_width": "900px",
"min_height": "500px"
}
}
text
Текст названий, тултипов, предупреждающих сообщений и тп.
Приведены значения по умолчанию
В настройки можно вносить не все поля а только те, которые нужно изменить.
json
{
"text": {
"search_button":{
"next":"Бронировать",
"update":"Обновить"
},
"guests_button":"Применить",
"guests_title":"Количество гостей",
"category_select":{
"header_title":"Выбор номера",
"select":"Выбрать",
"select_another":"Выбрать другую категорию",
"book_type":{
"bed_only":"Бронирование только по одному месту",
"bed":"Доступно бронирование мест по-одному",
"whole":"Бронируется номер целиком"
},
"default_program_note":"Стандартная программа уже включена в бронирование.<br>Вы сможете выбрать индивидуальные программы на следующем этапе.",
"no_price_note":"Вы можете выбрать этот номер и мы перезвоним Вам с актуальными ценами"},
"program_select":{
"main_title":"Ваше бронирование",
"header_title":"Программы пребывания",
"sub_title":"Программы пребывания",
"price_sub_title":"Стоимость",
"book_button":"Продолжить бронирование",
"programs_list_title":"Доступные программы",
"program_not_selected":"Программа не выбрана",
"program_not_selected_price":"Выберите программу",
"warn":{
"no_age":"Данная программа ограничена по возрасту<br>Укажите возраст",
"no_gender":"Данная программа ограничена<br>Укажите пол",
"by_category":"Данная программа недоступна для выбранного номера",
"by_duration":"{{MIN_MAX}} срок пребывания по этой программе ограничен {{DAYS}}",
"by_age":"Доступно для возраста {{AGE}}",
"by_gender":"Доступно только для {{GENDER}}"}},
"no_price_label":"Цена под запрос",
"warn":{
"no_location":"Город не выбран",
"no_hotel":"Отель не выбран",
"no_date":"Даты не выбраны",
"no_guest":"Отдыхающие не выбраны",
"no_category":"Номер не выбран",
"not_complete_guest":"Заполните все параметры бронирования, возраст, пол и выберите программу пребывания"
},
"book":{
"header_title":"Бронирование",
"main_title":"Ваше бронирование",
"sub_title":"Отдыхающие",
"contacts_title":"Контактные данные заказчика",
"customer_select_title":"Выберите заказчика",
"select_social":"Выберите социальную группу",
"customer_select":"Другой заказчик",
"comment_title":"Ваши пожелания",
"price_title":"Общая стоимость путевки",
"no_price_note":"Нажмите забронировать и мы перезвоним Вам с актуальными ценами",
"book_button":"Забронировать",
"placeholders":{
"name":"Имя",
"surname":"Фамилия",
"patronymic":"Отчество",
"phone":"Телефон в международном формате",
"email":"Электронная почта",
"whatsapp":"Whatsapp",
"telegram":"Telegram"
},
"warn":{
"guests_input_incomplete":"Заполните данные отдыхающих!",
"customer_input_incomplete":"Заполните или исправьте данные заказчика!",
"customer_not_selected":"Выберите заказчика!",
"required":"Заполните обязательное поле {{FIELD}}",
"required_optional":"Заполните одно из обязательных полей: {{FIELDS}}",
"incorrect":"Неправильно заполнено поле {{FIELD}}"
},
"error":{
"book_error":"Ошибка при отправке заявки"
}
},
"book_complete":{
"heading":"Ваше заявка отправлена!",
"text":"Наш менеджер свяжется с Вами в ближайшее время для уточнения всех деталей.","book_button":"Забронировать ещё"
}
}
}
initial_data
Начальные значения для полей на первом экранеhotel
- отель (необязательный). Если устанавливается то все его параметры обязательны data_type
, generic_title
, id
dates
- даты (необязательный). Если устанавливается то все его параметры обязательны start
, end
guests
- туристы (необязательный). Параметры не обязательны adults
, kids
Туристы добавляются как объекы в них можно предустановить возраст, пол
json
{
"booking_form": {
"initial_data": {
"hotel": {
"data_type": "refbook__hotel",
"generic_title": "Санаторий Целебный Нарзан, Кисловодск",
"id": 100034
},
"dates": {
"start": "2023-11-18",
"end": "2023-11-22"
},
"guests": {
"adults": [{}],
"kids": [{"age": 2, "gender": "M"}, {"age": 6, "gender": "F"}]
}
}
}
}
initial_align
Горизонтальное выравнивание блока ввода дат и количества человек.
Доступные значения center
, left
, right
content
- Выравнивание в режиме встраивания content. По умолчанию center
modal
- Выравнивание в режиме встраивания modal. По умолчанию center
json
{
"booking_form": {
"initial_align": {
"content": "center",
"modal": "center"
}
}
}
default_days_range
Период дат по умолчанию для разных типов отелей, например для отелей 2 дня, а для санаториев 14 дней, тип отеля зависит от поля в отеле display_as
. Устанавливается если пользователь не посещал виджет, иначе перезапишется значениями из прошлого посещения. Также будет перезаписан если установлена другая настройки initial_data.dates
json
{
"booking_form": {
"default_days_range": {
"hotel": 2,
"camp": 14,
"cruise": 14,
"sanatorium": 14
}
}
}