XML экспорт/Интеграция — различия между версиями

Материал из TourClient - Руководство пользователя
Перейти к: навигация, поиск
 
(не показаны 11 промежуточные версии 1 участника)
Строка 1: Строка 1:
 +
== Поисковые фильтры ==
 +
[[Файл:API tour filters.png]]
 +
 +
=== Алгоритм работы ===
 +
# Пользователь запрашивает страницу с формой поиска на сайте клиента
 +
# Сайт клиента формирует запрос к сервису [[XML_-_связи_фильтров/Экспорт_связей_фильтров_формы_поиска|Поисковые фильтры]] API TourClient
 +
#* запрашивается фильтр по городу
 +
# Сайт клиента формирует запрос к сервису [[XML_-_связи_фильтров/Экспорт_связей_фильтров_формы_поиска|Поисковые фильтры]] API TourClient
 +
#* запрашивается фильтр по стране
 +
# Сайт клиента формирует запрос к сервису [[XML_-_связи_фильтров/Экспорт_связей_фильтров_формы_поиска|Поисковые фильтры]] API TourClient
 +
#* запрашивается блок фильтров по курортам, отелям, питаниям и т.п.
 +
# Сайт клиента возвращает страницу с сформированной формой поиска
 +
# При необходимости сайт клиента может прокешировать полученные данные в своей БД (для ускорения работы)
 +
# Пользователь изменяет настройки фильтров (например указывает курорт)
 +
# Сайт клиента может выполнить поиск по прокешированным в своей БД данным с соответствующими настройками
 +
# Или сайт клиента может сформировать запрос к сервису [[XML_-_связи_фильтров/Экспорт_связей_фильтров_формы_поиска|Поисковые фильтры]] API TourClient
 +
#* запрашивается блок фильтров по курортам, отелям, питаниям и т.п.
 +
 +
 
== Поиск туров ==
 
== Поиск туров ==
  
 
[[Файл:API tour search.png]]
 
[[Файл:API tour search.png]]
 +
 +
 +
=== Алгоритм работы ===
 +
# Пользователь инициирует новый поиск на сайте клиента
 +
# Сайт клиента формирует запрос к сервису [[XML_-_результаты_поиска/Поиск_туров/Интерфейс_-_Результаты_поиска|Результаты поиска]] API TourClient:
 +
#* Поиск 1-ой страницы (offset = 0, limit = размер страницы, обычно 25-50 туров)
 +
# API TourClient производит поиск и возвращает указанное количество туров:
 +
#* среднее время поиска 5-7 сек
 +
#* в ответе содержится также ключ запроса (SearchStatus.key)
 +
# Сайт клиента инициирует периодический опрос сервис [[XML_-_результаты_поиска/Поиск_туров/Интерфейс_-_Статус_поиска|Статус поиска]] API TourClient:
 +
#* опрашивать сервис целесообразно с частотой 2-3 сек
 +
#* ответ возвращается сразу же
 +
#* в ответе содержится информация об окончании поиска SearchStatus.inProgress
 +
# Сайт клиента обновляет количество найденных туров и количество страниц до тех пор пока не получит ответе статус окончания поиска:
 +
#* SearchStatus.inProgress = false
 +
# Сайт клиента (при необходимости) показывает пользователю сообщение о завершении поиска с предложением обновить результаты
 +
# Пользователь нажимает "обновить результаты"
 +
# Cайт клиента формирует запрос к сервису [[XML_-_результаты_поиска/Поиск_туров/Интерфейс_-_Результаты_поиска|Результаты поиска]] API TourClient:
 +
#* Параметры поискового запроса идентичные запросу в п.2
 +
#* Ответ возвращается сразу же из кеша результатов поиска
 +
 +
 +
Для показа следующих страниц:
 +
# Пользователь инициирует переход на нужную страницу
 +
# Сайт клиента формирует запрос к сервису [[XML_-_результаты_поиска/Поиск_туров/Интерфейс_-_Результаты_поиска|Результаты поиска]] API TourClient:
 +
#* Параметры поискового запроса идентичные запросу производимому на при поиске
 +
#* offset и limit выставляются в соответствии с запрошенной страницей
 +
#* Ответ возвращается сразу же из кеша результатов поиска
 +
#* Время жизни ответа в кеше 15 минут
 +
 +
 +
== Заказ тура ==
 +
[[Файл:API tour book.png]]
 +
 +
=== Алгоритм работы ===
 +
 +
# Пользователь запрашивает страницу с информацией по туру на сайте клиента
 +
# Сайт клиента формирует запрос к сервису [[XML_-_результаты_поиска/Информация_о_туре/Интерфейс|Информация о туре]] API TourClient:
 +
#* в запросе указывается Id тура
 +
# API TourClient возвращает информацию о туре
 +
