Тревел-политики (ТП) (Travel_Policy)

Тревел-политики (ТП) (Travel_Policy) - это набор правил и ограничений, установленных в компании клиента, которые применяются к вариантам услуг, выбираемым пользователем в процессе создания командировки.

Перед использованием метода необходимо пройти аутентификацию и получить валидный токен. Подробнее об этом: Авторизация (получение токена)

Для получения контекста ТП используется сервис TravelPolicyManagement.asmx

WSDL можно скачать с демо-сайта: https://stage1.corteos.ru/XmlGate/V3/StaticData/TravelPolicies/TravelPolicyManagement.asmx?wsdl

Для работы в продуктовой среде необходимо заменить “stage1.corteos.ru на свой домен (на котором работают пользователи вашей компании).

В API реализованы следующие методы для работы с ТП:

  • ListByGroupV2 - получение списка ТП агентом по группе клиента. Для выполнения запроса требуется получить контекст агента.

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

  1. GetV2 - получение ТП по первичному ключу (id_Policy);

  2. SaveV2 - создание новой ТП или редактирование существующей;

  3. ListV2 - получение списка ТП группы компаний;

  4. DeleteV2 - удаление ТП по первичному ключу.

Разберем эти методы более подробно.

  1. Получение списка тревел-политик договора (ListByGroupV2)

Для запроса списка тревел-политик по договору необходимо авторизоваться под агентом. Контекст клиента необязателен, то есть можно перебрать сразу несколько договоров и ТП по ним.

Значение id_Agreement - это ID договора в системе: 

Запрос / Ответ


Далее для запроса тревел-политик организации ООО "Ромашка" потребуется значение поля id_CustomerGroup - в данном примере это "8158".

id_CustomerGroup также можно найти на вкладке "Общие" интересующего договора:

Запрос ТП:



HTML/XML

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cor="http://corteos.ru"> <soapenv:Header> <cor:AuthHeader> <!--Optional:--> <cor:Token>60738f57-*-*-ad8e-af5129b1b1f2</cor:Token> </cor:AuthHeader> </soapenv:Header> <soapenv:Body> <cor:ListByGroupV2> <cor:idGroup>8158</cor:idGroup> </cor:ListByGroupV2> </soapenv:Body> </soapenv:Envelope>

 

Метод принимает следующие параметры:

  • id_Group (обязательный) - идентификатор группы клиента

  • id_ReserveType (необязательный) - идентификатор типа заказа, по которому получаем ТП. Если не передавать ничего, будет возвращен список всех доступных ТП

  • Version (необязательный) - идентификатор версии ТП для обеспечения версионности. Если не передавать ничего, будет возвращен список всех доступных ТП

Ответ (ТП в ответе указаны по дате добавления, сортировка "раньше-позже"):

  • компактный вид:

  • развернутый вид (часть): 

HTML/XML

