Содержание - индекс - ранее - затем
Процесс резервирования
Этим разделом будет кратко обсуждение относительно деятельности двигателя резервирования.
Двигатель резервирования в Paxsoft будет двигателем управляемым AJAX записывая конструированным для того чтобы сделать процесс считать имеющиеся комнаты в свойстве насколько возможно простой. Мы используем AJAX потому что оно позволяет потребителю экспериментировать с их требованиями без использовать утомленный старый Click - > представьте режим нормальн был бы использован для того чтобы найти и записать комнату на поистине в реальном масштабе времени системе, или существенные цены включили с взаимодействовать с GDS.
Главнаяа задача двигателя резервирования должны быть насколько возможно простой для использования, извлекающ так много решения от рук потребителя как по возможности, направляя их через поставлять all the информацию которая они для того чтобы позволить система принять резервирование от их.
Архивы
Whilst все деятельности в Paxsoft идут до архив Paxsoft.php GLAVNые архивы используемые для того чтобы произвести и выполнить резервирование сделайте до конца
Paxsoft.js
dobooking.php
handlereq.php
dobooking_functions.php и
j05000bookingobject.class.php
Paxsoft.js содержит весь Javascript формы резервирования (исклучая фактического типа Javascript AJAX).
dobooking.php производит форму резервирования когда потребитель выбирает соединение резервирования. Оно строит все данные NEOBXODIMO, что построил форму резервирования, выступает данные по с иничиативой резервирования в временно таблице резервирования и вызывает архив шаблона формы резервирования.
handlereq.php регулирует all the queries AJAX от формы резервирования.
dobooking_functions.php содержит тип предмета резервирования
j05000bookingobject.class.php вызвано dobooking.php и handlereq.php, удлиняет предмет резервирования найденный в dobooking_functions.php.
Вся функциональность двигателя резервирования обеспечена типом Paxsoft_booking. Этот тип не вызван сразу, довольно он вызван и удлинен типом резервирования который можно найти в j05000bookingobject.class.php. Причина, котор мы не вызываем архив сразу справедливо straightforward, путем создавать новое резервирование предмета и класть его в minicomponent его должна иметь, оно просто достаточно отвергнуть основные деятельности двигателя резервирования без фактическ редактировать любые архивы Paxsoft сердечника.
Как оно работает
Когда потребитель щелкнет дальше элементом в форме резервирования, в зависимости от выбранного природная стихия Javascript вызовет query AJAX который вызовет com_Paxsoft варианта исследовать, и handlereq задачи. Задача handlereq после этого вызывает включение handlereq.php.
handlereq.php обусловливает природная стихия измененное в форме резервирования и кладет это в переменное $field, тогда handlereq.php вызовет различные методы типа в зависимости от которых элемент был изменен. Когда это сделанные имеющиеся & выбранные комнаты возвращены как выход к форме резервирования и после этого функция Javascript show_log вызвана. Это снова вызывает задачу handlereq и VSе NEOBXODIMY сообщения ы back to потребитель, как включена информация о ценах и окончательно, если форма резервирования рассужена для того чтобы быть законченн, то кнопка резервирования просмотрения.
Цель формы резервирования должна построить резервирование в tmpbookings и таблицах tmpguests. *Updated: временно данные теперь отрегулированы перемеююыми встречи. 2 типа информации переданы к handlereq, записывая частностям и «другим данным». Частностями резервирования будут детали о резервировании потенциальн причинит перечень имеющиеся комнаты изменить, или к изменять номера гостя, куря варианты или of course даты сами резервирования. Другими данными были бы именами гостя, выбранными cEtc экстраих.
Когда одна из этих частностей изменено система построит предмет резервирования и запросит все комнаты на системе использующ following методы:
getAllRoomUidsForProperty
findFreeRoomsInDateRange
checkPeopleNumbers
checkSmokingOption
removeFromSelectedRooms
removeRoomuidsAlreadyInThisBooking
getTariffsForRoomUids
Имена методов справедливо описательны, но вкратце все удостоверения личности комнаты найдены, и постепенно процессом исключения все комнаты которое различно состояние не сумеют сопрягать, котор дали комплект критериев упадены от перемеююого $freeRoomsArray. This last комплект комнат послан после этого к методу getTariffsForRoomUids, который найдет любые тарифы которая будет критериями также сопрягает частности резервирования. Если тариф проходит после этого, то идентификация комнаты конкатенировано к идентификации тарифа с символом шлема (^) (например 3^20). Build up блок этих комнат/удостоверений личности тарифа и окончательн это о back out метода. Эта конкатенация позволяет нас предложить комнате множественные времена для так много тарифов как действительны в что период, поэтому вы можете например предложить (в случае фиксированных цен, увидеть сценарий SRP выше для исключения к этому правилу) многочисленнAp по-разному тарифы над такими же периодом, предлагая например просто кроватью и завтраком, или кровать, завтрак и выравнивать тарифы еды для такой же комнаты над таким же периодом.
Этот блок удостоверений личности комнаты и удостоверений личности тарифа после этого передан к методу generateRoomsList фактическ создает перечни имеющиеся и выбранные комнаты для индикации в форме резервирования.
Как только список комнат был назад show_log вызвано, и в зависимости от ранее было изменено ему may or may not рассчитать заново список цен на товары. Если да, после этого generateBilling метод вызван, то это вызовет оценивая вычисления, котор нужно выполнить, после этого окончательно различные данные возвращены к сценарию Paxsoft.js и оценено использующ главным образом функцию Javascript getElementById для того чтобы установить различные divs в резервировании сформируйте к updated полям.