Как да поставите JetBookIn на сайта си: всеки шорткод и уиджет за Elementor с всичките му опции, на коя страница да стои, как да го съобразите с цветовете на марката си, как работят многоезичните сайтове и – за разработчици – REST API, hooks и командите за WP-CLI.
Страниците, които ви трябват
Типичният сайт с JetBookIn има следните страници. Всеки блок може да се постави с шорткод (във всяка тема или редактор) или със съответния уиджет за Elementor.
| Страница | Какво да поставите | Уиджет за Elementor |
|---|---|---|
| Начална страница | [jetbookin_search_hero] или [jetbookin_search], [jetbookin_rooms], [jetbookin_reviews] |
Банер с търсене, Търсене на резервация, Стаи – решетка / карусел, Отзиви |
| Резервация / резултати от търсенето (напр. /book/) | [jetbookin_results] |
Резултати от търсенето |
| Страницата на всеки тип стая | Създава се автоматично (вижте Страници на стаите) или [jetbookin_booking] плюс шорткодовете за стаи |
Кутия за резервация на стая, Галерия на стаята, Характеристики на стаята, Цена на стаята от, Удобства в стаята, Правила и тарифи на стаята |
| Потвърждение на резервацията | [jetbookin_confirmation] – създава се за вас при активиране |
Потвърждение / управление на резервация |
| Контакти / местоположение | [jetbookin_property_info] |
Информация за обекта и карта |
| Страница за отзиви (по избор) | [jetbookin_review] |
Форма за отзив |
| Почистване (по избор, Pro) | [jetbookin_housekeeping] |
– |
| Страница на собственика (по избор, Pro) | [jetbookin_owner] |
– |
Настройката за малка вила с три апартамента може да е съвсем проста: начална страница с банера с търсене и решетката със стаи, по една страница за всеки апартамент (създадена автоматично) и страницата за потвърждение. Хотел с 20 стаи обикновено добавя страница Резервация с резултатите, така че търсенето от всяка страница да води там.
Страници за потвърждение на резервацията и за плащане
Две настройки в JetBookIn → Настройки → Общи казват на JetBookIn къде да отиват гостите:
| Настройка | По подразбиране | Какво прави |
|---|---|---|
| ID на страницата за потвърждение на резервацията | Страницата Потвърждение на резервацията, създадена при активиране | Страницата с [jetbookin_confirmation] или уиджета „Потвърждение / управление на резервация“. Гостите попадат тук след плащане и всяка връзка Вижте резервацията си в имейлите я отваря. Тук гостите намират и резервацията си по номер и имейл. |
| ID на страницата за плащане | Празно | Къде продължава бутонът Резервирай в полето за резервация на стаята: страница с уиджета „Резултати от търсенето“ или „Потвърждение / управление на резервация“, напр. страницата ви „Резервация“. Празно = страницата за потвърждение на резервацията. |
| URL на общите условия | Празно | Ако е зададен, гостите трябва да приемат условията, преди да платят. Страницата се отваря в панел над страницата за плащане. |
Страницата за потвърждение показва, в зависимост от това как е отворена: плащането за престой, избран в полето за резервация; резервацията на госта (от връзка с номера на резервацията и ключ); или формуляра Намерете резервацията си. Никога не ви трябва повече от една такава страница за език. Какво могат да правят гостите там, е описано в Страницата на госта за резервацията.
За да намерите ID на страница, отворете я в Страници; числото след post= в адресната лента е ID.
Темите могат да оформят страницата около резервацията с два класа на body: jbi-is-checkout, докато гостът още резервира, и jbi-is-booking, щом има резервация за показване – например за да скрият заглавие „Благодарим ви“ по време на плащането.

