Browse Source

Версия 2

* Уточнения в коментариях
* В ключ маршрута добавлен код перевозчика
* Метод редактирования билета
* Тип билета
master
ushmodin 3 years ago
parent
commit
a700e2a7ee
  1. 29
      avs5rs_transit.xsd
  2. 71
      transit.md

29
avs5rs_transit.xsd

@ -25,7 +25,7 @@
<xs:simpleType name="InnType">
<xs:restriction base="xs:string">
<xs:maxLength value="12"/>
<xs:maxLength value="20"/>
<xs:minLength value="10"/>
</xs:restriction>
</xs:simpleType>
@ -62,6 +62,7 @@
<xs:element name="dispatchStationUid" type="UidType"/>
<xs:element name="arrivalStationUid" type="UidType"/>
<xs:element name="dispatchTime" type="xs:time"/>
<xs:element name="carrierCode" type="InnType"/>
</xs:sequence>
</xs:complexType>
@ -180,6 +181,7 @@
<xs:element name="ticketNumber" type="xs:string" minOccurs="1" maxOccurs="1"/>
<xs:element name="price" type="xs:decimal" minOccurs="1" maxOccurs="1"/>
<xs:element name="relation" type="RelationType" minOccurs="0" maxOccurs="1"/>
<xs:element name="type" type="xs:string" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
@ -364,4 +366,29 @@
</xs:complexType>
</xs:element>
<xs:element name="TransitUpdateTicketRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="RouteKey" type="RouteKey"/>
<xs:element name="Ticket">
<xs:complexType>
<xs:sequence>
<xs:element name="ticketId" type="IDType" minOccurs="1" maxOccurs="unbounded"/>
<xs:element name="isGone" type="xs:boolean" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Agent" type="Agent" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="TransitUpdateTicketResponse">
<xs:complexType>
<xs:complexContent>
<xs:restriction base="AbstractResponse"/>
</xs:complexContent>
</xs:complexType>
</xs:element>
</xs:schema>

71
transit.md

