Note |
---|
Для работы с “жёстким” или “мягким” контейнером командировки необходимо: |
...
<sso:OuterId>
-идентификатор командировки, уникальный номер ( если такой номер командировки уже существует, то произойдет обновление данных)<sso:RoutePart>содержит часть маршрута</sso:RoutePart>
<sso:CustomRoute>содержит полный маршрут</sso:CustomRoute>
<sso:DateDepart>
–datetime, дата отправления пассажира в пункт назначения,<sso:Origin>
-string, начальная точка маршрута. Здесь маршрут начинается в Москве.<sso:Destination>
-string, конечная точка маршрута. Путешествие заканчивается в Санкт-Петербурге.<sso:ServiceType>
Тип услуги. <sso:ServiceType>transport,lodging</sso:ServiceType>
- в этом случае транспорт и проживание.<sso:ServiceType>transport</sso:ServiceType>
- в этом случае услуга относится к транспортной категории. <sso:ServiceType>lodging</sso:ServiceType>
- в этом случае проживание.<sso:DepartureAdvanceShiftDays>
- количество дней до даты отправления, когда возможно забронировать билет. Здесь оно равно нулю, значит бронирование доступно только в день отправления.
<sso:DeparturePostShiftDays>
- период после даты отправления, в течение которого еще возможно забронировать билет. Здесь также равно нулю, значит после даты отправления билеты уже недоступны для бронирования.<sso:BookingSequence>
- в том случае, если нам нужно бронировать услуги друг за другом(например, сперва один участок, а потом другой), то тут передаем последовательность этой процедуры бронирования. Если мы работаем в стандартном режиме: сперва транспорт, потом гостиницы, потом сервисы, то всегда передаем 1
<sso:CustomOption>
-контейнер бизнес-правил в формате ключ-значение(строки), которые содержат информацию о том, как должна система вести себя с командировкой</sso:CustomOption>
Code Block |
---|
<sso:CustomOption>
<sso:Key>routeControl</sso:Key>
<sso:Value>true</sso:Value>
</sso:CustomOption> |
<sso:Key>routeControl</sso:Key>
- включает или выключает логику контроля маршрута,true для командировок, false для личных поездок
Code Block |
---|
<sso:CustomOption>
<sso:Key>automaticServices</sso:Key>
<sso:Value>transport,hotel</sso:Value>
</sso:CustomOption> |
<sso:Key>automaticServices</sso:Key>
- transport,hotel - какие услуги можно бронировать в автоматическом режиме(типы услуг, доступны transport - авиа или жд и hotel - гостиница)
Code Block |
---|
<sso:CustomOption>
<sso:Key>updateMode</sso:Key>
<sso:Value>update</sso:Value>
</sso:CustomOption> |
<sso:Key>updateMode</sso:Key>
- говорит о том, что нужно обновить информацию о командировке
Code Block |
---|
<sso:Persons>
<sso:Person LastName="Лапочкина" FirstName="Елена" MiddleName="Александровна"
LastNameLatin="Lapochkina" FirstNameLatin="Elena" MiddleNameLatin="Aleksandrovna" Gender="false" DateBirth="1980-02-06">
<sso:INN>222222222222</sso:INN>
<sso:KPP>222222222</sso:KPP>
<sso:CountryAlpha2>RU</sso:CountryAlpha2>
<sso:Documents>
<sso:Document CountryCode="RU" DocumentNumber="2323222222" DocumentType="NationalPassport" DateValid="2044-09-04"/>
</sso:Documents>
<sso:Contacts>
<sso:Contact ContactType="MobilePhone" Value="+72222222222"/>
</sso:Contacts>
<sso:PersonalCodes>
<sso:Code DictionaryName="тестнв" CodeValue="1234" IsPrimaryKey="true"/>
</sso:PersonalCodes>
</sso:Person> |
Данные о пассажире:
LastName -string, фамилия персоны на русском языке,
FirstName -string, имя персоны на русском языке,
MiddleName -string,отчество персоны, если нет - передаем пробельный символ,
LastNameLatin, FirstNameLatin, MiddleNameLatin -string, все то же самое, но на английском языке, строка. Если у вас в системе эти данные не хранятся, то русский аналог необходимо транслитерировать по ГОСТ 7.79-2000 (система Б)
Gender - true - мужчина, false - женщина,
DateBirth -datetime, дата рождения,
INN -int, ИНН организации, в которой работает персона,
KPP -int, КПП организации, в которой работает персона.
По полям ИНН и КПП мы привязываем персону к нужной компании.
CountryAlpha2-код страны, гражданином которой является персона
CodeValue-значение кода, предполагается, что оно должно быть уникально внутри справочника с названием DictionaryName - данное ограничение должен отслеживать разработчик клиентского приложения (обязательно для заполнения, не может быть пустым, строка);
IsPrimaryKey- К персоне может быть привязано несколько кодов из разных справочников. Например, Табельный номер (это может быть идентификатор в учетной системе клиента), Категория должности (для применения тревел-политики) и т.п.
...
Данный идентификатор мы используем при SSO переходе на адрес:
https://домен/mods/ssoentrance/go?portalId=CorteosId
Перейдя по этой ссылке мы попадаем на страницу созданной командировки.
Если был включен мод Контейнер командировки: жесткое сохранение структуры маршрута будет автоматически отрисован таймлайн поездки на основании тех параметров которые вы указали при создании командировки
...