[oneBooking] Версия 2.0.0-pl Доп. функционал
По результатам коллективного обсуждения первой версии предлагаю новую версию с дополнительным функционалом.
Что нового
— Добавлена кнопка «Бронировать» для вывода на странице ресурса.
— Теперь при редактировании заявки пользователю отправляется соответствующее уведомление.
— Появилась возможность отправлять пользователю сообщения.
— Все сообщения, отправленные пользователю, сохраняются в журнале.
— У заявок теперь есть статусы.
— Теперь при бронировании можно указывать количество объектов.
— Появилась кнопка для расчета суммы по введенным данным.
— Заявки теперь можно копировать.
— С разделе спец. предложения можно указывать не только диапазон, но и конкретные дни.
— Расширены возможности поиска заявок.

Начнем по порядку.
Теперь на странице ресурса с описанием можно вставить кнопку бронирования. Вызывается тот же диалог, что и в календаре, но с уже определенным типом объекта. За это отвечает параметр object и указывает он на ID объекта из справочника объектов (в текущей настройке — номеров).
Вызывается он так

Нажимаем и получаем диалог только с одним указанным типом объекта.

Как видно по картинке, теперь можно указать количество объектов, а также рассчитать стоимость брони на указанные даты с учетом скидок/наценок. Такой же функционал есть и в админке.

Но здесь можно указать статус заявки. Кстати, теперь при изменении заявки, пользователю отправляется уведомление. Правда эту возможность можно отключить. За это отвечает соответствующий чекбокс внизу диалога.
Про статусы расскажу подробнее. Я не стал создавать отдельную таблицу для них и поступил проще. Использовал для них лексикон.
С валютой такая же история.
Ещё из нового. На первой картинке в колонке «Действия» видим 2 новых кнопки — конвертик и копирование.
Ну с копированием все понятно. А вот конвертик отвечает за новый интерфейс сообщений. Интерфейс — это окно с двумя вкладками.
На первой можно отправить письмецо.

На второй — журнал с историей отправленных сообщений. По двойному клику можно открыть любое сообщение.

В диалоге объекта в разделе спец. предложений появилась возможность кроме периода указывать еще и конкретные дни.

Можно указывать только начальную дату или только конечную. В общем ничего сложного.
Кроме того, улучшена возможность поиска заявок. Теперь их можно искать по датам, по статусу и по любому слову (имя пользователя, номер телефона, email и т.д.).
В общем это все изменения. Компонент получился достаточно взрослый и для своей цены очень привлекательный. Сложные моменты из предыдущиего обсуждения я оставил для другого дополнения. Не стал утяжелять этот. Но если кому еще какие идеи в голову придут, пишите не стесняйтесь.
П.С. На всякий случай повторю, бронировать можно все что угодно, просто нужно поменять соответствующие записи в лексиконе, чтобы в интерфейсе отображались нужные названия.
oneBooking. Версия 1.
oneBooking. Версия 3. Интеграция с минишоп для онлайн оплаты.
oneBooking. Версия 3.1.0.
Что нового
— Добавлена кнопка «Бронировать» для вывода на странице ресурса.
— Теперь при редактировании заявки пользователю отправляется соответствующее уведомление.
— Появилась возможность отправлять пользователю сообщения.
— Все сообщения, отправленные пользователю, сохраняются в журнале.
— У заявок теперь есть статусы.
— Теперь при бронировании можно указывать количество объектов.
— Появилась кнопка для расчета суммы по введенным данным.
— Заявки теперь можно копировать.
— С разделе спец. предложения можно указывать не только диапазон, но и конкретные дни.
— Расширены возможности поиска заявок.

Начнем по порядку.
Теперь на странице ресурса с описанием можно вставить кнопку бронирования. Вызывается тот же диалог, что и в календаре, но с уже определенным типом объекта. За это отвечает параметр object и указывает он на ID объекта из справочника объектов (в текущей настройке — номеров).
Вызывается он так
[[oneBooking? &object=`1`]]
Нажимаем и получаем диалог только с одним указанным типом объекта.

Как видно по картинке, теперь можно указать количество объектов, а также рассчитать стоимость брони на указанные даты с учетом скидок/наценок. Такой же функционал есть и в админке.

