Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

...

...

...

...

...


note
Note

Для работы с “жёстким” или “мягким” контейнером командировки необходимо:

...


Обязательно отключить мод Первичный контейнер командировки

Предварительные настройки

1. Произвести настройки Интеграции с SSO - Интеграция с SSO (ModSSOService)
тестhttps://test.sso.corteos.ru
продуктив https://prd.sso.corteos.ru

2.Активировать моды.
В данной задаче моды достаточно просто активировать, через тревел менеджмент управляем настройками клиента от его имени и включаем чекбоксы для того, чтобы моды заработали. Настройку производить нет необходимости сверх базовых настроек SSO-портала.
мод Интеграция с SSO.
мод Контейнер командировки: жесткое сохранение структуры маршрута или
мод Контейнер командировки: мягкое сохранение структуры маршрута

Warning
Мод "Контейнер командировки: жесткое сохранение структуры маршрута" (ModComplexReserveRouteValidation) и мод "Контейнер командировки: мягкое сохранение структуры маршрута" (ModComplexReserveRelaxedRouteValidation)совместно не работают.

3. Для корректного сопоставления персон, нам необходимо создать справочник https://corteos-platform.atlassian.net/wiki/x/PtsK , привязанный ко всем организациям внутри группы клиента, который будет содержать уникальный идентификатор внешней системы, на основании которого будет проводиться обновление данных пассажира. В нашем примере справочник будет называться “Идентификатор в SAP

...


Web Services


Описание службы: http://test.sso.corteos.ru/XmlGate/DataService.asmx
Файл WSDL: https://test.sso.corteos.ru/XmlGate/DataService.asmx?WSDL

...

Code Block
<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>
            <sso:OuterId>2090991100</sso:OuterId>
			<sso:CustomRoute>
				<sso:RoutePart>
					<sso:request>:DateDepart>2024-10-09</sso:DateDepart>
             <sso:DateReturn>2024-10-09</sso:DateReturn>
					<sso:Origin>Москва</sso:Origin>
					<sso:OuterId>0000000001<:Destination>Санкт-Петербург</sso:Destination>
					<sso:ServiceType>transport</sso:OuterId>ServiceType>


          <!--Optional:-->sso:ServiceType>transport,lodging</sso:ServiceType>	
<sso:ServiceType>transport</sso:ServiceType>	
<sso:ServiceType>lodging</sso:ServiceType-->


					<sso:DepartureAdvanceShiftDays>0</sso:DepartureAdvanceShiftDays>
					<sso:DeparturePostShiftDays>0</sso:DeparturePostShiftDays>
					<sso:ReturnAdvanceShiftDays>0</sso:ReturnAdvanceShiftDays>
					<sso:ReturnPostShiftDays>0</sso:ReturnPostShiftDays>
					<sso:BookingSequence>1</sso:BookingSequence>
				</sso:RoutePart>
				<!--sso:RoutePart>
					<sso:DateDepart>2024-10-15</sso:DateDepart>
					<sso:Origin>Санкт-Петербург</sso:Origin>
					<sso:Destination>Москва</sso:Destination>
					<sso:ServiceType>transport</sso:ServiceType>
					<sso:DepartureAdvanceShiftDays>0</sso:DepartureAdvanceShiftDays>
					<sso:DeparturePostShiftDays>0</sso:DeparturePostShiftDays>
					<sso:ReturnAdvanceShiftDays>0</sso:ReturnAdvanceShiftDays>
					<sso:ReturnPostShiftDays>0</sso:ReturnPostShiftDays>
					<sso:BookingSequence>1</sso:BookingSequence>
				</sso:RoutePart-->
			</sso:CustomRoute>
            <sso:CustomOptions>
               <sso:CurrentRoute>CustomOption>
                  <!--Optional:--><sso:Key>routeControl</sso:Key>
                  <sso:Origin>Москва<Value>true</sso:Origin>Value>
               <!--Optional:-->/sso:CustomOption>
                <sso:Destination>Санкт-Петербург</sso:Destination>CustomOption>
                  <sso:DepartureDate>2024-09-21<Key>automaticServices</sso:DepartureDate>Key>
                  <sso:ReturnDate>2024-09-22<Value>transport,hotel</sso:ReturnDate>Value>
               </sso:CurrentRoute>:CustomOption>
                <sso:CustomOption>
                  <!--Optional:--><sso:Key>updateMode</sso:Key>
                  <sso:Persons>:Value>update</sso:Value>
               </sso:CustomOption>
               <!--Zero or more repetitions:-->/sso:CustomOptions>
             <sso:Persons>
               <sso:Person LastName="ЛиЛапочкина" FirstName="ЛидаЕлена" MiddleName="Ивановна" Александровна" 
               LastNameLatin="LiLapochkina" FirstNameLatin="LidaElena" MiddleNameLatin="IvanovnaAleksandrovna" Gender="false" DateBirth="19881980-1002-1106">
                  <!--Optional:--><sso:INN>222222222222</sso:INN>
                  <sso:INN>111111111111<KPP>222222222</sso:INN>KPP>
                  <!--Optional:--><sso:CountryAlpha2>RU</sso:CountryAlpha2>
                  <sso:KPP>111111111</sso:KPP>Documents>
                     <!--Optional:--<sso:Document CountryCode="RU" DocumentNumber="2323222222" DocumentType="NationalPassport" DateValid="2044-09-04"/>
                  <sso:CountryAlpha2>RU<</sso:CountryAlpha2>Documents>
                  <sso:Contacts>
  <!--Optional:-->                   <sso:PersonalCodes>Contact ContactType="MobilePhone" Value="+72222222222"/>
                  </sso:Contacts>
               <!--Zero or more repetitions<sso:-->PersonalCodes>
                     <sso:Code DictionaryName="Табельный номертестнв" CodeValue="000031234" IsPrimaryKey="true" />
                  </sso:PersonalCodes>
               </sso:Person>
            </sso:Persons>
            <!--Optional:-->
            <sso:AccountDetails id_Group="84178418" GroupSecurityKey="359ED6952D6DE573-6B6FCBAD-464E4437-957F90E6-2D2033ACFFD50F4CFE31936C" Email="usr8417@corteosusr8418@corteos.travel"/>>
               <sso:id_Role>1</sso:id_Role>
            </sso:AccountDetails>
         </sso:request>
      </sso:Set>
   </soapenv:Body>
</soapenv:Envelope>

OuterId <sso:OuterId>-идентификатор командировки во внешней системе,
<sso:DateDepart>datetime,  дата отправления пассажира в пункт назначения,
Origin <sso:Origin>-string, город отправления пассажираначальная точка маршрута., название города из справочника городов,
Destination <sso:Destination>-string, город следующего назначения,название города из справочника городов,
DepartureDatedatetime,  дата отправления пассажира в пункт назначения
<sso:ServiceType>Тип услуги.
<sso:ServiceType>transport,lodging</sso:ServiceType> - в этом случае транспорт и проживание,
<sso:ServiceType>transport</sso:ServiceType> - в этом случае услуга относится к транспортной категории. <sso:ServiceType>lodging</sso:ServiceType>- в этом случае транспорт и проживание,
ReturnDate -datetime, дата отправления пассажира обратно,
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

Перейдя по этой ссылке мы попадаем на страницу созданной командировки.

Если был включен мод Контейнер командировки: жесткое сохранение структуры маршрута будет автоматически отрисован таймлайн поездки на основании тех параметров которые вы указали при создании командировки

...

Если был включен мод Контейнер командировки: мягкое сохранение структуры маршрута не будет отрисован таймлайн, он появится только после добавления услуг.

...