Принципы работы модуля «Турпутевка»


СОДЕРЖАНИЕ
  1. Общие принципы
  2. Документы
  3. Поддержка авторизации и работы агентов
  4. Примечания к построению входных форм (заявочных форм)
  5. Специфика скриптов обслуживания пакетов
  6. Особенности вычисления прайсов

Общие принципы

Чтобы осуществить успешность внедрения общеупотребительной программы любому отдельно взятому клиенту, необходимо повторить бизнес-процессы, уже наработанные клиентом до начала пользования программой, а не предлагать ему жесткий безвариантный подход. Это много раз доказано на практике, но не всегда применяется из-за невозможности предусмотреть на этапе проектирования программы все возможные условия и взаимосвязи в бизнес-процессах каждого отдельного клиента. Альтернативный подход заключается в создании платформы с набором возможностей, а сама конфигурация и взаимосвязи правятся в процессе внедрения программы у клиента с учетом всех его пожеланий. Именно этот подход используется в этой программе. Минусы этого подхода заключаются в освоении и поддержке отдельного языка или же синтаксического набора условий (конфигурационного файла), описывающего настраиваемые сущности и увеличении стоимости и длительности внедрения. Скрасить ситуацию может подготовленный перед внедрением набор заготовок и часто используемых условий. Собственно, в туризме, где каждое турагентство или туроператор работают по-своему, гибкость и управляемость программы может быть поставлена во главу угла.

В этой программе полем для настроек под клиента являются главным образом шаблоны входных форм. Шаблоны входных форм описывают саму входную форму для набивки данных заявки, возможные действия над заявкой при определенных её состояниях, а также набор и политику выходных документов, каждый из которых в момент создания может влиять на заявку и на другие выходные документы. Набор входных форм способен охватить все разнообразие поставляемых услуг и поддержать условия каждого отдельного направления туризма. Скажем, внутренний туризм отличается от внешнего количеством необходимых входных данных клиента, набором и разнообразием услуг, соответственным набором выходных документов, и, быть может, даже логикой обработки заявки. Для реализации этой разницы достаточно создать два шаблона входных форм - для внешнего и для внутреннего туризма, а затем прикрепить к каждому соответствующий набор выходных документов.

Документы

Технически код выходного документа состоит из двух частей:

  1. блока бизнес-логики в шаблоне входной формы, к которой прикреплен шаблон документа. Шаблон документа одновременно может использоваться многими шаблонами входных форм. К бизнес-логике относится код политики доступа к созданию и просмотру созданного документа, подключение справочников и определение других переменных, перечисление элементов дополнительных данных, требуемых для создания документа.
  2. непосредственным кодом шаблона выходного документа. Также при редактировании шаблона возможно определить политику просмотра документа: для печати или для отображения в виде информации на обычной странице.

Поддержка авторизации и работы агентов

Авторизация

Агенты не являются обычными пользователями в системе. Они работают с правами гостя, хотя и проходят авторизацию. Авторизация агентов создана с возможностью централизации базы аккаунтов для облегчения администрирования нескольких независимых филиалов оператора или нескольких операторов. Каждый агент имеет только один агентский логин для входа на сайты ТО, которые привязаны к одному центру авторизации агентов. Уникальность логинов обеспечивается привязкой к уникальным параметрам юридического лица (финансовые и юридические данные). Логин генерируется транслитерацией и упрощением имени организации агента, пароль генерируется автоматически случайным набором символов.

Привязка конкретного сайта конкретного ТО к единому центру авторизации (или к своему собственному), а также поддержка авторизации агентов и регистрации новых агентов настраивается администратором на странице администраторских параметров модуля «Турпутевка» следующими параметрами: VoucherAgentAuth, VoucherCentralGateURI, VoucherAgentRegisterNew. Для запуска демона авторизации на сайте ТО или центральном сайте нескольких ТО (филиалов ТО) нужно запустить команду tsvchr_xmlrpcd с привязкой к конкретному виртуалхосту TS-движка, сконфигурированному на этом же хосте. Для привязки используется к виртуалхосту ключ командной строки --host. Прочие параметры смотрите в справке команды. Для корректной работы демона в виртуалхосте должен быть включены модули «Турпутевка» и «Справочники», а также должен существовать справочник agents_accounts, обладающий следующими полями:
Имя поляПримечаниеТипРазмерУникальностьИндекс
orgnameИмя организацииchar255ДаДа
orgtypeИП, ТОО, ОАО и т.д.char5
address char255
phone char64
email char128
chieffnameИмя директораchar128
base_docПравоустанавливающий документ директора (устав, приказ, доверенность)char128
bankinfoАдрес банка и его наименованиеchar255
rnnПо этом полю и следующему производится проверка на уникальность агентаchar12Да
binСм. выше. Эти поля - казахстанская специфика регистрации юрлиц.char12Да
bikБанковский индивидуальный код (код банка)char8
iikСчет в банкеchar20
licenseНомер лицензии агента (казахстанская специфика, необязательное)char32
kbeКазахстанская специфика регистрации юрлиц, необязательноеchar1
loginАвтоматически формирующееся поле на основании orgnamechar32Да
passАвтоматически формирующееся полеchar18
pass_hashАвтоматически формирующееся полеchar27
Поля справочника могут быть как в одном справочнике, так и в нескольких, связанных между собой.