Но здесь можно указать статус заявки. Кстати, теперь при изменении заявки, пользователю отправляется уведомление. Правда эту возможность можно отключить. За это отвечает соответствующий чекбокс внизу диалога.
Про статусы расскажу подробнее. Я не стал создавать отдельную таблицу для них и поступил проще. Использовал для них лексикон.
$_lang['ob.status.0'] = 'Аннулирована'; //Не изменять
$_lang['ob.status.1'] = 'Новая'; //Не изменять
$_lang['ob.status.2'] = 'Подтверждена';Первые две системные. Их трогать нельзя — новой заявке присваивается статус под номером 1 («Новая»). В остальном ограничений нет. Например, нужен статус «Оплачено», добавляем$_lang['ob.status.3'] = 'Оплачено';Чистим кэш (лексиконы кешируются). И все, статус появляется в диалоге. С валютой такая же история.
$_lang['ob.currency.0'] = 'руб.';
$_lang['ob.currency.1'] = '$';
$_lang['ob.currency.2'] = '€';Но здесь особых требований нет. Можно в любой момент список менять.Ещё из нового. На первой картинке в колонке «Действия» видим 2 новых кнопки — конвертик и копирование.
Ну с копированием все понятно. А вот конвертик отвечает за новый интерфейс сообщений. Интерфейс — это окно с двумя вкладками.
На первой можно отправить письмецо.

На второй — журнал с историей отправленных сообщений. По двойному клику можно открыть любое сообщение.

В диалоге объекта в разделе спец. предложений появилась возможность кроме периода указывать еще и конкретные дни.

