...
Code Block |
---|
<sso:CustomOptions> <!--Zero or more repetitions:--><sso:CustomOption> <sso:Key>routeControl</sso:Key> <sso:Value>true</sso:Value> </sso:CustomOption> </sso:CustomOptions> |
Также мы можем передать дополнительные управляющие флаги:
personalDays - список личных дней, в одном заказе гостиницы не может быть и личного и рабочего дня одновременно, передаем в формате гггг-мм-дд через запятую
allowedExtraServices - разрешенные дополнительные услуги, которые можно заказывать после заказа основных
updateMode - признак того, что мы должны перетереть все параметры командировки при входе и заменить их на вновь переданные. Если это поведение не требуется, данный ключ не передаем
Пример использования ключей:
Code Block | ||
---|---|---|
| ||
<sso:CustomOptions> <sso:CustomOption> <sso:Key>routeControl</sso:Key> <sso:Value>true</sso:Value> </sso:CustomOption> <sso:CustomOption> <sso:Key>personalDays</sso:Key> <!<sso:Value>2020-12-Optional:21,2020-->12-22</sso:Value> </sso:CustomOption> <sso:CustomOption> <sso:Key>routeControl<Key>allowedExtraServices</sso:Key> <!--Optional:--><sso:Value>transfer</sso:Value> </sso:CustomOption> <sso:CustomOption> <sso:Key>updateMode</sso:Key> <sso:Value>true<Value>update</sso:Value> </sso:CustomOption> </sso:CustomOptions> |
Кроме того, мы передаем коллекцию блоков с участками маршрута следующего вида:
Code Block |
---|
<sso:RoutePart>
<sso:UniqueId>d043f458-b6e7-4c73-8e06-b6ef615a0ea0</sso:UniqueId>
<sso:DateDepart>2020-11-11</sso:DateDepart>
<!--Optional:-->
<sso:Origin>Самара</sso:Origin>
<!--Optional:-->
<sso: |
...
DateReturn>2020-11-20</sso: |
...
DateReturn> |
...
<sso:Destination>Москва</sso:Destination> <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> |
Разберем структуру этого элемента:
UniqueId - guid, используемый для сравнения участка маршрута. При формировании набора участков в вашей ИС, вы должны сгенерить и сохранить для каждого участка уникальный GUID, который впоследствии будет использован для
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 уже забронированы. Допуслуги(не авиа, жд и отели) могут бронироваться только после того, как все основные услуги в рамках маршрута были заказаны
Info |
---|
Для получения идентификаторов или названий городов отправления и назначения следует использовать веб-сервис получения городов из БД Кортеос. |
Info |
---|
Для тестовой генерации guids используйте веб-сервис: https://www.guidgenerator.com/online-guid-generator.aspx |
Пример использования
Предположим, мы сделали передачу параметров поездки такого вида:
...