Шорткодове за резервации
Тези блокове са интерактивни: зареждат наличността и цените на живо и изискват JavaScript (посетителите без него виждат Моля, включете JavaScript, за да резервирате онлайн.). При атрибутите yes/no всичко различно от no се приема за „да“.
[jetbookin_search] – формуляр за търсене
Дати и гости, след това бутон за търсене. Без страница с резултати резултатите се отварят под формуляра.
| Атрибут | Стойности | По подразбиране | Какво прави |
|---|---|---|---|
results_url |
URL | Празно | Страница с [jetbookin_results], към която да се изпрати търсенето. Празно = резултатите под формуляра. |
property |
ID на обект | 0 (всички) | Търсене само в стаите на този обект. |
layout |
horizontal, vertical |
horizontal |
Лента по ширината на страницата или полета едно под друго за странична колона. |
button |
Текст | Търсене | Надпис на бутона. |
prices |
yes, no |
yes |
Най-ниската цена на нощувка под всеки ден в календара за избор на дати. |
[jetbookin_search results_url="/book/" button="Check availability"]
[jetbookin_results] – резултати от търсенето и плащане
Изброява типовете стаи, свободни за избраните дати, с техните тарифи, позволява на госта да избере една или повече стаи и води плащането. Ако няма нищо свободно, предлага други дати.
| Атрибут | Стойности | По подразбиране | Какво прави |
|---|---|---|---|
property |
ID на обект | 0 (всички) | Само стаите на този обект. |
show_search |
yes, no |
yes |
Показва лентата за търсене над резултатите. |
[jetbookin_booking] – поле за резервация на стая
Календар, гости, тарифи и цена за един тип стая. Резервирай продължава на страницата за плащане с попълнен престой.
| Атрибут | Стойности | По подразбиране | Какво прави |
|---|---|---|---|
room |
ID на тип стая | Текущата страница на тип стая | Кой тип стая. Задължителен навсякъде освен на собствената страница на типа стая. |
months |
1, 2 |
1 |
Месеци, показвани в календара. |
checkout |
page, inline |
page |
page продължава на страницата за плащане (цяла страница за данни и плащане). inline държи цялата резервация в полето. Без страница за плащане или потвърждение полето резервира на място. |
[jetbookin_booking room="42" months="2"]