<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> <ListByGroupV2Response xmlns="http://corteos.ru"> <ListByGroupV2Result> <Trace ResponseDate="2019-08-30T20:12:50.7989244+03:00" SessionID="1T8G8HQ2K5G53" IP="212.233.125.182" WebSite="https://prd.corteos.ru"/> <Errors/> <ResponseDetails> <TravelPolicy deleted="false"> <DateCreate>2019-03-19T11:39:54.37</DateCreate> <DateChanged>2019-07-25T10:29:52.397</DateChanged> <id_Policy>4641</id_Policy> <Name>Авиа</Name> <id_Group>8158</id_Group> <id_ReserveType>1</id_ReserveType> <NameLatin>Air</NameLatin> <Version>2</Version> <Description>Авиа</Description> <XML><![CDATA[<?xml version="1.0"?> <AviaEngineV2Policy xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <DepartureTime> <Enabled>false</Enabled> <id_BudgetCode xsi:nil="true" /> <AllowedHoursMin>0</AllowedHoursMin> <AllowedHoursMax>0</AllowedHoursMax> </DepartureTime> <Connections> <Enabled>false</Enabled> <id_BudgetCode xsi:nil="true" /> <MaximumConnectionsValue>0</MaximumConnectionsValue> </Connections> <FlightNumbers> <Enabled>true</Enabled> <id_BudgetCode>607</id_BudgetCode> <ForbiddenFlights> <ForbiddenFlight> <id_BudgetCode>607</id_BudgetCode> <Airline>DP</Airline> </ForbiddenFlight> </ForbiddenFlights> <OnlySelectedFlightsAreAllowed>false</OnlySelectedFlightsAreAllowed> </FlightNumbers> <AirplaneTypes> <Enabled>false</Enabled> <id_BudgetCode xsi:nil="true" /> <ForbiddenAirplaneTypes /> <OnlySelectedAirplanesAreAllowed>false</OnlySelectedAirplanesAreAllowed> </AirplaneTypes> <Geography> <Enabled>false</Enabled> <id_BudgetCode xsi:nil="true" /> <IsAcceptRule>false</IsAcceptRule> </Geography> <DaysToDeparture> <Enabled>true</Enabled> <id_BudgetCode>607</id_BudgetCode> <Days>14</Days> </DaysToDeparture> <WeekDays> <Enabled>false</Enabled> <id_BudgetCode xsi:nil="true" /> <WeekDays /> <ExactDays /> </WeekDays> <AdvancedFareClass> <Enabled>false</Enabled> <id_BudgetCode xsi:nil="true" /> <Routes /> </AdvancedFareClass> <AdvancedPriceDeviations> <Enabled>false</Enabled> <id_BudgetCode xsi:nil="true" /> <Routes /> </AdvancedPriceDeviations> <AdvancedPriceLimits> <Enabled>true</Enabled> <id_BudgetCode>607</id_BudgetCode> <Routes> <AirRoutePriceLimit> <Origins>MOW,LED,ZIA</Origins> <Destinations>KUF,AER,KZN</Destinations> <idCode>607</idCode> <IncludeServiceFee>false</IncludeServiceFee> <LimitExcess xsi:nil="true" /> <OW>6000</OW> <RT>12000</RT> </AirRoutePriceLimit> </Routes> </AdvancedPriceLimits> </AviaEngineV2Policy>]]></XML> <ReserveType>Avia</ReserveType> </TravelPolicy> <TravelPolicy deleted="false"> <DateCreate>2019-03-19T11:43:55.207</DateCreate> <DateChanged>2019-07-25T10:34:39.06</DateChanged> <id_Policy>4643</id_Policy> <Name>ЖД</Name> <id_Group>8158</id_Group> <id_ReserveType>2</id_ReserveType> <NameLatin>Train</NameLatin> <Version>3</Version> <Description>ЖД</Description> <XML><![CDATA[<?xml version="1.0"?> <RailV3Policy xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <TrainType> <Enabled>false</Enabled> <id_BudgetCode xsi:nil="true" /> <AllowedCathegories /> </TrainType> <VagonType> <Enabled>true</Enabled> <id_BudgetCode>607</id_BudgetCode> <AllowedTypes> <TrainFareTypeForTravelPolicy>Coupet</TrainFareTypeForTravelPolicy> <TrainFareTypeForTravelPolicy>Platzcart</TrainFareTypeForTravelPolicy> <TrainFareTypeForTravelPolicy>Seats</TrainFareTypeForTravelPolicy> <TrainFareTypeForTravelPolicy>SapsanEconomy</TrainFareTypeForTravelPolicy> <TrainFareTypeForTravelPolicy>Lastochka</TrainFareTypeForTravelPolicy> <TrainFareTypeForTravelPolicy>Strizh</TrainFareTypeForTravelPolicy> </AllowedTypes> <AllowGivenServiceClassesOnly>false</AllowGivenServiceClassesOnly> </VagonType> <Duration> <Enabled>false</Enabled> <id_BudgetCode xsi:nil="true" /> <DurationHours>0</DurationHours> <DurationHoursTo>0</DurationHoursTo> </Duration> <DaysOfWeek> <Enabled>false</Enabled> <id_BudgetCode xsi:nil="true" /> <WeekDays /> <ExactDays /> </DaysOfWeek> <DaysToDepart> <Enabled>true</Enabled> <id_BudgetCode>606</id_BudgetCode> <Days>14</Days> </DaysToDepart> <Price> <Enabled>false</Enabled> <id_BudgetCode xsi:nil="true" /> <PriceLimitations /> </Price> <Route> <Enabled>false</Enabled> <id_BudgetCode xsi:nil="true" /> <Routes /> </Route> <RoutePrice> <Enabled>false</Enabled> <id_BudgetCode xsi:nil="true" /> <Routes /> </RoutePrice> <DurationByServiceClass> <Enabled>false</Enabled> <id_BudgetCode xsi:nil="true" /> <DurationLimits /> </DurationByServiceClass> </RailV3Policy>]]></XML> <ReserveType>Rail</ReserveType> </TravelPolicy> <TravelPolicy deleted="false"> <DateCreate>2019-06-10T10:43:59.433</DateCreate> <DateChanged>2019-06-10T10:51:07.21</DateChanged> <id_Policy>4829</id_Policy> <Name>Тест</Name> <id_Group>8158</id_Group> <id_ReserveType>1</id_ReserveType> <NameLatin>Test</NameLatin> <Version>2</Version> <Description>Тест</Description> <XML><![CDATA[<?xml version="1.0"?> <AviaEngineV2Policy xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <DepartureTime> <Enabled>false</Enabled> <id_BudgetCode xsi:nil="true" /> <AllowedHoursMin>0</AllowedHoursMin> <AllowedHoursMax>0</AllowedHoursMax> </DepartureTime> <Connections> <Enabled>false</Enabled> <id_BudgetCode xsi:nil="true" /> <MaximumConnectionsValue>0</MaximumConnectionsValue> </Connections> <FlightNumbers> <Enabled>false</Enabled> <id_BudgetCode xsi:nil="true" /> <ForbiddenFlights /> <OnlySelectedFlightsAreAllowed>false</OnlySelectedFlightsAreAllowed> </FlightNumbers> <AirplaneTypes> <Enabled>false</Enabled> <id_BudgetCode xsi:nil="true" /> <ForbiddenAirplaneTypes /> <OnlySelectedAirplanesAreAllowed>false</OnlySelectedAirplanesAreAllowed> </AirplaneTypes> <Geography> <Enabled>true</Enabled> <id_BudgetCode>607</id_BudgetCode> <IsAcceptRule>false</IsAcceptRule> <PrimaryGeographyCodeStrings>KUF,KZN,CN</PrimaryGeographyCodeStrings> <ExceptionCityCodesString>PEK</ExceptionCityCodesString> </Geography> <DaysToDeparture> <Enabled>false</Enabled> <id_BudgetCode xsi:nil="true" /> <Days>0</Days> </DaysToDeparture> <WeekDays> <Enabled>false</Enabled> <id_BudgetCode xsi:nil="true" /> <WeekDays /> <ExactDays /> </WeekDays> <AdvancedFareClass> <Enabled>false</Enabled> <id_BudgetCode xsi:nil="true" /> <Routes /> </AdvancedFareClass> <AdvancedPriceDeviations> <Enabled>false</Enabled> <id_BudgetCode xsi:nil="true" /> <Routes /> </AdvancedPriceDeviations> <AdvancedPriceLimits> <Enabled>false</Enabled> <id_BudgetCode xsi:nil="true" /> <Routes /> </AdvancedPriceLimits> </AviaEngineV2Policy>]]></XML> <ReserveType>Avia</ReserveType> </TravelPolicy> </ResponseDetails> </ListByGroupV2Result> </ListByGroupV2Response> </soap:Body> </soap:Envelope>