Здравствуйте,
ВАЖНО: Начать надо сегодня и закончить в четверг!
Нужно написать тестовый интерфейс для SOAP API компании Sabre.
Интересует секция
и ее подпункты
а) Air Availability
b) Air Schedules And Availability
c) Bargain Finder Max
Необходимо функционал:
1) Ввод данных при помощи XML запроса
2) Ввод данных при помощи формы
3) Вывод результатов в табличном виде
4) Возможность выбирать кол-во результатов на странице
5) Возможность задать колонки которые будут фильтроваться
6) Возможность просматривать "сырой" XML ответ в отформатированном виде
Подробнее по фунционалу
1) Мы вводим в texarea xml запрос, который мы самостоятельно составили, например вот такой
<!-- OTA_AirAvailRQ Sample Request Payload -->
<RequestPayload>
<OTA_AirAvailRQ Version="2.2.0" xmlns="
" xmlns:xs="
" xmlns:xsi="
<OriginDestinationInformation>
<FlightSegment DepartureDateTime="12-21">
<DestinationLocation LocationCode="DFW"/>
<OriginLocation LocationCode="HNL"/>
</FlightSegment>
</OriginDestinationInformation>
</OTA_AirAvailRQ>
</RequestPayload>
2) Скрипт сам составляет xml запрос из данных, которые мы вбили в форму. В форме должны быть следующие поля:
- From To: текстовый инпут, 3-х буквенный код аэропорта, например JFK, LHR, DME
- Date from Date to: Datepicker, Дата вылета и прилета
- Flight Type: чекбокс, One way Round trip тип полета, в одну сторону или туда-обратно
- Flight Class: селект, Any, Economy, Business, First
- Number of passengers: текстовый инпут, Кол-во пассажиров
- Passenger age: текстовый инпут, возраст пассажира 18-65 по умолчанию
- Allowed Carrier(s): текстовый инпут, Список разрешенный перевозчиков, один или более, перечисляется через запятую, например AA | AA, BA. Данное поле может быть пустым.
- Blocked Carrier(s): текстовый инпут, Список запрещенных перевозчиков, один или более, перечисляется через запятую, например AA | AA, BA. Данное поле может быть пустым.
- Number of stops: текстовый инпут, кол-во остановок во время полета. Если пусто, то неограниченное кол-во, если 0 то прямой полет, без остановок, если 1-2-3 то разрешено максимум 1-2-3 остановки
- Connecting Airport: текстовый инпут, Аэропорт или аэропорты, где возможны стыковки. Например: JFK | JFK, EWR
- Booking Class: текстовый инпут, Код класса: B | C, D, K
- Exclude Codeshare Чекбокс, Исключать Кодшер полеты, пример: рейс AA1001 operated by BA
- Flight Number: текстовый инпут, Номер полета, на котором искать билеты. Например: SU101, BA1234
3) Из полученного xml ответа сформировать таблицу, в которой будет представлен ответ в отформатированном виде. Поскольку мы не знаем, сколько колонок в таблице будет, то выводим все данные в разных колонках. По умолчанию отображаются все возможные колонки, которые формируются из ответа.
4) Сколько результатов поиска отображать в таблице, по умолчанию все результаты
5) Возможно нам понадобятся не все колонки, которые мы получим в результате поиска. В данном файле разделе мы будем указывать колонки, которые нам не нужны и которые выводить не надо.
6) В отдельном окне отображать полученный XLM ответ в сыром виде. Нужно минимальное форматирование, такое как тут:
Крайне желательно, что бы у вас был уже опыт в работе с подобным или подобными API travel, airline тематики.
Язык реализации желателен PHP, но в принципе мы им не ограничены.
К реализации надо приступить сегодня, у нас ограниченный по времени доступ.
Опыт работы с SOAP API обязателен!