[jetbookin_calendar] – календар на наличността
| Атрибут | Стойности | По подразбиране | Какво прави |
|---|---|---|---|
room |
ID на тип стая | Текущата страница на тип стая | Кой тип стая. |
months |
1–3 |
2 |
Показани месеци. |
prices |
yes, no |
yes |
Цени на нощувка в дните. |
[jetbookin_confirmation] – потвърждение / управление на резервация
Без атрибути. [jetbookin_manage] прави точно същото. Поставете го само на една страница (за език) и задайте тази страница като ID на страницата за потвърждение на резервацията.
[jetbookin_search_hero] – банер на цялата ширина с търсене
| Атрибут | Стойности | По подразбиране | Какво прави |
|---|---|---|---|
image |
URL на изображение | Празно | Фонова снимка. |
overlay |
0–90 |
35 |
Колко е затъмнена снимката, в %. |
heading |
Текст | Празно | Основно заглавие. |
heading_tag |
h1, h2, div |
h1 |
HTML таг на заглавието. |
subheading |
Текст | Празно | Ред под заглавието. |
min_height |
Пиксели (240 или повече) | 560 |
Минимална височина на банера. |
align |
left, center |
center |
Подравняване на текста. |
results_url |
URL | Празно | Страница с резултати за търсенето (както при [jetbookin_search]). |
button |
Текст | Проверете наличността | Надпис на бутона. |
[jetbookin_search_hero image="https://example.com/wp-content/uploads/pool.jpg" heading="Three stone houses above Elounda" subheading="Book direct for the best price" results_url="/book/"]
Шорткодове за стаи и обекти
Те се изобразяват на сървъра (добре за скоростта и за търсачките). Когато атрибут приема тип стая, без него се използва типът стая, чиято страница се показва; атрибутите за обект използват текущия обект, обекта на текущата стая или първия ви обект.
Когато блок няма какво да покаже (няма снимки, удобства…), гостите не виждат нищо; влезлите служители и редакторът на Elementor виждат подсказка какво да попълнят.
[jetbookin_rooms] – решетка или карусел със стаи
| Атрибут | Стойности | По подразбиране | Какво прави |
|---|---|---|---|
property |
ID на обект | 0 (всички) | Само стаите на този обект. |
ids |
ID на типове стаи, разделени със запетаи | Празно (всички) | Само тези стаи, в този ред. |
limit |
1–50 |
12 |
Максимален брой стаи. |
orderby |
menu_order, title, price |
menu_order |
Вашата ръчна подредба, по име или първо най-ниската цена „от“. |
layout |
grid, carousel |
grid |
Решетка или превъртащ се ред със стрелки. |
columns |
1–4 |
3 |
Карти на ред (видими едновременно карти в карусел). |
image_ratio |
напр. 4/3, 3/2, 16/9, 1/1, 3/4 |
4/3 |
Формата на снимката в картата. |
show_specs |
yes, no |
yes |
Гости, легла и площ. |
show_excerpt |
yes, no |
yes |
Краткото описание на стаята (откъс). |
amenities |
Число | 4 |
Колко удобства да се показват; 0 ги скрива. |
show_price |
yes, no |
yes |
Цената „от … / нощувка“. |
button |
Текст (празно го скрива) | Вижте и резервирайте | Надпис на бутона. |
heading_tag |
h2, h3, h4, div |
h3 |
HTML таг на имената на стаите. |
[jetbookin_rooms layout="carousel" columns="3" orderby="price" amenities="0"]
[jetbookin_room_gallery]
| Атрибут | Стойности | По подразбиране | Какво прави |
|---|---|---|---|
room |
ID на тип стая | Текущият тип стая | Чии снимки. |
post |
ID на публикация | Празно | Показва вместо това снимките на друга публикация, напр. на обекта. |
layout |
mosaic, grid, slider |
mosaic |
Мозайката е една голяма снимка и четири малки, с Покажи всички … снимки, когато са повече от пет. |
columns |
Число | 3 |
Колони за решетката и слайдера. |
ratio |
напр. 4/3 |
4/3 |
Формата на снимките в решетката. |
limit |
Число | 0 (всички) |
Максимален брой снимки. |
featured |
yes, no |
yes |
no показва само снимките от галерията, напр. когато основното изображение е илюстрация. |
lightbox |
yes, no |
yes |
Отваря снимките на цял екран при щракване. |
[jetbookin_room_amenities]
| Атрибут | Стойности | По подразбиране | Какво прави |
|---|---|---|---|
room |
ID на тип стая | Текущият тип стая | Коя стая. |
columns |
1–4 |
3 |
Колони на списъка. |
limit |
Число | 0 (всички) |
Максимален брой удобства. |
icons |
yes, no |
yes |
Показва икона до всяко. |
[jetbookin_room_specs]
| Атрибут | Стойности | По подразбиране | Какво прави |
|---|---|---|---|
room |
ID на тип стая | Текущият тип стая | Коя стая. |
items |
Някои от guests, beds, size, разделени със запетаи |
guests,beds,size |
Какво да се покаже, в този ред. |
layout |
inline, list |
inline |
На един ред или едно под друго. |
[jetbookin_room_price]
Най-ниската цена на нощувка от вашите тарифи, напр. от €95 / нощувка.
| Атрибут | Стойности | По подразбиране | Какво прави |
|---|---|---|---|
room |
ID на тип стая | Текущият тип стая | Коя стая. |
prefix |
Текст | от | Преди цената. |
suffix |
Текст | / нощувка | След цената. |
note |
Текст | Празно | Малък ред отдолу, напр. Най-добра цена при директна резервация. |
[jetbookin_room_policies]
| Атрибут | Стойности | По подразбиране | Какво прави |
|---|---|---|---|
room |
ID на тип стая | Текущият тип стая | Коя стая. |
times |
yes, no |
yes |
Часовете за настаняване и напускане. |
rates |
yes, no |
yes |
Всеки тарифен план с храненето, условията за отмяна и плащане. |
text |
yes, no |
yes |
Текстът с правилата на обекта. |
[jetbookin_property_info]
| Атрибут | Стойности | По подразбиране | Какво прави |
|---|---|---|---|
property |
ID на обект | Текущият / първият обект | Кой обект. |
items |
Някои от checkin, checkout, address, phone, email, registry |
Всичките шест | Какво да се покаже, в този ред. Адресът отваря Google Maps, телефонът и имейлът са връзки. |
layout |
list, grid |
list |
Едно под друго или в решетка. |
map |
yes, no |
yes |
Вградена карта на Google по координатите или адреса на обекта. |
map_height |
Пиксели (120 или повече) | 280 |
Височина на картата. |
Шорткодове за отзиви Pro
И двата изискват модула „Отзиви от гости“; когато той е изключен, не показват нищо.
[jetbookin_reviews] – публикувани отзиви
Средната оценка с нейния етикет (напр. Отличен), карти на отзивите с вашите отговори, бутон Покажи още отзиви и данни за оценката по schema.org за търсачките.
| Атрибут | Стойности | По подразбиране | Какво прави |
|---|---|---|---|
property_id (или property) |
ID на обект | 0 | Само отзивите за този обект. |
room_type_id (или room) |
ID на тип стая | 0 | Само отзивите на гости, отседнали в този тип стая. |
limit |
Число | 5 |
Отзиви на страница. |
summary |
yes, no |
yes |
Средната оценка най-горе. |
bars |
yes, no |
no |
Оценки по категории (чистота, удобство, местоположение, персонал, съотношение цена-качество). |
schema |
yes, no |
yes |
Добавя последните отзиви към данните schema.org на страницата. Общата оценка винаги се включва. |
empty |
Текст | Празно | Текст, който се показва, когато още няма отзиви. Празно = нищо. |
[jetbookin_reviews limit="3" bars="yes" empty="Be the first to review your stay."]
[jetbookin_review] – формуляр за отзив
Без атрибути. Нужен е само ако искате гостите да оставят отзив на отделна страница: поставете го там и въведете ID на страницата като ID на страницата за отзиви в Резервации → Отзиви. Иначе гостите оставят отзив на страницата за потвърждение на резервацията. Формулярът се отваря от подписаната връзка в имейла с поканата за отзив.
Страници за почистване и за собственици Pro
[jetbookin_housekeeping](модул „Почистване“): дневният списък за почистване на телефона, за влезли потребители с ролята Камериерка и за мениджърите резервации. Останалите са помолени да влязат или им се казва, че нямат достъп. Камериерките се изпращат на тази страница след влизане.[jetbookin_owner](модул „Собственици и отчети“): месечните отчети и календарът на заетостта на собственика, за влезли потребители с ролята Собственик на обект, свързани с обект. Собствениците се изпращат тук след влизане вместо в wp-admin.
Нито един от тях няма атрибути. И двете страници автоматично се изключват от кеширането на страници. Създайте всяка като обикновена публикувана страница в WordPress.
Страници на стаите без конструктор на страници
Всеки тип стая има собствена страница на сайта ви. Ако не е направена с Elementor, JetBookIn сам я превръща в пълна страница на стаята: галерия със снимки (мозайка от пет снимки), гости / легла / площ, цената „от“, вашето описание, удобства, правила и полето за резервация – до подробностите на широки екрани и под тях на телефони.
Ако съдържанието на стаята вече съдържа шорткод [jetbookin_room_…], накрая се добавя само полето за резервация; ако съдържа [jetbookin_booking], не се добавя нищо. С Elementor създайте единичен шаблон за типовете стаи в Theme Builder и използвайте уиджетите за стаи с — Текущ тип стая —.
Уиджети за Elementor
В редактора на Elementor потърсете JetBookIn или отворете категорията JetBookIn в панела с уиджети. Всеки уиджет изобразява точно същия блок като своя шорткод.