# Сайт клиента инициирует запрос к сервису [[XML_-_результаты_поиска/Информация_о_туре_из_онлайна/Интерфейс|Информация о туре (онлайн)]] API TourClient:
 +
#* опрашивать сервис нужно без блокировки действий пользователя
 +
#* время ответа зависит от системы туроператора и может доходить до 30 сек
 +
#* в случае невозможности получить данные от туроператора сервис вернет ошибку, эта ситуация должна корректно обрабатываться для пользователя
 +
# Сайт клиента обновляет информацию для тура о цене, наличии мест, вылетах и т.п.
 +
# Пользователь бронирует тур
 +
# Cайт клиента формирует запрос к сервису [[XML_-_бронирование/Отправка_заявки|Отправка заявки]] API TourClient:
 +
#* в ответе возвращается id заказа в системе TourClient
 +
# Номер заказа показывается пользователю
 +
# Система TourClient отправляет уведомление на указанный пользователем email с данными заказа

Текущая версия на 20:47, 1 июня 2016

Поисковые фильтры

API tour filters.png

Алгоритм работы

  1. Пользователь запрашивает страницу с формой поиска на сайте клиента
  2. Сайт клиента формирует запрос к сервису Поисковые фильтры API TourClient
    • запрашивается фильтр по городу
  3. Сайт клиента формирует запрос к сервису Поисковые фильтры API TourClient
    • запрашивается фильтр по стране
  4. Сайт клиента формирует запрос к сервису Поисковые фильтры API TourClient
    • запрашивается блок фильтров по курортам, отелям, питаниям и т.п.
  5. Сайт клиента возвращает страницу с сформированной формой поиска
  6. При необходимости сайт клиента может прокешировать полученные данные в своей БД (для ускорения работы)
  7. Пользователь изменяет настройки фильтров (например указывает курорт)
  8. Сайт клиента может выполнить поиск по прокешированным в своей БД данным с соответствующими настройками
  9. Или сайт клиента может сформировать запрос к сервису Поисковые фильтры API TourClient
    • запрашивается блок фильтров по курортам, отелям, питаниям и т.п.


Поиск туров

API tour search.png


Алгоритм работы

  1. Пользователь инициирует новый поиск на сайте клиента
  2. Сайт клиента формирует запрос к сервису Результаты поиска API TourClient:
    • Поиск 1-ой страницы (offset = 0, limit = размер страницы, обычно 25-50 туров)
  3. API TourClient производит поиск и возвращает указанное количество туров:
    • среднее время поиска 5-7 сек
    • в ответе содержится также ключ запроса (SearchStatus.key)
  4. Сайт клиента инициирует периодический опрос сервис Статус поиска API TourClient:
    • опрашивать сервис целесообразно с частотой 2-3 сек
    • ответ возвращается сразу же
    • в ответе содержится информация об окончании поиска SearchStatus.inProgress
  5. Сайт клиента обновляет количество найденных туров и количество страниц до тех пор пока не получит ответе статус окончания поиска:
    • SearchStatus.inProgress = false
  6. Сайт клиента (при необходимости) показывает пользователю сообщение о завершении поиска с предложением обновить результаты
  7. Пользователь нажимает "обновить результаты"
  8. Cайт клиента формирует запрос к сервису Результаты поиска API TourClient:
    • Параметры поискового запроса идентичные запросу в п.2
    • Ответ возвращается сразу же из кеша результатов поиска


Для показа следующих страниц:

  1. Пользователь инициирует переход на нужную страницу
  2. Сайт клиента формирует запрос к сервису Результаты поиска API TourClient:
    • Параметры поискового запроса идентичные запросу производимому на при поиске
    • offset и limit выставляются в соответствии с запрошенной страницей
    • Ответ возвращается сразу же из кеша результатов поиска
    • Время жизни ответа в кеше 15 минут


Заказ тура

API tour book.png

Алгоритм работы

  1. Пользователь запрашивает страницу с информацией по туру на сайте клиента
  2. Сайт клиента формирует запрос к сервису Информация о туре API TourClient:
    • в запросе указывается Id тура
  3. API TourClient возвращает информацию о туре
  4. Сайт клиента инициирует запрос к сервису Информация о туре (онлайн) API TourClient:
    • опрашивать сервис нужно без блокировки действий пользователя
    • время ответа зависит от системы туроператора и может доходить до 30 сек
    • в случае невозможности получить данные от туроператора сервис вернет ошибку, эта ситуация должна корректно обрабатываться для пользователя
  5. Сайт клиента обновляет информацию для тура о цене, наличии мест, вылетах и т.п.
  6. Пользователь бронирует тур
  7. Cайт клиента формирует запрос к сервису Отправка заявки API TourClient:
    • в ответе возвращается id заказа в системе TourClient
  8. Номер заказа показывается пользователю
  9. Система TourClient отправляет уведомление на указанный пользователем email с данными заказа