Browse Source

Версия 2

* Уточнения в коментариях
* В ключ маршрута добавлен код перевозчика
* Метод редактирования билета
* Тип билета
master
ushmodin 2 years ago
parent
commit
a700e2a7ee
2 changed files with 94 additions and 6 deletions
  1. +28
    -1
      avs5rs_transit.xsd
  2. +66
    -5
      transit.md

+ 28
- 1
avs5rs_transit.xsd View File

@@ -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>

+ 66
- 5
transit.md View File

@@ -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