Настройки на съдържанието
| Уиджет | Шорткод | Настройки на съдържанието |
|---|---|---|
| Търсене на резервация | jetbookin_search |
Страница с резултати, Оформление (Хоризонтална лента / Вертикално), Текст на бутона, Показване на цените на нощувка |
| Резултати от търсенето | jetbookin_results |
Показване на лента за търсене над резултатите |
| Кутия за резервация на стая | jetbookin_booking |
Тип стая (— Текущ тип стая — за шаблони в Theme Builder), Показани месеци (1–2), След „Резервирай“ (Продължаване на страницата за плащане / Резервация в самата кутия) |
| Календар на наличността | jetbookin_calendar |
Тип стая, Показани месеци (1–3, по подразбиране 2), Показване на цените на нощувка |
| Потвърждение / управление на резервация | jetbookin_confirmation |
Няма |
| Банер с търсене | jetbookin_search_hero |
Фоново изображение, Заглавие (по подразбиране Вашата лятна почивка започва тук), Таг на заглавието, Подзаглавие (по подразбиране Резервирайте директно на най-добра цена.), Страница с резултати, Текст на бутона, Подравняване, Минимална височина (px, за всяко устройство), Затъмняване на изображението (%) |
| Стаи – решетка / карусел | jetbookin_rooms |
Оформление, Обект, Само тези стаи, Максимален брой стаи, Подредба (Ръчна подредба / Първо най-ниската цена / Име), Колони, Разстояние, Съотношение на изображението; Съдържание на картата: Таг на заглавието, Гости, легла и площ, Кратко описание, Показани удобства, Цена „от“, Текст на бутона |
| Галерия на стаята | jetbookin_room_gallery |
Снимки на (Тип стая / Обект), Тип стая, Обект, Оформление (Мозайка / Решетка / Слайдер), Колони, Разстояние, Максимален брой снимки, Включване на основното изображение, Отваряне на цял екран при клик |
| Удобства в стаята | jetbookin_room_amenities |
Тип стая, Колони, Разстояние, Максимум (0 = всички), Икони |
| Характеристики на стаята | jetbookin_room_specs |
Тип стая, Показване (Гости / Легла / Размер), Оформление (На един ред / Списък) |
| Цена на стаята от | jetbookin_room_price |
Тип стая, Преди цената, След цената, Кратка бележка |
| Правила и тарифи на стаята | jetbookin_room_policies |
Тип стая, Часове за настаняване / напускане, Тарифни планове (отмяна, плащане, изхранване), Текст с правилата на обекта |
| Информация за обекта и карта | jetbookin_property_info |
Обект, Показване (Настаняване, Напускане, Адрес, Телефон, Имейл, Регистрационен номер), Оформление (Списък / Решетка), Карта, Височина на картата (px) |
| Отзиви | jetbookin_reviews |
Обект, Тип стая (— Всички стаи / текущ тип стая —), Отзиви на страница, Средна оценка, Оценки по категории, Последни отзиви за търсачките, Текст, когато няма отзиви |
| Форма за отзив | jetbookin_review |
Няма |
Колоните се приспособяват към устройството: по подразбиране 3 на компютър, 2 на таблет и 1 на телефон, като можете да зададете всяко устройство поотделно.
Настройки на стила
Всеки уиджет на JetBookIn има секция Цветове и форма в раздела „Стил“:
- Основен (бутони, избор), Текст на бутоните, Фон, Текст, Рамки – цветове;
- Заобляне на ъглите – от 0 до 24 px;
- Типография – шрифт, размер, дебелина и т.н. за целия уиджет.
Някои уиджети имат още:
- Стаи – решетка / карусел: Карта (Фон, Сянка, Вътрешен отстъп), Заглавие на стаята и Цена (типография и цвят).
- Удобства в стаята: Икони (Цвят, Размер).
- Цена на стаята от: Цена (типография и цвят).
- Банер с търсене: Заглавие и Подзаглавие (типография и цвят).
- Отзиви: Заглавие на отзива и Текст на отзива (типография и цвят).
Съвет: задайте един и същ основен цвят на уиджетите за резервации на страницата. Бутонът Завършете резервацията, който се появява при неплатени резервации, взема цветовете, ъглите и шрифта си от уиджета за резервации на страницата.
Цветове и оформление
Всички блокове на JetBookIn четат цветовете и формите си от CSS променливи, зададени на обвивката .jbi-widget. Настройките на стила в Elementor задават същите променливи. Без Elementor ги задайте в Външен вид → Персонализиране → Допълнителен CSS или в стиловия файл на темата си.
| Променлива | По подразбиране | За какво се използва |
|---|---|---|
--jbi-primary |
#1c1a17 |
Бутони, избрани дати, икони |
--jbi-on-primary |
#fff |
Текст върху бутоните |
--jbi-accent |
#5b3fd1 |
Акценти и открояване |
--jbi-surface |
#fff |
Фон на полета и карти |
--jbi-surface-2 |
#f6f5f2 |
Вторичен фон (панели, редове) |
--jbi-text |
inherit |
Цвят на текста (по подразбиране този на темата ви) |
--jbi-muted |
#6b6f76 |
Второстепенен текст |
--jbi-border |
#e4e2dd |
Рамки и линии |
--jbi-good |
#1b7f4d |
Положителни бележки, напр. безплатна отмяна |
--jbi-bad |
#b3261e |
Грешки и предупреждения |
--jbi-radius |
10px |
Заобляне на ъглите |
--jbi-gap |
24px |
Разстояние между карти и елементи |
--jbi-cols |
3 |
Колони в решетките |
--jbi-shadow |
Мека двуслойна сянка | Сянка на картите |
Променливите са дефинирани върху самия .jbi-widget, затова ги задавайте със селектор, който е поне толкова силен, например:
/* Морскосини бутони, прави ъгли, навсякъде */
body .jbi-widget {
--jbi-primary: #0e5e6f;
--jbi-on-primary: #ffffff;
--jbi-radius: 4px;
}
/* Тъмно поле за резервация само в една секция */
.booking-dark .jbi-widget {
--jbi-surface: #1f1d1a;
--jbi-surface-2: #2a2723;
--jbi-text: #f4f1ea;
--jbi-muted: #b9b4aa;
--jbi-border: #3a3631;
}
Задаването на променливите само върху body или :root няма ефект, защото .jbi-widget задава свои стойности по подразбиране.
Многоезични сайтове (Polylang, WPML)
JetBookIn работи с Polylang и WPML. Преводите на тип стая или обект са същата стая: те споделят наличност, цени, резервации, галерията и основното изображение. Гостите виждат всичко на езика на страницата, от която резервират, и получават имейлите и страницата на резервацията си на този език.
Какво да преведете
- Типовете стаи и обектите: преведете ги с многоезичния си плъгин (заглавие, описание, откъс). В превода на обекта пишете и неговите инструкции за настаняване на този език.
- Страницата за потвърждение на резервацията и, ако използвате такава, страницата за резервация / плащане: създайте превод на всяка със същия шорткод или уиджет. В „Настройки“ се въвежда само ID на оригинала; JetBookIn изпраща гостите към превода на техния език.
- Страниците с общите условия и с политиката за поверителност и страницата за отзиви: преведете ги по същия начин. Страницата за плащане отваря версията на езика на госта.
- Страниците с търсене, стаи и отзиви: преведете ги като обикновени страници; шорткодовете и уиджетите остават същите.
Ако една страница няма превод, се използва оригиналът.
Имена, които въвеждате в таблото
Имената на тарифните планове, допълнителните услуги (име и описание), промоциите, собствените такси и данните за банков превод се регистрират като низове: в Polylang в Languages → Translations (група JetBookIn), в WPML в String Translation (домейн JetBookIn). Тарифните планове, допълнителните услуги и промоциите имат и полета На други езици точно под името си в таблото; двете места остават синхронизирани. Празен превод показва оригинала.
Имейли
Текстовете на имейлите се редактират за всеки език в Настройки → Имейли, а не с многоезичния плъгин. Вижте Имейли → Отделен текст за всеки език.
За разработчици: REST API
Всичко, което прави таблото, минава през REST API в пространството от имена jetbookin/v1, напр. https://example.com/wp-json/jetbookin/v1/availability/search. Крайните точки за персонала изискват влязъл потребител с правото manage_jetbookin (администраторите и ролята Мениджър резервации) – бисквитка с REST nonce или Application Password за приложения и други сървъри. По-натоварените публични крайни точки (плащане, оферти за цена, действия на гостите, отзиви) имат ограничение на броя заявки за всеки клиент.
Основни публични крайни точки
| Метод и път | Какво прави |
|---|---|
GET /availability/search |
Свободни типове стаи и тарифи за престой: check_in, check_out (YYYY-MM-DD), adults, children, по избор property_id, room_type_id. |
GET /availability/calendar |
Наличност и цени ден по ден за тип стая: room_type_id, start, days (до 120, по подразбиране 62). |
GET /availability/alternatives |
Близки дати, когато избраният престой не е наличен. |
POST /availability/quote |
Цена на живо за престой с допълнителни услуги. |
POST /checkout |
Създава резервация от данните на госта и избрания престой и започва плащането. |
GET /booking-status |
Статус на резервация (ref + key). |
GET /resume, POST /resume/cancel |
Незавършената резервация на този посетител; отменя я. |
POST /guest/lookup |
Намира резервация по номер и имейл; връща връзката към страницата на резервацията. |
GET /guest/booking |
Данните за страницата на резервацията на госта (ref + key). |
POST /guest/booking/pay, /cancel, /update, /verify, /resend, /proof, /card |
Действия на госта: плащане (или плащане по заявка), отмяна, записване на час на пристигане / изисквания / документи, потвърждение чрез връзката в имейла, повторно изпращане на тази връзка, качване на разписка за превод (multipart), добавяне на нова гаранционна карта. |
GET /reviews/published |
Публикувани отзиви. |
GET / POST /guest/review |
Формулярът за отзив за резервация и изпращането му. |
Крайните точки за персонала включват /bookings (списък, създаване, PUT /bookings/{id}, отмяна, плащания, заявки за плащане, съобщения), /calendar, /quote, /settings, /emails, /reviews и /ical/connections. Доставчиците на плащания извикват собствени маршрути за уебхукове в същото пространство от имена.
За разработчици: hooks
Всички hooks на JetBookIn започват с jbi/. Използвайте ги от малък плъгин или от functions.php на дъщерната си тема.
Действия (actions)
| Действие | Аргументи | Кога се задейства |
|---|---|---|
jbi/booking_created |
$booking |
Създадена е резервация (от всеки източник, с всеки статус). |
jbi/booking_confirmed |
$booking |
Резервация е станала потвърдена. |
jbi/booking_awaiting_payment |
$booking |
Резервация чака банков превод. |
jbi/booking_status_changed |
$booking, $old, $new |
Всяка промяна на статуса. |
jbi/booking_cancelled |
$booking |
Резервация е отменена. |
jbi/booking_modified |
$booking |
Променени са датите, стаята или гостите. |
jbi/booking_deleted |
$booking |
Изтрита е тестова резервация. |
jbi/payment_received |
$booking, $amount |
Завършено е онлайн плащане. |
jbi/balance_charge_failed |
$booking |
Автоматичното таксуване на остатъка е неуспешно. |
jbi/ari_changed |
$change (тип стая, стая или тарифен план, начало, край) |
Променени са наличност, цени или ограничения – hook-ът за изпращане на промените другаде. |
jbi/review_submitted |
$review, $booking |
Гост е оставил отзив. |
jbi/review_moderated |
$review, $fields |
Отзив е публикуван, скрит или е получил отговор. |
jbi/housekeeping_changed |
$unit, $details |
Променени са статусът за почистване или бележката на стая. |
jbi/document_issued |
$doc |
Издадена е разписка, фактура или кредитно известие. |
jbi/owner_paid |
$owner_id, $month, $fields |
Отчет на собственик е отбелязан като платен. |
jbi/ical_conflict |
$connection, $events |
При внос на календар е открита възможна двойна резервация. |
jbi/ical_failing |
$connection, $message |
Вносът на календар продължава да е неуспешен. |
jbi/hourly, jbi/daily |
– | Собствените задачи на JetBookIn на всеки час и всеки ден. |
jbi/loaded |
$plugin |
JetBookIn е приключил зареждането (за добавки). |
Филтри (filters)
| Филтър | По подразбиране | Предназначение |
|---|---|---|
jbi/max_open_holds |
1 | Разрешени неплатени резервации на имейл адрес. |
jbi/max_open_holds_network |
3 | Разрешени неплатени резервации на мрежа. |
jbi/max_rooms_public |
4 | Стаи в една онлайн резервация. |
jbi/max_rooms_per_booking |
10 | Стаи в една резервация, от всеки източник. |
jbi/checkout_verify |
true |
Върнете WP_Error, за да откажете плащане – мястото за CAPTCHA като Cloudflare Turnstile. Получава REST заявката. |
jbi/client_ip |
Настройки → Система → Адрес на посетителя | IP адресът на посетителя зад прокси или CDN (използва се от ограниченията на заявките и на неплатените резервации). Получава адреса, избран в настройката, и $_SERVER. |
jbi/rate_limit |
За всяка група | Разрешени заявки в интервала на ограничение на публична крайна точка (получава лимита и името на групата, напр. checkout). |
jbi/render/{name} |
HTML кодът | Променя изхода на блок, изобразяван на сървъра: rooms, gallery, amenities, specs, price, policies, property, reviews, hero. |
jbi/auto_room_page |
true |
Върнете false, за да спрете създаването на пълни страници на стаите; добавя се само полето за резервация. |
jbi/auto_booking_box |
true |
Върнете false, за да не се добавя нищо към страниците на типовете стаи. |
jbi/room_url |
Връзката към стаята | Къде водят картите на стаите (получава ID на стаята). |
jbi/structured_data_enabled |
true в публичната част |
Върнете false, ако SEO плъгин вече извежда вашата schema за настаняване. |
jbi/structured_data |
JSON-LD графът | Променя данните schema.org. |
jbi/structured_data_room_type |
Accommodation |
Schema тип на стая, напр. HotelRoom или Suite. |
jbi/reviews/schema |
Частите за отзивите | Променя schema за отзивите на обект. |
jbi/ical_export_summary |
Not available | Заглавието на събитията в изнасяните ви календари. |
jbi/module_enabled |
Настройката | Изключва модул в кода. Не може да включи модул, който лицензът не включва. |
// Две неплатени резервации на имейл адрес.
add_filter( 'jbi/max_open_holds', fn() => 2 );
// Изпращане на всяка потвърдена резервация към друга система.
add_action( 'jbi/booking_confirmed', function ( array $booking ) {
wp_remote_post( 'https://example.com/hook', [ 'body' => [ 'ref' => $booking['ref'] ] ] );
} );
// Стаите са хотелски стаи за търсачките.
add_filter( 'jbi/structured_data_room_type', fn() => 'HotelRoom' );
Фиксираните имейли с известия могат да бъдат заменени, като копирате admin-conflict.php, admin-sync-failing.php или admin-late-payment.php в yourtheme/jetbookin/emails/.
За разработчици: WP-CLI
| Команда | Какво прави |
|---|---|
wp jetbookin run-jobs [--limit=<n>] |
Изпълнява веднага всички дължими задачи: внос на календари, напомняния, таксуване на остатъци, изтичания. --limit ограничава броя обработени действия от опашката (по подразбиране 100). |
wp jetbookin sync [<connection-id>...] [--force] |
Внася веднага календарите на платформите – всички активни връзки за внос или посочените. --force пренебрегва HTTP кеширането. |
wp jetbookin status |
Показва кога за последно са се изпълнили задачите на всеки час и всеки ден, дали е настроен cron на сървъра, просрочените действия и календарите с грешки. |
На реални сайтове се препоръчва истински cron на сървъра вместо cron на WordPress, който се задейства от посетителите, например на всеки 5 минути:
*/5 * * * * cd /path/to/wordpress && wp jetbookin run-jobs --quiet
Вижте Разширени настройки за фоновите задачи.
Въпроси
Полето за резервация не показва нищо.
Извън собствената страница на типа стая то изисква room="ID" (в Elementor: изберете типа стая). Проверете също дали типът стая е публикуван и има тарифи.
Търсенето изпраща гостите на грешна страница.
Задайте results_url на търсенето (или Страница с резултати в уиджета) към страницата с [jetbookin_results]. Без него резултатите се отварят под формуляра.
Цветовете ми не се променят.
Задайте променливите върху .jbi-widget (например body .jbi-widget { … }), а не само върху body или :root. След това изчистете кеша на CSS или на плъгина за оптимизация.
Мога ли да използвам шорткодовете в Gutenberg, Divi или Bricks?
Да. Добавете блок „Кратък код“ (или елемента за шорткод на вашия конструктор) и поставете шорткода.
Трябва ли ми отделна страница за плащане?
Не. Ако ID на страницата за плащане е празно, полето за резервация продължава на страницата за потвърждение на резервацията. Отделна страница „Резервация“ с резултатите е полезна, когато искате и страница за търсене.
Изтрих по погрешка страницата за потвърждение на резервацията.
Създайте страница с [jetbookin_confirmation], публикувайте я и въведете ID ѝ като ID на страницата за потвърждение на резервацията в Настройки → Общи. Връзките в изпратените по-рано имейли още сочат към стария адрес, затова при нужда изпратете отново на засегнатите гости връзката към резервацията им.