@ -1,9 +1,9 @@
Спецификация протокола взаимной продажи билетов на транзиные рейсы
===========================================================================
**Версия документа: 1.1**
**Версия документа: 2.0**
**Дата изменения: 13.09.2018**
**Дата изменения: 24.09.2018**
Введение
========
@ -17,6 +17,8 @@ UID остановочного пункта это ID станции одина
* UID начальной станции
* UID конечной станции
* время выхода из начальной станции
* индивидуальный номер перевозчика (ИНН,РНН)
Описание протокола
==================
@ -109,7 +111,8 @@ XML-ответ в обязательном порядке имеет корне
### getFreeSeats
Получение списка свободных мест для рейса между указанными станциями. В параметре принимает ключ маршрута, дату и UIDы станции отправления и назначения
Получение списка свободных мест для рейса между указанными станциями. В параметре принимает ключ маршрута, дату и UIDы станции отправления и назначения пассажира.
В случае если рейс начинается в одних сутка а заканчивается в других, необходимо передавать дату в которой рейс находится в станции отправления пассажира.
**URL: \[BASE\_URL\]/transit/getFreeSeats**
@ -127,6 +130,8 @@ XML-ответ в обязательном порядке имеет корне
<arrivalStationUid>90929359890589203498093209904288</arrivalStationUid>
<!-- время отправления со станции отпраления. в часовом поясе станции отправления. -->
<dispatchTime>10:00:00</dispatchTime>
<!-- ИНН перевозчика -->
<carrierCode>141478737450</carrierCode>
</RouteKey>
<!-- Дата отправления рейса со станции посадки поссажира -->
<date>2017-08-11</date>
@ -170,7 +175,10 @@ XML-ответ в обязательном порядке имеет корне
обязана отменить бронь. Допускается бронирование нескольких билетов в рамках одного
заказа. В параметрах запроса передаются ключ маршрута, дата рейса
идентификатор станции отправления, идентификатор станции назначения,
информацию об агенте совершивший эту операцию.
информацию об агенте совершивший эту операцию.
В случае если рейс начинается в одних сутка а заканчивается в других,
необходимо передавать дату в которой рейс находится в станции отправления пассажира.
**URL: \[BASE\_URL\]/transit/bookOrder**
@ -187,6 +195,8 @@ XML-ответ в обязательном порядке имеет корне
<arrivalStationUid>90929359890589203498093209904288</arrivalStationUid>
<!-- время отправления со станции отпраления. в часовом поясе станции отправления. -->
<dispatchTime>10:00:00</dispatchTime>
<!-- ИНН перевозчика -->
<carrierCode>141478737450</carrierCode>
</RouteKey>
<!-- Дата отправления рейса со станции посадки поссажира -->
<date>2017-08-11</date>
@ -238,6 +248,8 @@ XML-ответ в обязательном порядке имеет корне
<arrivalStationUid>90929359890589203498093209904288</arrivalStationUid>
<!-- время отправления со станции отпраления. в часовом поясе станции отправления. -->
<dispatchTime>10:00:00</dispatchTime>
<!-- ИНН перевозчика -->
<carrierCode>141478737450</carrierCode>
</RouteKey>
<Ticket>
<!-- ID билета. Обязательно -->
@ -304,6 +316,8 @@ XML-ответ в обязательном порядке имеет корне
<arrivalStationUid>90929359890589203498093209904288</arrivalStationUid>
<!-- время отправления со станции отпраления. в часовом поясе станции отправления. -->
<dispatchTime>10:00:00</dispatchTime>
<!-- ИНН перевозчика -->
<carrierCode>141478737450</carrierCode>
</RouteKey>
<!-- ID билета. Обязательно -->
<ticketId>4561143</ticketId>
@ -349,7 +363,10 @@ select *
1. первый отрезок получен из индексов станций отправления и назначения билета
2. второй отрезок получен из индексов станций параметров запроса
Второе условие отсекает билеты у которых станция назначения совпадает с станцией отправления из парамеров.
Второе условие отсекает билеты у которых станция назначения совпадает с станцией отправления из парамеров.
В случае если рейс начинается в одних сутка а заканчивается в других,
необходимо передавать дату в которой рейс находится в станции TransitTripInfoRequest/dispatchStationUid.
**URL: \[BASE\_URL\]/transit/getTripInfo**
@ -366,6 +383,8 @@ select *
<arrivalStationUid>90929359890589203498093209904288</arrivalStationUid>
<!-- время отправления со станции отпраления. в часовом поясе станции отправления. -->
<dispatchTime>10:00:00</dispatchTime>
<!-- ИНН перевозчика -->
<carrierCode>141478737450</carrierCode>
</RouteKey>
<!-- Дата отправления рейса со станции посадки поссажира -->
<date>2017-08-11</date>
@ -464,6 +483,8 @@ select *
<arrivalStationUid>90929359890589203498093209904288</arrivalStationUid>
<!-- время отправления со станции отпраления. в часовом поясе станции отправления. -->
<dispatchTime>10:00:00</dispatchTime>
<!-- ИНН перевозчика -->
<carrierCode>141478737450</carrierCode>
</RouteKey>
</TransitRouteInfoRequest>
```
@ -525,4 +546,44 @@ select *
```xml
<?xml version="1.0" encoding="UTF-8"?>
<SetStationInfoResponse/>
```
### TransitUpdateTicket
Редактирование атрибутов билета. Пока реализовано только редактирование флага явки.
**URL: \[BASE\_URL\]/transit/updateTicket**
Запрос:
```xml
<TransitUpdateTicketRequest>
<!-- ключ маршрута -->
<RouteKey>
<!-- UID станции отправления рейса -->
<dispatchStationUid>523243243209840293840293849895781093</dispatchStationUid>
<!-- UID конечной станции -->
<arrivalStationUid>90929359890589203498093209904288</arrivalStationUid>
<!-- время отправления со станции отпраления. в часовом поясе станции отправления. -->
<dispatchTime>10:00:00</dispatchTime>
<!-- ИНН перевозчика -->
<carrierCode>141478737450</carrierCode>
</RouteKey>
<Ticket>
<ticketId>5543543</ticketId>
<isGone>true</isGone>
</Ticket>
<Ticket>
<ticketId>545354</ticketId>
<isGone>false</isGone>
</Ticket>
</TransitUpdateTicketRequest>
```
Ответ:
```xml
<TransitUpdateTicketResponse>
</TransitUpdateTicketResponse>
```
Loading…
Cancel
Save