Package com.artmark.gds.service
Interface SoapService
public interface SoapService
Внешний интерфейс сервиса по продаже билетов. Используется для доступа к сервису по протоколу SOAP.
Данный интерфейс рекомендован для динамических языков (PHP), однако может быть использован и со статическими
языками программирования.
- Since:
- 24.10.2013 18:04
- Author:
- V.Skorykh
-
Method Summary
Modifier and TypeMethodDescriptioncom.artmark.gds.domain.hibernate.model.Order
Бронирование заказа.com.artmark.gds.domain.hibernate.model.Order
cancelOrder
(long orderId) Отмена заказа.com.artmark.gds.domain.hibernate.model.Ticket
cancelTicket
(long ticketId) Отмена билета в заказе.com.artmark.gds.domain.hibernate.model.Order
confirmOrder
(long orderId, String paymentMethod, List<com.artmark.gds.domain.hibernate.model.TicketOption> options) Подтверждение оплаты заказа с возможностью изменить опции продажи.Эхо-метод, возвращающий ту же строку, что и получил.List<com.artmark.gds.domain.hibernate.model.Point>
getArrivalPoints
(long dispatchPointId, String pattern) Получение списка пунктов прибытия для заданного пункта отправления.com.artmark.gds.domain.hibernate.model.Carrier
getCarrier
(long ticketId) Получить информацию о перевозчике по идентификатору билетаList<com.artmark.gds.domain.hibernate.model.Country>
Получение списка стран.com.artmark.gds.domain.hibernate.model.DepotInfo
getDepotInfo
(long depotId) Получение информации об автовокзале.List<com.artmark.gds.domain.hibernate.model.DepotInfo>
getDepots
(long pointId) Получение списка автовокзалов, доступных для заданного пункта отправления.List<com.artmark.gds.domain.hibernate.model.Point>
getDispatchPoints
(long regionId) Получение списка доступных пунктов отправления, из которых возможно приобретение билетовList<com.artmark.gds.domain.hibernate.model.DocType>
getDocTypes
(String uid) Получение списка типов документов, удостоверяющих личность, допустимых пи оформлении билетов.com.artmark.gds.domain.hibernate.model.Order
getOrder
(long orderId) Получение информации о заказе.com.artmark.gds.domain.hibernate.model.Race
Получение информации о рейсе.com.artmark.gds.domain.hibernate.model.Carrier
getRaceCarrier
(String uid) Получить информацию о перевозчике на рейсе.List<com.artmark.gds.domain.hibernate.model.Race>
Получение списка рейсов на заданную дату.List<com.artmark.gds.domain.hibernate.model.Seat>
getRaceSeats
(String uid) Получение списка свободных мест на рейсе.List<com.artmark.gds.domain.hibernate.model.Stop>
getRaceStops
(String uid) Получение списка остановок на рейсе.com.artmark.gds.domain.hibernate.model.RaceSummary
getRaceSummary
(String uid) Получение сводной информации о рейсе.com.artmark.gds.domain.hibernate.model.Reference
getReference
(String code) Получение информации из вспомогательного справочника.List<com.artmark.gds.domain.hibernate.model.Region>
getRegions
(long countryId) Получение списка регионов страныcom.artmark.gds.domain.hibernate.model.ReturnInfo
getReturnInfo
(long ticketId) Получить информацию о правиле возврата, применимом для билета на текеущий моментcom.artmark.gds.domain.hibernate.model.Ticket
getTicket
(long ticketId) Получение информации о билете.List<com.artmark.gds.domain.hibernate.model.TicketType>
getTicketTypes
(String uid) Получение списка типов билетов, доступных для продажи.Получение информации о версии GDS.com.artmark.gds.domain.hibernate.model.Ticket
returnTicket
(long ticketId) Возврат билета.com.artmark.gds.domain.hibernate.model.Ticket
updateTicket
(long ticketId, com.artmark.gds.domain.hibernate.model.Sale sale) Изменение персональных данных пассажира в забронированном или проданном билете.
-
Method Details
-
getVersion
String getVersion()Получение информации о версии GDS. Метод может использоваться для проверки доступности GDS.- Returns:
- Информация о версии GDS
-
echo
Эхо-метод, возвращающий ту же строку, что и получил. Может быть использован для проверки корректности работы с кодировками строк.- Parameters:
message
- Отправляемое сообщение- Returns:
- Получаемое сообщение. Должно соответствовать отправленному
-
getCountries
List<com.artmark.gds.domain.hibernate.model.Country> getCountries()Получение списка стран. Список может использоваться для поиска пунктов отправления и для выбора гражданства.- Returns:
- Список стран
-
getRegions
Получение списка регионов страны- Parameters:
countryId
- ID страны- Returns:
- Список регионов
-
getDepots
List<com.artmark.gds.domain.hibernate.model.DepotInfo> getDepots(long pointId) throws ServiceException Получение списка автовокзалов, доступных для заданного пункта отправления. Возвращает актуальную информацию по статусу автовокзала (онлайн/оффлайн). Поскольку составление списка сопровождается опросом автовокзалов, данные метод имеет довольно низкую производительность и может зависать, если какой-то автовокзал только что ушел в оффлайн. Не рекомендуется вызывать очень часто. Рекомендуется кэшировать результат.- Parameters:
pointId
- ID пункта отправления, для которого надо получить список автовокзалов. Если указан 0, то возвращается полный список пунктов отправления.- Returns:
- Список автовокзалов
- Throws:
ServiceException
- Since:
- 1.14.2
-
getDepotInfo
Получение информации об автовокзале. Функция может быть полезна для того, чтобы определить, какие возможности реализованы для данного автовокзала, узнать его адрес и условия работы. Рекомендуется кэшировать результат.- Parameters:
depotId
- ID автовокзала- Returns:
- Информация об автовокзале
- Throws:
ServiceException
-
getDispatchPoints
Получение списка доступных пунктов отправления, из которых возможно приобретение билетов- Parameters:
regionId
- ID региона Если 0, то возвращается список для всех регионов- Returns:
- Список мест, из которых можно купить билеты
-
getArrivalPoints
List<com.artmark.gds.domain.hibernate.model.Point> getArrivalPoints(long dispatchPointId, String pattern) Получение списка пунктов прибытия для заданного пункта отправления.- Parameters:
dispatchPointId
- ID места отправленияpattern
- Образец названия станции для поиска. Если null или пустая строка - возвращаются все записи.- Returns:
- Список мест прибытия. Если указан pattern, то в списке будут только станции, название которых начинается на буквы, указанные в образце. Регистр не учитывается.
-
getRaces
List<com.artmark.gds.domain.hibernate.model.Race> getRaces(long dispatchPointId, long arrivalPointId, Date date) throws ServiceException Получение списка рейсов на заданную дату. После запроса к автовокзалу информация о рейсах помещается в кэш для повторного использования. Времия жизни данных в кэше составляет минимум 15 минут.- Parameters:
dispatchPointId
- ID места отправленияarrivalPointId
- ID места прибытияdate
- Дата отправления- Returns:
- Список рейсов
- Throws:
ServiceException
-
getRace
Получение информации о рейсе. Ожидается, что данная операция вызывается непосредственно перед началом оформления брони, поэтому информация о рейсе не кэшируется. Для предотвращения излишней нагрузки на автовокзал следует избегать неоправданно большого количества вызовов данного метода.- Parameters:
uid
- Универсальный идентификатор рейса- Returns:
- Информация о рейсе
- Throws:
ServiceException
-
getRaceStops
Получение списка остановок на рейсе.- Parameters:
uid
- Универсальный идентификатор рейса- Returns:
- Список остановок
- Throws:
ServiceException
-
getRaceSeats
Получение списка свободных мест на рейсе.- Parameters:
uid
- Универсальный идентификатор рейса- Returns:
- Список свободных мест
- Throws:
ServiceException
-
getRaceCarrier
Получить информацию о перевозчике на рейсе.- Parameters:
uid
- Race UID- Returns:
- Информация о перевозчике
- Throws:
ServiceException
-
getTicketTypes
List<com.artmark.gds.domain.hibernate.model.TicketType> getTicketTypes(String uid) throws ServiceException Получение списка типов билетов, доступных для продажи.- Parameters:
uid
- Универсальный идентификатор рейса- Returns:
- Список типов билетов. Включает информацию о цене.
- Throws:
ServiceException
-
getDocTypes
List<com.artmark.gds.domain.hibernate.model.DocType> getDocTypes(String uid) throws ServiceException Получение списка типов документов, удостоверяющих личность, допустимых пи оформлении билетов.- Parameters:
uid
- Универсальный идентификатор рейса- Returns:
- Список типов документов
- Throws:
ServiceException
-
getRaceSummary
com.artmark.gds.domain.hibernate.model.RaceSummary getRaceSummary(String uid) throws ServiceException Получение сводной информации о рейсе. Если логика приложения требует последывательно вызывать методы getDepotInfo(), getRace(), getRaceStops(), getRaceSeats(), getTicketTypes() и getDocTypes(), то использование данного метода позволит сократить накладные расходы на передачу данных и получить все данные одним HTTP-запросом.- Parameters:
uid
- Универсальный идентификатор рейса- Returns:
- Сводная информация о рейсе
- Throws:
ServiceException
- Since:
- 1.7
-
bookOrder
com.artmark.gds.domain.hibernate.model.Order bookOrder(String uid, com.artmark.gds.domain.hibernate.model.Sale[] sales) throws ServiceException Бронирование заказа. Бронь сохраняется в течение ограниченного времени, от 20 до 60 минут. Если в указанный период времени не поступает подтверждение оплаты через метод confirmOrder(), то бронирование автоматически отменяется.- Parameters:
uid
- Универсальный идентификатор рейсаsales
- Информация о бронируемых билетах. За один раз может быть забронировано сразу несколько мест.- Returns:
- Информация о сформированном заказе и билетах. Может быть неполной, так как на момент бронирования не все атрибуты заказа и билетов известны.
- Throws:
ServiceException
-
confirmOrder
com.artmark.gds.domain.hibernate.model.Order confirmOrder(long orderId, String paymentMethod, List<com.artmark.gds.domain.hibernate.model.TicketOption> options) throws ServiceException Подтверждение оплаты заказа с возможностью изменить опции продажи. Необходимо вызывать после получение уведомления об оплате заказа.- Parameters:
orderId
- ID заказаpaymentMethod
- Способ оплаты. Допустимые значения: "Наличный расчет" - при оплате наличными, "По банковской карте" - при безналичной оплате.options
- Опции продажи для билетов или null, если опций нет.- Returns:
- Информация о заказе и билетах, дополненая после продажи.
- Throws:
ServiceException
- Since:
- 1.13.4
-
getOrder
Получение информации о заказе.- Parameters:
orderId
- ID заказа- Returns:
- Информация о заказе и билетах. Извлекается из локальной базы GDS, статус заказа может не соответствовать реальному статусу заказа на автовокзале.
- Throws:
ServiceException
-
getTicket
Получение информации о билете.- Parameters:
ticketId
- ID билета- Returns:
- Информация о билете. Извлекается из локальной базы GDS, статус билета может не соответствовать реальному статусу билетов на автовокзале.
- Throws:
ServiceException
- Since:
- 1.7
-
getCarrier
Получить информацию о перевозчике по идентификатору билета- Parameters:
ticketId
- ID билета- Returns:
- Информация о перевозчике
- Throws:
ServiceException
-
updateTicket
com.artmark.gds.domain.hibernate.model.Ticket updateTicket(long ticketId, com.artmark.gds.domain.hibernate.model.Sale sale) throws ServiceException Изменение персональных данных пассажира в забронированном или проданном билете. Изменение типа билета, номера места или информации о льготе не поддерживается. На данный момент метод работает только для автовокзалов, использующих АСУ "Е-автовокзал". Для других систем будет поднят UnsupportedException. Поскольку персональные данные пассажиров передаются в ЗащитуИнфорТранс, желательно ограничивать время, в течение которого возможно исправление персональных данных пассажира.- Parameters:
ticketId
- ID Билетаsale
- Обновленная информация. Исправить можно только персональные данные пассажира, изменение типа билета или номера места не поддерживается.- Returns:
- Билет с обновленной информацией.
- Throws:
ServiceException
- Since:
- 1.7
-
returnTicket
Возврат билета. Расчет суммы, подлежащей возврату, производится сервером автовокзала.- Parameters:
ticketId
- ID билета- Returns:
- Информация по билету после выполнения возврата
- Throws:
ServiceException
-
cancelOrder
Отмена заказа. При отмене заказа, который забронирован, но еще не оплачен, заказ помечается на удаление. Операция не приводит к освобождению забронированных мест, бронь снимается только по истечении срока бронирования заказа. При отмене заказа, который оплачен, делается попытка отмены заказа на сервере автовокзала. Возможен exception, если операция не поддерживается или отмена невозможна. ВНИМАНИЕ! Следует исходить из того, что в некоторых системах выполнение отмены заказа не поддерживается. В других же системах отмена возможна только в течение некоторого времени (~15 минут) после продажи. Если заказ не был оплачен, принудительно отменять его не надо.- Parameters:
orderId
- ID заказа- Returns:
- Информация о заказе после отмены
- Throws:
ServiceException
-
cancelTicket
Отмена билета в заказе.- Parameters:
ticketId
- ID билета- Returns:
- Информация об отмененном билете
- Throws:
ServiceException
- Since:
- 1.10
-
getReference
Получение информации из вспомогательного справочника.- Parameters:
code
- Код справочника. Например: 'payment_methods' - допустимые способы оплаты заказа (значения используются при вызове confirmOrder()), 'kuzb_schools' - код справочника учебных заведений Кемеровской области.- Returns:
- Справочник
- Throws:
ServiceException
- Since:
- 1.5
-
getReturnInfo
com.artmark.gds.domain.hibernate.model.ReturnInfo getReturnInfo(long ticketId) throws ServiceException Получить информацию о правиле возврата, применимом для билета на текеущий момент- Parameters:
ticketId
- ID билета- Returns:
- Информация о правиле возврата
- Throws:
ServiceException
- Since:
- 1.14.12
-