Можно указывать только начальную дату или только конечную. В общем ничего сложного.
Кроме того, улучшена возможность поиска заявок. Теперь их можно искать по датам, по статусу и по любому слову (имя пользователя, номер телефона, email и т.д.).
В общем это все изменения. Компонент получился достаточно взрослый и для своей цены очень привлекательный. Сложные моменты из предыдущиего обсуждения я оставил для другого дополнения. Не стал утяжелять этот. Но если кому еще какие идеи в голову придут, пишите не стесняйтесь.
П.С. На всякий случай повторю, бронировать можно все что угодно, просто нужно поменять соответствующие записи в лексиконе, чтобы в интерфейсе отображались нужные названия.
$_lang['onebooking_tab2'] = 'Номера'; //Заменить, например, на Автомобили
$_lang['ob.object'] = 'Номер'; // Автомобиль
...Дополнительные материалы.oneBooking. Версия 1.
oneBooking. Версия 3. Интеграция с минишоп для онлайн оплаты.
oneBooking. Версия 3.1.0.
Комментарии: 63
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Компонент вырос многократно. Ура, для MODX теперь есть полноценный модуль работы с бронями!
Осталось дождаться благодарных пользователей.
А так еще возможное применение бронировать товары в магазине, не знаю на сколько компонент готов к такому. В любом случае невозможно сделать компонент который будет понятный и в тоже время выполнять все возможные задачи. Лучше иметь 3 компонента которые решают свои задачи, чем один который делает все.
Про время уже обсуждали. Это функционал для нового дополнения. Ибо компонент сразу усложняется. А значит и стоимость его будет выше. А кому-то вполне достаточно суточного периода. Зачем переплачивать.
Есть уже объем работ по новому, более сложному, компоненту бронирования. Там будет и почасовое бронирование. Сейчас более глубоко изучаю тему…
Ну если очень нужна именно переписка, то oneBooking не подойдет. Там только односторонняя связь для уведомления пользователя.
Подойдет если только для учета, посмотреть, что есть в наличии, тоже полезно.
Забронировал через сайт -> менеджер перезвонил -> мы подтвердили -> оплатили аванс -> приехали и на месте оплатили все.
Так работают большинство подмосковных пансионатов и баз отдыха.
А переписка это очень не надежно и долго. Не ответил клиент по почте и что думать? Все равно звонить надо.
А делать еще и полноценный почтовый интерфейс, мне кажется, это лишнее.
(личка sergeykarpuk — skype)
У меня пока нет полного понимания куда это прикручивать. У всех по разному, но подходящее решение не нашел. Пока мысль остановилась на ссылке в письме — т.е. человек забронировал, ему пришло письмо, а в нем ссылочка «Оплатить». Как альтернатива — это регистрация пользователя, кабинет, а в нем заявки. Но это сложно и я не нашел таких примеров в интернете.
Поэтому пока разбираюсь с минишопом, надеюсь что-то еще придет в голову. Или кто умный подскажет идею.
Когда ждать из отпуска-то? :)
Нужно знать, пилить своими силами или дождаться выхода авторской версии.
Кстати, оплату через miniShop2 подключали?
Да.
Посмотреть бы, конечно, на реализацию :)
Например, можно ли будет несколько цен забить в зависимости от выбранных характеристик бронирования.
P.S. Если есть возможность выйти на связь в skype или по электронке — контакты выше.
У этого компонента нет характеристик бронирования. Есть объект и его стоимость в день. А цена определяется произведением дней на стоимость.
Если будет желание зайти в меню Приложения, там в приложениях найти oneBooking и нажать кнопку Обновить. :)
Требуется текущий функционал + он-лайн оплата.
К выходным, насколько понял, можно ждать вторую часть.
Нет.
По заявке… Сейчас заявку сделать нельзя — жестко проверяется наличие. Если нужно, я могу добавить настройку «Не проверять доступность». Но тогда нужно будет самим её отслеживать.
Сергей, скажите, пожалуйста, можно ли сейчас реализовать такую логику в oneBooking «из-коробки» (для отеля). Сразу извиняюсь за нубский вопрос.
1. Клиент выбирает нужный диапазон дат
2. Если на выбранные даты есть свободные номера, то появляется форма для заполнения и отправки контактной информации.
3. В этой форме можно создать любые типы полей.
Или надо использовать какой-то сторонний компонент для создания формы с контактными данными?
Форма примерно такая:
Прилетаем-улетаем на скрине зачеркнул, т.к. если будет выбор дат на первом шаге, то они заполнятся автоматически.
А то сейчас получается, что мы просим юзера заполнить перс. данные (условно), а потом говорим — извини, друг, заявка не принята, мест нет.
Или я ошибаюсь, и юзер просто не выберет те даты, которые стоят в стопе?
1. Выбираешь даты, объект (например, номер) и количество. Нажимаешь Далее. (На этом этапе и проверять доступность)
2. Указываешь свои реквизиты. Далее.
3. Оплатить. Сохранить заявку.
А.
1. Смотрим на календарь и видим цветами — свободно или нет. Зеленые — свободные, а красные — в стопе.
2. Если есть нужное нам кол-во свободных номеров подряд — выбираем в календаре первый день (тык мышкой) пребывания и последний день пребывания.
3. Открывается форма диалога. В ней уже есть эти данные по датам. Заполняем перс. данные. Сабмит. Уведомление админу, уведомление юзеру на емайл.
Б.
Если календарь по тем или иным причинам не выведен на сайте, а есть только форма диалога, то выбирает даты заезда и отъезда (1 шаг заполнения формы), остальные поля ридОнли. Система проверяет их на доступность (аякс). Если они действительно свободны и ничего за последние секунды в бекэнде не поменялось, то ридОнли для перс. данных разблокируются и их можно засабмитить. Если заняты, то система говори — такие то даты из твоего дипазона заняты. Выбери другие. Свободны эти, эти, эти. Ближайший свободный диапазон дат — такой -то. И пока юзер не выберет корректный диапазон дат (свободный), поля для перс. данных остаются ридОнли и кнопка Сабмита неактивна.
И еще вопрос. Каким образом тыкая в даты можно определить нужное количество номеров до открытия диалога?
Сергей, я смогу сконструировать такую форму в диалоговом окне, как на этом скрине?
В дополнение к стандартному диалогу. У меня тут только селекты используются. Цены нет. Если да, то как?
Есть классная система бронирования для Вордпресса. Посмотрите её, если получится. Мне кажется, что из неё можно взять удобные фичи. Те возможности, о которых я спрашивал выше, в частности. Она сделана на базе того простенького скрипта, который я вам высылал полгода назад.