Мастер-Web:Дополнительный модуль Бронирование индивидуального тура
Содержание
Введение
Данный экран предназначен для бронирования в ПК Мастер-Web сложных туров, т.е. туров включающих в себя нестандартный набор услуг, который нельзя рассчитать и забронировать, используя стандартный интерфейс ПК «Мастер-Web».
Основными функциями системы являются:
- Формирование программы тура
- Редактирование состава заказа
- Расчет стоимости сформированного тура
- Заполнение данных туристов
- Отправка заявки по e-mail
- Бронирование тура
Установка
Установка экрана «Бронирование индивидуального тура» включает в себя следующие этапы:
- Установка доп.экрана «Бронирование индивидуального тура»
- Установка web-сервиса «Сервис бронирования»
- Установка web-сервиса «Сервис проверки наличия мест»
- Установка web-сервиса «Сложный тур»
- Настройка конфигурационного файла web.config основного приложения и конфигурационных файлов web-сервисов
Установка доп.экрана
Для установки надстройки «Бронирование индивидуального тура» нужно выложить распакованные файлы из архива mw-complextour-2007.2.XX.XXXX.zip в каталог, где лежит ПК Мастер-Web.
Установка web-сервиса бронирования
Для установки Сервиса бронирования нужно создать отдельную директорию, например, Reservation (в примерах будет использоваться данное название каталога) в корневом каталоге IIS (по умолчанию c:/inetpub/wwwroot) и выложить туда распакованные файлы из архива mw-ws-reservation-2007.2.XX.XXXX.zip. После этого необходимо преобразовать каталог Reservation в приложение на IIS. В конфигурационном файле web.config приложения Reservation необходимо указать правильные данные в строке подключения (тег <connectionString />).
<add key = "connectionString" value = "Data Source=ip-адрес сервера базы данных ПК Мастер-тур; Initial Catalog=название базы данных ПК Мастер-тур;User ID=логин пользователя ПК Мастер-тур; Password=пароль пользователя ПК Мастер-тур"/>
Установка web-сервиса для проверки наличия мест
Для установки Сервиса для проверки наличия мест нужно создать отдельную директорию, например, CheckQuotes в корневом каталоге IIS (по умолчанию c:/inetpub/wwwroot) и выложить туда распакованные файлы из архива mw-ws-checkquotes-2007.2.XX.XXXX.zip. После этого необходимо преобразовать каталог CheckQuotes в приложение на IIS. В конфигурационном файле web.config приложения CheckQuotes необходимо указать правильные данные в строке подключения (тег <connectionString />).
<add key = "connectionString" value = "Data Source=ip-адрес сервера базы данных ПК Мастер-тур;Initial Catalog=название базы данных ПК Мастер-тур;User ID=логин пользователя ПК Мастер-тур;Password=пароль пользователя ПК Мастер-тур"/>
Установка web-сервиса «Сложный тур»
Для установки Сервиса «Сложный тур» нужно создать отдельную директорию, например, WSComplexTour в корневом каталоге IIS (по умолчанию c:/inetpub/wwwroot) и выложить туда распакованные файлы из архива mw-ws-complextour-2007.2.XX.XXXX.zip. После этого необходимо преобразовать каталог WSComplexTour в приложение на IIS. В конфигурационном файле web.config приложения WSComplexTour необходимо указать правильные данные в строке подключения (тег <connectionString />).
<add key = "connectionString" value = "Data Source=ip-адрес сервера базы данных ПК Мастер-тур;Initial Catalog=название базы данных ПК Мастер-тур;User ID=логин пользователя ПК Мастер-тур;Password=пароль пользователя ПК Мастер-тур"/>
Настройка конфигурационного файла web.config основного приложения ПК Мастер-Web
Настройка конфигурационного файла web.config основного приложения ПК Мастер-Web включает:
- Добавление новых секций
- Добавление настроек
Добавление секций
На одном уровне с секцией <configSections /> необходимо добавить:
<runtime> <assemblyBinding appliesTo="v2.0.50727" xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="System.Web.Extensions" publicKeyToken="31bf3856ad364e35"/> <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="System.Web.Extensions.Design" publicKeyToken="31bf3856ad364e35"/> <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/> </dependentAssembly> </assemblyBinding> </runtime>
<system.serviceModel> <bindings> <basicHttpBinding> <binding name="ReservationServiceSoap" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536" messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered" useDefaultWebProxy="true"> <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" maxBytesPerRead="4096" maxNameTableCharCount="16384" /> <security mode="None"> <transport clientCredentialType="None" proxyCredentialType="None" realm="" /> <message clientCredentialType="UserName" algorithmSuite="Default" /> </security> </binding> <binding name="ComplexTourServiceSoap" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536" messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered" useDefaultWebProxy="true"> <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" maxBytesPerRead="4096" maxNameTableCharCount="16384" /> <security mode="None"> <transport clientCredentialType="None" proxyCredentialType="None" realm="" /> <message clientCredentialType="UserName" algorithmSuite="Default" /> </security> </binding> <binding name="CheckQuotesServiceSoap" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536" messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered" useDefaultWebProxy="true"> <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" maxBytesPerRead="4096" maxNameTableCharCount="16384" /> <security mode="None"> <transport clientCredentialType="None" proxyCredentialType="None" realm="" /> <message clientCredentialType="UserName" algorithmSuite="Default" /> </security> </binding> </basicHttpBinding> <customBinding> <binding name="ReservationServiceSoap12"> <textMessageEncoding maxReadPoolSize="64" maxWritePoolSize="16" messageVersion="Soap12" writeEncoding="utf-8"> <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" maxBytesPerRead="4096" maxNameTableCharCount="16384" /> </textMessageEncoding> <httpTransport manualAddressing="false" maxBufferPoolSize="524288" maxReceivedMessageSize="65536" allowCookies="false" authenticationScheme="Anonymous" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" keepAliveEnabled="true" maxBufferSize="65536" proxyAuthenticationScheme="Anonymous" realm="" transferMode="Buffered" unsafeConnectionNtlmAuthentication="false" useDefaultWebProxy="true" /> </binding> <binding name="CheckQuotesServiceSoap12"> <textMessageEncoding maxReadPoolSize="64" maxWritePoolSize="16" messageVersion="Soap12" writeEncoding="utf-8"> <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" maxBytesPerRead="4096" maxNameTableCharCount="16384" /> </textMessageEncoding> <httpTransport manualAddressing="false" maxBufferPoolSize="524288" maxReceivedMessageSize="65536" allowCookies="false" authenticationScheme="Anonymous" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" keepAliveEnabled="true" maxBufferSize="65536" proxyAuthenticationScheme="Anonymous" realm="" transferMode="Buffered" unsafeConnectionNtlmAuthentication="false" useDefaultWebProxy="true" /> </binding> </customBinding> </bindings> <client> <endpoint address="http://localhost/reservation/ReservationService.asmx" binding="basicHttpBinding" bindingConfiguration="ReservationServiceSoap" contract="ReservationServiceReference.ReservationServiceSoap" name="ReservationServiceSoap" /> <endpoint address="http://localhost/reservation/ReservationService.asmx" binding="customBinding" bindingConfiguration="ReservationServiceSoap12" contract="ReservationServiceReference.ReservationServiceSoap" name="ReservationServiceSoap12" /> <endpoint address="http://localhost/wsct/ComplexTourService.asmx" binding="basicHttpBinding" bindingConfiguration="ComplexTourServiceSoap" contract="ComplexTourServiceReference.ComplexTourServiceSoap" name="ComplexTourServiceSoap" /> <endpoint address="http://localhost/checkquotes/CheckQuotesService.asmx" binding="basicHttpBinding" bindingConfiguration="CheckQuotesServiceSoap" contract="CheckQuotesServiceReference.CheckQuotesServiceSoap" name="CheckQuotesServiceSoap" /> <endpoint address="http://localhost/checkquotes/CheckQuotesService.asmx" binding="customBinding" bindingConfiguration="CheckQuotesServiceSoap12" contract="CheckQuotesServiceReference.CheckQuotesServiceSoap" name="CheckQuotesServiceSoap12" /> </client> </system.serviceModel>
В секции <client /> необходимо указать корректные ссылки к сервисам бронирования, проверки наличия мест и к сервису «Сложный тур».
Добавление настроек
Настройки добавляются в секции <appSettings>
<add key="bindCitizenship" value="false" /> <add key="webUserKey" value="777" />
Настройка конфигурационного файла web.config web-сервиса «Сложный тур»
Настройка конфигурационного файла web.config web-сервиса «Сложный тур» включает в себя добавление настроек. Настройки добавляются в секции <appSettings>:
<add key="SelectableCurrencies" value="1,2,3" /> <add key="PacketIDs" value="189,193,195,209,210,212,213,215,216,218,219,243,244" /> <add key="AllowedServiceClassIDs" value="1,2,3,4,5,6" />
Настройка конфигурационного файла web.config web-сервиса бронирования
Настройка конфигурационного файла web.config web-сервиса бронирования включает в себя добавление настроек.
Настройки добавляются в секции <appSettings>:
<add key="mailFrom" value="mail@megatec.ru" /> <add key="rcptTo" value="mail@megatec.ru" /> <add key="addRcptTo" value="mail@megatec.ru" /> <add key="adminEmail" value="mail@megatec.ru" /> <add key="smtpServer" value="smtp.megatec.ru" />
Работа в системе
Формирование состава заказа
Общие параметры заказа
Пользователь выбирает крайние сроки заказа, указывает общее количество туристов и выбирает валюту, в которой будут производиться расчеты по заказу.
К основным параметрам относятся:
- Крайние сроки тура – дата начала и дата окончания оформляемого заказа
- Количество человек – общее количество туристов
Для применения общих параметров необходимо нажать кнопку «Применить», расположенную под блоком «Общие параметры тура».
По нажатию кнопки «Применить» происходит загрузка фильтров в блоке «Добавление услуг».
Данные в фильтрах загружаются в соответствии с наличием цен на услуги в пакетах, ключи которых перечислены в настройке PacketIDs. Ключи пакетов перечисляются через запятую.
Добавление услуг
Пользователь выбирает класс услуги и ее параметры и нажимает кнопку «Добавить», расположенную под блоком фильтров для выбора услуг.
При этом услуга добавляется в разделе «Состав заказа». В блоке «Туристы» добавляется колонка для привязки добавленной услуги к туристам.
По умолчанию услуга привязана сразу ко всем туристам.
Для добавления услуг к составу заказа необходимо определить основные параметры заказа.
В случае изменения крайних сроков в основных параметрах заказа при наличии добавленных к составу заказа услуг, услуги, даты предоставления которых не будут попадать в рамки новых сроков, будут удалены из состава заказа.В этом случае пользователь должен получать предупреждение о возможных последствиях с возможностью отказаться от изменений.
Удаление услуг
Для удаления услуг пользователь нажимает кнопку «Удалить» для выбранной услуги в разделе «Состав заказа».
При удалении услуги из раздела «Состав заказа» в разделе «Туристы» автоматически удаляется соответствующая колонка для привязки данной услуги к туристам.