Каждый оператор (или филиал оператора) имеет свой список агентов, могущих авторизоваться в его системе под своим логином. То есть имея один и тот же логин для нескольких операторов, агент может иметь право авторизоваться у одного оператора и не иметь - у другого. Возможность авторизации зависит от того, в каком статусе находится запись об агенте в справочнике агентов у конкретного ТО.

На виртуалхосте ТО должен существовать справочник agents, являющийся стандартным для модуля «Турпутевка». Поля этого справочника, относящиеся к централизованной авторизации агентов:
Имя поляПримечаниеТипРазмерУникальностьИндекс
orgnameИмя организацииvarchar255ДаДа
...Пропущены стандартные поля для организаций...
licenseНомер лицензии агента (казахстанская специфика, необязательное)varchar32
kbeКазахстанская специфика регистрации юрлиц, необязательноеvarchar1
loginАвтоматически формирующееся поле на основании orgnamevarchar32Да
passАвтоматически формирующееся полеvarchar18
pass_hashАвтоматически формирующееся полеvarchar27

Поиск туров

Агент (как и любой другой пользователь-гость) может производить поиск туров без авторизации. Если до поиска агент не был авторизован, после попытки покупки найденного тура, он перейдет на окно авторизации агента. После авторизации он попадет на страницу покупки пакета (создания заявки). Внешний вид и функционал поиска тура зависит от того, какой шаблон поиска используется в турпакете.

Просмотр и редактирование заявок:

При работе под агентом в заявке может отображаться меньше информации, чем под обычным пользователем, имеющем право на просмотр заявки и/или ее редактирование. Каждый агент может видеть список только своих заявок.

Обработка заявок операторами ТО

Оператор (обычный пользователь ТО), обладающий правами CreateAnyQuery или ManageTickets, может принять заявку в работу, если она находится в определенном статусе (настраивается в конфигурации). Для этого посредством конфигурационных шаблонов так или иначе пользователь должен перейти по URL: /Voucher/queries/<QUERYID>/takeown. Если заявка уже взята в работу другим пользователем, выведется ошибка.

Примечания к построению входных форм (заявочных форм)

Для того, чтобы полноценно пользоваться возможностями движка, входная (заявочная) форма может иметь некоторые особенности, описание которых дано ниже:

Специфика скриптов обслуживания пакетов

Отличительная особенность скриптов обслуживания пакетов в том, что названия переменных их имен жестко заданы на уровне модуля и их всего два: скрипт пересчета прайсов (переменная пакета pricescript и скрипт продажи пакетов (salescript). Вызываются эти скрипты довольно часто и с разными параметрами. Скрипты являются связью между конфигурацией (которая не известна модулю) и запросами со стороны модуля к объекту пакета. Ниже определен перечень возможных параметров и их описание:

pricescript, первый параметр запуска: salescript, первый параметр запуска:

Особенности вычисления прайсов

При запуске пересчета прайса предыдущие строки в прайсе будут удалены лишь в последний момент перед заливкой посчитанных цен в базу. Это сделано для того, чтобы сохранить прайс при возможных ошибках просчета и следующем останове просчета. Таким образом, если это активный прайс для онлайн бронирования, максимально увеличивается время доступности прайса и поиска пакетов. Если скрипт вычисления прайса помимо данных вернет специальный ключ clear_only в формате hash, то будут удалены только те строки прайса, которые удовлетворяют набору условий ключ=значение этого хеша.

Выгружаемый файл XLS-формата создается для текущей версии прайса единожды, при первом щелчке по ссылке для выгрузки. Все последующие выгрузки просто отдают уже ранее сформированный файл. Сделано это для снижения нагрузки на сервер, так как выгрузка большого объема данных очень ресурсоемка. Файл обновляется (создается из справочника прайса), если дата изменения пакета позже, чем дата создания файла. Для этого достаточно просто сохранить пакет, щелкнув "Продолжить" на вкладке ресурсов. Также файл удаляется после успешного пересчета прайса и последующей автоматической заливки его в справочник-родитель файла. Файл HTML-формата каждый раз формируется на лету.


<< Оглавление | Наверх…