Мод позволяет при переходе через SSO передавать подробный маршрут, который будет использован в командировке для контроля целостности заказов.
Для активации мода необходимо предварительно активировать мод “Интеграция с SSO”, после чего активируем сам мод “Детальный маршрут для SSO” в marketplace.
Мод позволяет передавать следующий набор данных при установке параметров перехода:
Для того, чтобы передать детали маршрута из внешней системы, необходимо добавить блок с CustomOption следующего вида, который активирует применения механизма контроля маршрута по командировке:
<sso:CustomOptions> <!--Zero or more repetitions:--> <sso:CustomOption> <!--Optional:--> <sso:Key>routeControl</sso:Key> <!--Optional:--> <sso:Value>true</sso:Value> </sso:CustomOption> </sso:CustomOptions>
Кроме того, мы передаем коллекцию блоков с участками маршрута следующего вида:
<sso:RoutePart> <sso:DateDepart>2020-11-11</sso:DateDepart> <!--Optional:--> <sso:Origin>Самара</sso:Origin> <!--Optional:--> <sso:Destination>Москва</sso:Destination> <!--Optional:--> <sso:ServiceType>transport</sso:ServiceType> <sso:DepartureAdvanceShiftDays>1</sso:DepartureAdvanceShiftDays> <sso:DeparturePostShiftDays>2</sso:DeparturePostShiftDays> <sso:ReturnAdvanceShiftDays>0</sso:ReturnAdvanceShiftDays> <sso:ReturnPostShiftDays>0</sso:ReturnPostShiftDays> <sso:BookingSequence>1</sso:BookingSequence> </sso:RoutePart>
Разберем структуру этого элемента:
DateDepart - дата отправления, обязательный параметр, гггг-мм-дд
DateReturn - дата возвращения, необязательный параметр, используется для формирования маршрута туда и обратно. Для ServiceType == lodging дата является датой выезда и её передача обязательна, формат гггг-мм-дд
Origin - пункт отправления, не заполняется для ServiceType == lodging. Может быть идентификатором или названием города, строка или int.
Destination - пункт назначения, обязательный параметр, может быть идентификатором или названием города, строка или int.
ServiceType - тип услуги - transport для авиа и ж/д, lodging - для отелей
DepartureAdvanceShiftDays - на сколько дней назад можно сдвинуть дату отправления, int. Если двигать дату нельзя, то 0.
DeparturePostShiftDays - на сколько дней вперед можно сдвинуть дату отправления, int. Если двигать дату нельзя, то 0.
ReturnPostShiftDays - на сколько дней вперед можно сдвинуть дату возвращения, int. Если двигать дату нельзя, то 0.
ReturnAdvanceShiftDays - на сколько дней назад можно сдвинуть дату возвращения, int. Если двигать дату нельзя, то 0.
BookingSequence - последовательность бронирования услуг, int. Услугу с большим значением BookingSequence можно бронировать только после того, как все услуги с меньшим BookingSequence уже забронированы. Допуслуги(не авиа, жд и отели) могут бронироваться только после того, как все основные услуги в рамках маршрута были заказаны
Пример использования
Предположим, мы сделали передачу параметров поездки такого вида:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sso="https://sso.corteos.ru/"> <soapenv:Header/> <soapenv:Body> <sso:Set> <!--Optional:--> <sso:request> <!--Optional:--> <sso:OuterId>marina-321</sso:OuterId> <!--Optional:--> <sso:CustomRoute> <!--Zero or more repetitions:--> <sso:RoutePart> <sso:DateDepart>2020-11-10</sso:DateDepart> <sso:DateReturn>2020-11-15</sso:DateReturn> <!--Optional:--> <sso:Origin>Москва</sso:Origin> <!--Optional:--> <sso:Destination>Самара</sso:Destination> <!--Optional:--> <sso:ServiceType>transport</sso:ServiceType> <sso:DepartureAdvanceShiftDays>1</sso:DepartureAdvanceShiftDays> <sso:DeparturePostShiftDays>2</sso:DeparturePostShiftDays> <sso:ReturnAdvanceShiftDays>1</sso:ReturnAdvanceShiftDays> <sso:ReturnPostShiftDays>2</sso:ReturnPostShiftDays> <sso:BookingSequence>1</sso:BookingSequence> </sso:RoutePart> <sso:RoutePart> <sso:DateDepart>2020-11-11</sso:DateDepart> <!--Optional:--> <sso:Origin>Самара</sso:Origin> <!--Optional:--> <sso:Destination>Москва</sso:Destination> <!--Optional:--> <sso:ServiceType>transport</sso:ServiceType> <sso:DepartureAdvanceShiftDays>1</sso:DepartureAdvanceShiftDays> <sso:DeparturePostShiftDays>2</sso:DeparturePostShiftDays> <sso:ReturnAdvanceShiftDays>0</sso:ReturnAdvanceShiftDays> <sso:ReturnPostShiftDays>0</sso:ReturnPostShiftDays> <sso:BookingSequence>1</sso:BookingSequence> </sso:RoutePart> <sso:RoutePart> <sso:DateDepart>2020-11-10</sso:DateDepart> <sso:DateReturn>2020-11-15</sso:DateReturn> <!--Optional:--> <sso:Origin /> <!--Optional:--> <sso:Destination>Самара</sso:Destination> <!--Optional:--> <sso:ServiceType>lodging</sso:ServiceType> <sso:DepartureAdvanceShiftDays>1</sso:DepartureAdvanceShiftDays> <sso:DeparturePostShiftDays>2</sso:DeparturePostShiftDays> <sso:ReturnAdvanceShiftDays>1</sso:ReturnAdvanceShiftDays> <sso:ReturnPostShiftDays>2</sso:ReturnPostShiftDays> <sso:BookingSequence>2</sso:BookingSequence> </sso:RoutePart> </sso:CustomRoute> <!--Optional:--> <sso:CustomOptions> <!--Zero or more repetitions:--> <sso:CustomOption> <!--Optional:--> <sso:Key>routeControl</sso:Key> <!--Optional:--> <sso:Value>true</sso:Value> </sso:CustomOption> </sso:CustomOptions> <!--Optional:--> <sso:AccountDetails id_Group="хх" GroupSecurityKey="test" Email="ххххх@test.ru"> <!--Optional:--> </sso:AccountDetails> </sso:request> </sso:Set> </soapenv:Body> </soapenv:Envelope>