Versions Compared

Key

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

...

Разберем структуру запроса более детально:

  • OuterId - идентификатор заявки в SAP, по нему система понимает, что делать - обновить существующую командировку(если с таким номером уже был переход ранее) или создать новую

  • CustomRoute - участки маршрута, целостность которых мы контролируем

    • RoutePart - элемент маршрута, один участок

      • Origin - string, обязательный элемент, название или цифровой идентификатор города из справочника городов

      • Destination - string, обязательный элемент, название или цифровой идентификатор города из справочника городов

      • DateDepart - datetime, обязательный элемент, дата отправления пассажира в пункт назначения

      • DateReturn - datetime, не обязательный элемент, нужен для участков вида туда и обратно

      • DepartureAdvanceShiftDays - int, обязательный, на сколько дней назад можно сдвинуть вылет в пункт назначения

      • DeparturePostShiftDays - int, обязательный, на сколько дней вперед можно сдвинуть вылет в пункт назначения

      • ReturnAdvanceShiftDays - int, обязательный, на сколько дней назад можно сдвинуть возвращение в пункт отправления, для маршрута в одну сторону передаем 0

      • ReturnPostShiftDays - int, обязательный, на сколько дней вперед можно сдвинуть возвращение в пункт отправления, для маршрута в одну сторону передаем 0

      • BookingSequence - int, обязательный, в том случае, если нам нужно бронировать услуги друг за другом(например, сперва один участок, а потом другой), то тут передаем последовательность этой процедуры бронирования. Если нас это не волнует, а мы работаем в стандартном режиме: сперва транспорт, потом гостиницы, потом сервисы, то всегда передаем 1

  • Persons - список пассажиров командировки, подробности о структуре данных можно почитать на SSO портале.

  • CustomOptions - контейнер бизнес-правил в формате ключ-значение(строки), которые содержат информацию о том, как должна система вести себя с командировкой

    • routeControl - true для командировок, false для личных поездок, включает или выключает логику контроля маршрута

    • automaticServices - transport,hotel - какие услуги можно бронировать в автоматическом режиме(типы услуг, доступны transport - авиа или жд и hotel - гостиница)

    • allowedExtraServices - какие дополнительные сервисы можно заказывать, в настоящий момент только transfer

    • personalDays - список личных дней через запятую в формате dd-MM-yyyy, правило бронирований отеля такое, что в одном заказе не может быть и личный, и рабочий день

    • updateMode - update - говорит о том, что нужно обновить информацию о командировки(полное перетирание данных новыми)

  • AccountDetails - информация о пользователе для создания аккаунта на лету или входа в систему. Если пассажир также является пользователем, его все равно надо передать в секции Persons, т.е. дублируем данные для унификации.