Versions Compared

Key

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

...

Code Block
languagexml
<sso:PersonalCodes>
    <sso:Code DictionaryName="Идентификатор в SAP" CodeValue="1234" IsPrimaryKey="true"/>
</sso:PersonalCodes>

Переход в Corteos

В ответе веб-сервиса нам следует обратить внимание на поле CorteosId:

Code Block
languagexml
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <soap:Body>
      <SetResponse xmlns="https://sso.corteos.ru/">
         <SetResult>
            <OuterId>2000000171</OuterId>
            <CustomRoute>
               <RoutePart>
                  <DateDepart>2020-12-14T00:00:00</DateDepart>
                  <DateReturn xsi:nil="true"/>
                  <Origin>Москва</Origin>
                  <Destination>Санкт-Петербург</Destination>
                  <DepartureAdvanceShiftDays>1</DepartureAdvanceShiftDays>
                  <DeparturePostShiftDays>1</DeparturePostShiftDays>
                  <ReturnAdvanceShiftDays>0</ReturnAdvanceShiftDays>
                  <ReturnPostShiftDays>0</ReturnPostShiftDays>
                  <BookingSequence>1</BookingSequence>
               </RoutePart>
               <RoutePart>
                  <DateDepart>2020-12-16T00:00:00</DateDepart>
                  <DateReturn xsi:nil="true"/>
                  <Origin>Самара</Origin>
                  <Destination>Санкт-Петербург</Destination>
                  <DepartureAdvanceShiftDays>1</DepartureAdvanceShiftDays>
                  <DeparturePostShiftDays>1</DeparturePostShiftDays>
                  <ReturnAdvanceShiftDays>0</ReturnAdvanceShiftDays>
                  <ReturnPostShiftDays>0</ReturnPostShiftDays>
                  <BookingSequence>1</BookingSequence>
               </RoutePart>
            </CustomRoute>
            <CustomOptions>
               <CustomOption>
                  <Key>routeControl</Key>
                  <Value>true</Value>
               </CustomOption>
               <CustomOption>
                  <Key>automaticServices</Key>
                  <Value>transport,hotel</Value>
               </CustomOption>
               <CustomOption>
                  <Key>allowedExtraServices</Key>
                  <Value>transfer</Value>
               </CustomOption>
               <CustomOption>
                  <Key>updateMode</Key>
                  <Value>update</Value>
               </CustomOption>
            </CustomOptions>
            <Persons>
               <Person LastName="Максимов" FirstName="Максим" MiddleName="Максимович" LastNameLatin="Maximov" FirstNameLatin="Maxim" MiddleNameLatin="Maximovich" Gender="true" DateBirth="2000-02-01T00:00:00">
                  <INN>987987987</INN>
                  <KPP>779901001</KPP>
                  <CountryAlpha2>RU</CountryAlpha2>
                  <Documents>
                     <Document CountryCode="RU" DocumentNumber="4505111222" DocumentType="NationalPassport" DateValid="2030-10-10T00:00:00"/>
                  </Documents>
                  <Contacts>
                     <Contact ContactType="MobilePhone" Value="+79162223311"/>
                  </Contacts>
                  <PersonalCodes>
                     <Code DictionaryName="Идентификатор в SAP" CodeValue="1234" IsPrimaryKey="true"/>
                  </PersonalCodes>
               </Person>
            </Persons>
            <BudgetCodes/>
            <AccountDetails id_Group="xxx" GroupSecurityKey="xxxx" Email="xxxx@xxxxx.ru">
            </AccountDetails>
            <id_User>xxxx</id_User>
            <CorteosId>xxxx-xxx-xxx-xxxx-xxxxxxxxx</CorteosId>
            <CreationDate>2020-11-16T20:02:37.1565805+03:00</CreationDate>
            <AugmentationData>
               <xml xmlns=""/>
            </AugmentationData>
         </SetResult>
      </SetResponse>
   </soap:Body>
</soap:Envelope>

Значение выглядит таким образом:

Code Block
languagexml
 <CorteosId>xxxx-xxx-xxx-xxxx-xxxxxxxxx</CorteosId>

Данный идентификатор мы используем при SSO переходе на адрес: домен/mods/ssoentrance/go?portalId={CorteosId}

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

...

Как видно на картинке, OuterId был передан и отображается в шапке командировки. Далее мы можем делать заказы транспортных услуг:

...

При создании заказа мы видим логику применения ограничений по изменению дат и направлений маршрута:

...

После того, как на какую-либо услугу был создан заказ, она убирается из списка доступных услуг:

Image Added

Как только мы создали оба заказа на транспортные участки, нам становится доступно бронирование отеля:

...

При поиске гостиниц используются те же ограничения на участки маршрута, что и для транспортных услуг:

...

После того, как список доступных для заказа услуг исчерпан, возможность бронирования исчезает:

...