You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
452 lines
18 KiB
452 lines
18 KiB
<?xml version="1.0" encoding="UTF-8" ?> |
|
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:c="http://www.w3.org/2001/XMLSchema" |
|
elementFormDefault="qualified" |
|
attributeFormDefault="qualified"> |
|
|
|
<xs:simpleType name="IDType"> |
|
<xs:restriction base="xs:string"> |
|
<xs:maxLength value="36"/> |
|
<xs:minLength value="1"/> |
|
</xs:restriction> |
|
</xs:simpleType> |
|
|
|
<xs:simpleType name="NameType"> |
|
<xs:restriction base="xs:string"> |
|
<xs:maxLength value="100"/> |
|
<xs:minLength value="1"/> |
|
</xs:restriction> |
|
</xs:simpleType> |
|
|
|
<xs:simpleType name="OkatoType"> |
|
<xs:restriction base="xs:string"> |
|
<xs:length value="11"/> |
|
</xs:restriction> |
|
</xs:simpleType> |
|
|
|
<xs:simpleType name="InnType"> |
|
<xs:restriction base="xs:string"> |
|
<xs:maxLength value="20"/> |
|
<xs:minLength value="10"/> |
|
</xs:restriction> |
|
</xs:simpleType> |
|
|
|
<xs:simpleType name="SimpleStringType"> |
|
<xs:restriction base="xs:string"> |
|
<xs:maxLength value="100"/> |
|
<xs:minLength value="0"/> |
|
</xs:restriction> |
|
</xs:simpleType> |
|
|
|
|
|
<xs:complexType name="AbstractResponse"> |
|
<xs:sequence> |
|
<xs:element name="Error" minOccurs="0"> |
|
<xs:complexType> |
|
<xs:sequence> |
|
<xs:element name="code" type="xs:string" minOccurs="1"/> |
|
<xs:element name="message" type="xs:string" minOccurs="1"/> |
|
</xs:sequence> |
|
</xs:complexType> |
|
</xs:element> |
|
</xs:sequence> |
|
</xs:complexType> |
|
|
|
<xs:simpleType name="UidType"> |
|
<xs:restriction base="xs:string"> |
|
<xs:length value="36"/> |
|
</xs:restriction> |
|
</xs:simpleType> |
|
|
|
<xs:complexType name="RouteKey"> |
|
<xs:sequence> |
|
<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> |
|
|
|
<xs:complexType name="Agent"> |
|
<xs:sequence> |
|
<xs:element name="name" type="NameType" minOccurs="0"/> |
|
<xs:element name="inn" type="InnType" minOccurs="1"/> |
|
</xs:sequence> |
|
</xs:complexType> |
|
|
|
<xs:complexType name="Seat"> |
|
<xs:sequence> |
|
<xs:element name="id" type="IDType" minOccurs="1"/> |
|
<xs:element name="num" type="xs:int" minOccurs="1"/> |
|
</xs:sequence> |
|
</xs:complexType> |
|
|
|
<xs:simpleType name="GenderType"> |
|
<xs:restriction base="xs:string"> |
|
<xs:enumeration value="MALE"/> |
|
<xs:enumeration value="FEMALE"/> |
|
</xs:restriction> |
|
</xs:simpleType> |
|
|
|
<xs:simpleType name="ErrorCode"> |
|
<xs:restriction base="xs:string"> |
|
<xs:enumeration value="INTERNAL"/> |
|
<xs:enumeration value="NOT_FOUND"/> |
|
<xs:enumeration value="SEAT_OCCUPIED"/> |
|
<xs:enumeration value="PERSONAL_DATA_INCORRECT"/> |
|
</xs:restriction> |
|
</xs:simpleType> |
|
|
|
<xs:element name="SetStationInfoRequest"> |
|
<xs:complexType> |
|
<xs:sequence> |
|
<xs:element name="stationId" type="IDType" minOccurs="1"/> |
|
<xs:element name="uid" type="UidType" minOccurs="1"/> |
|
</xs:sequence> |
|
</xs:complexType> |
|
</xs:element> |
|
|
|
<xs:element name="SetStationInfoResponse"> |
|
<xs:complexType> |
|
<xs:complexContent> |
|
<xs:restriction base="AbstractResponse"/> |
|
</xs:complexContent> |
|
</xs:complexType> |
|
</xs:element> |
|
|
|
<xs:complexType name="TransitSeat"> |
|
<xs:sequence> |
|
<xs:element name="seatId" type="IDType" minOccurs="1"/> |
|
<xs:element name="seatNum" type="xs:int" minOccurs="1"/> |
|
</xs:sequence> |
|
</xs:complexType> |
|
|
|
|
|
<xs:element name="TransitBookRequest"> |
|
<xs:complexType> |
|
<xs:sequence> |
|
<xs:element name="RouteKey" type="RouteKey"/> |
|
<xs:element name="dispatchStationUid" type="UidType"/> |
|
<xs:element name="arrivalStationUid" type="UidType"/> |
|
<xs:element name="date" type="xs:date"/> |
|
<xs:element name="seatId" type="IDType" maxOccurs="unbounded" minOccurs="1"/> |
|
<xs:element name="Agent" type="Agent" minOccurs="1"/> |
|
</xs:sequence> |
|
</xs:complexType> |
|
</xs:element> |
|
|
|
<xs:element name="TransitBookResponse"> |
|
<xs:complexType> |
|
<xs:complexContent> |
|
<xs:extension base="AbstractResponse"> |
|
<xs:sequence> |
|
<xs:element name="Body"> |
|
<xs:complexType> |
|
<xs:sequence> |
|
<xs:element name="TransitTicket" minOccurs="1" maxOccurs="unbounded"> |
|
<xs:complexType> |
|
<xs:sequence> |
|
<xs:element name="ticketId" type="IDType" minOccurs="1"/> |
|
<xs:element name="seatNum" type="xs:int" minOccurs="1"/> |
|
</xs:sequence> |
|
</xs:complexType> |
|
</xs:element> |
|
</xs:sequence> |
|
</xs:complexType> |
|
</xs:element> |
|
</xs:sequence> |
|
</xs:extension> |
|
</xs:complexContent> |
|
</xs:complexType> |
|
</xs:element> |
|
|
|
<xs:simpleType name="RelationType"> |
|
<xs:restriction base="xs:string"> |
|
<xs:enumeration value="OWN"/> |
|
<xs:enumeration value="AGENT"/> |
|
<xs:enumeration value="ATP"/> |
|
</xs:restriction> |
|
</xs:simpleType> |
|
|
|
<xs:element name="TransitConfirmRequest"> |
|
<xs:complexType> |
|
<xs:sequence> |
|
<xs:element name="RouteKey" type="RouteKey"/> |
|
<xs:element name="ticketId" type="IDType" minOccurs="1" maxOccurs="unbounded"/> |
|
<xs:element name="Ticket" maxOccurs="unbounded" minOccurs="1"> |
|
<xs:complexType> |
|
<xs:sequence> |
|
<xs:element name="ticketId" type="IDType" minOccurs="1" maxOccurs="1"/> |
|
<xs:element name="Passenger" type="Passenger" minOccurs="0"/> |
|
<xs:element name="ticketSeries" type="xs:string" minOccurs="1" maxOccurs="1"/> |
|
<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> |
|
<xs:element name="Agent" type="Agent" minOccurs="0"/> |
|
</xs:sequence> |
|
</xs:complexType> |
|
</xs:element> |
|
|
|
<xs:element name="TransitConfirmResponse"> |
|
<xs:complexType> |
|
<xs:complexContent> |
|
<xs:restriction base="AbstractResponse"/> |
|
</xs:complexContent> |
|
</xs:complexType> |
|
</xs:element> |
|
|
|
<xs:element name="TransitCancelRequest"> |
|
<xs:complexType> |
|
<xs:sequence> |
|
<xs:element name="RouteKey" type="RouteKey"/> |
|
<xs:element name="ticketId" type="IDType" minOccurs="1" maxOccurs="unbounded"/> |
|
<xs:element name="Agent" type="Agent" minOccurs="0"/> |
|
</xs:sequence> |
|
</xs:complexType> |
|
</xs:element> |
|
|
|
<xs:element name="TransitCancelResponse"> |
|
<xs:complexType> |
|
<xs:complexContent> |
|
<xs:restriction base="AbstractResponse"/> |
|
</xs:complexContent> |
|
</xs:complexType> |
|
</xs:element> |
|
|
|
|
|
<xs:complexType name="CarrierType"> |
|
<xs:sequence> |
|
<xs:element name="name" type="SimpleStringType" minOccurs="0"/> |
|
<xs:element name="inn" type="InnType" minOccurs="0"/> |
|
</xs:sequence> |
|
</xs:complexType> |
|
|
|
<xs:complexType name="BusType"> |
|
<xs:sequence> |
|
<!--Госномер автобуса--> |
|
<xs:element name="lpn" type="SimpleStringType" minOccurs="0"/> |
|
<!--Шаблон. Например 65 Мест Мягкий. или Автобус 46 мест ( Баг: 92, Стоя: 0 )--> |
|
<xs:element name="template" type="SimpleStringType" minOccurs="0"/> |
|
<!-- Модель. Например FIAT FORD HYUNDAI --> |
|
<xs:element name="model" type="SimpleStringType" minOccurs="0"/> |
|
<!-- Тип --> |
|
<xs:element name="type" minOccurs="0"> |
|
<xs:simpleType> |
|
<xs:restriction base="xs:string"> |
|
<!-- До 5 тон --> |
|
<xs:enumeration value="M1"/> |
|
<!-- От 5 тон --> |
|
<xs:enumeration value="M2"/> |
|
<!-- Тип не указан. Сидения мигкие --> |
|
<xs:enumeration value="SOFT"/> |
|
<!-- Тип не указан. Сидения твердые --> |
|
<xs:enumeration value="HARD"/> |
|
</xs:restriction> |
|
</xs:simpleType> |
|
</xs:element> |
|
<!-- кол-во сидячих мест --> |
|
<xs:element name="maxSeats" type="xs:int"/> |
|
</xs:sequence> |
|
</xs:complexType> |
|
|
|
<xs:complexType name="DriverType"> |
|
<xs:sequence> |
|
<xs:element name="firstName" type="xs:string" minOccurs="1"/> |
|
<xs:element name="lastName" type="xs:string" minOccurs="1"/> |
|
<xs:element name="middleName" type="xs:string" minOccurs="0"/> |
|
<xs:element name="docNum" type="xs:string" minOccurs="0"/> |
|
<xs:element name="docSeries" type="xs:string" minOccurs="0"/> |
|
<xs:element name="docTypeId" type="IDType" minOccurs="1"/> |
|
<xs:element name="birthday" type="xs:date" minOccurs="0"/> |
|
<xs:element name="citizenshipISO2" minOccurs="0"> |
|
<xs:simpleType> |
|
<xs:restriction base="xs:string"> |
|
<xs:length value="2"/> |
|
</xs:restriction> |
|
</xs:simpleType> |
|
</xs:element> |
|
<xs:element name="gender" type="GenderType" minOccurs="0"/> |
|
<xs:element name="phone" type="xs:string" minOccurs="0"/> |
|
<xs:element name="appointment" type="xs:string" minOccurs="0"/> |
|
</xs:sequence> |
|
</xs:complexType> |
|
|
|
<xs:complexType name="Passenger"> |
|
<xs:sequence> |
|
<xs:element name="firstName" type="xs:string" minOccurs="1"/> |
|
<xs:element name="lastName" type="xs:string" minOccurs="1"/> |
|
<xs:element name="middleName" type="xs:string" minOccurs="0"/> |
|
<xs:element name="docNum" type="xs:string" minOccurs="0"/> |
|
<xs:element name="docSeries" type="xs:string" minOccurs="0"/> |
|
<xs:element name="docTypeId" type="IDType" minOccurs="1"/> |
|
<xs:element name="birthday" type="xs:date" minOccurs="0"/> |
|
<xs:element name="citizenshipISO2" minOccurs="0"> |
|
<xs:simpleType> |
|
<xs:restriction base="xs:string"> |
|
<xs:length value="2"/> |
|
</xs:restriction> |
|
</xs:simpleType> |
|
</xs:element> |
|
<xs:element name="gender" type="GenderType" minOccurs="0"/> |
|
<xs:element name="phone" type="xs:string" minOccurs="0"/> |
|
<xs:element name="info" type="xs:string" minOccurs="0"/> |
|
</xs:sequence> |
|
</xs:complexType> |
|
|
|
<xs:element name="GetFreeSeatsRequest"> |
|
<xs:complexType> |
|
<xs:choice> |
|
<xs:sequence> |
|
<xs:element name="RouteKey" type="RouteKey"/> |
|
<xs:element name="date" type="xs:date"/> |
|
<xs:element name="dispatchStationUid" type="UidType"/> |
|
<xs:element name="arrivalStationUid" type="UidType"/> |
|
</xs:sequence> |
|
</xs:choice> |
|
</xs:complexType> |
|
</xs:element> |
|
|
|
<xs:element name="GetFreeSeatsResponse"> |
|
<xs:complexType> |
|
<xs:complexContent> |
|
<xs:extension base="AbstractResponse"> |
|
<xs:sequence> |
|
<xs:element name="Body"> |
|
<xs:complexType> |
|
<xs:choice> |
|
<xs:element name="TransitSeat" type="TransitSeat" maxOccurs="unbounded"/> |
|
</xs:choice> |
|
</xs:complexType> |
|
</xs:element> |
|
</xs:sequence> |
|
</xs:extension> |
|
</xs:complexContent> |
|
</xs:complexType> |
|
</xs:element> |
|
|
|
|
|
<xs:element name="TransitTripInfoRequest"> |
|
<xs:complexType> |
|
<xs:sequence> |
|
<xs:element name="RouteKey" type="RouteKey"/> |
|
<xs:element name="date" type="xs:date"/> |
|
<xs:element name="dispatchStationUid" type="UidType" minOccurs="0"/> |
|
<xs:element name="arrivalStationUid" type="UidType" minOccurs="0"/> |
|
</xs:sequence> |
|
</xs:complexType> |
|
</xs:element> |
|
|
|
<xs:complexType name="TransitTicket"> |
|
<xs:all> |
|
<xs:element name="dispatchStationUid" type="UidType"/> |
|
<xs:element name="dispatchStationName" type="SimpleStringType"/> |
|
<xs:element name="arrivalStationUid" type="UidType"/> |
|
<xs:element name="arrivalStationName" type="SimpleStringType"/> |
|
<xs:element name="Passenger" type="Passenger"/> |
|
<xs:element name="ticketId" type="IDType" minOccurs="1"/> |
|
<xs:element name="ticketSeries" type="xs:string" minOccurs="0" maxOccurs="1"/> |
|
<xs:element name="ticketNumber" type="xs:string" minOccurs="1" maxOccurs="1"/> |
|
<xs:element name="seatNum" type="xs:int" minOccurs="1"/> |
|
<xs:element name="Agent" type="Agent"/> |
|
<xs:element name="price" type="xs:decimal"/> |
|
<xs:element name="isGone" type="xs:boolean" minOccurs="0"/> |
|
</xs:all> |
|
</xs:complexType> |
|
|
|
|
|
<xs:element name="TransitTripInfoResponse"> |
|
<xs:complexType> |
|
<xs:complexContent> |
|
<xs:extension base="AbstractResponse"> |
|
<xs:sequence> |
|
<xs:element name="Body"> |
|
<xs:complexType> |
|
<xs:sequence> |
|
<xs:element name="Ticket" type="TransitTicket" maxOccurs="unbounded" minOccurs="0"/> |
|
<xs:element name="offlineSaleSeats" minOccurs="0"> |
|
<xs:simpleType> |
|
<xs:restriction base="xs:string"> |
|
<xs:pattern value="(\d\,?)+"/> |
|
</xs:restriction> |
|
</xs:simpleType> |
|
</xs:element> |
|
<xs:element name="Carrier" type="CarrierType" minOccurs="0"/> |
|
<xs:element name="Bus" type="BusType" minOccurs="0"/> |
|
<xs:element name="Driver" type="DriverType" minOccurs="0" maxOccurs="unbounded"/> |
|
</xs:sequence> |
|
</xs:complexType> |
|
</xs:element> |
|
</xs:sequence> |
|
</xs:extension> |
|
</xs:complexContent> |
|
</xs:complexType> |
|
</xs:element> |
|
|
|
<xs:element name="TransitRouteInfoRequest"> |
|
<xs:complexType> |
|
<xs:sequence> |
|
<xs:element name="RouteKey" type="RouteKey"/> |
|
<xs:element name="date" type="xs:date"/> |
|
</xs:sequence> |
|
</xs:complexType> |
|
</xs:element> |
|
|
|
<xs:complexType name="RouteItem"> |
|
<xs:sequence> |
|
<xs:element name="order" type="xs:int"/> |
|
<xs:element name="stationName" type="SimpleStringType"/> |
|
<xs:element name="stationUid" type="UidType"/> |
|
<xs:element name="distance" type="xs:integer"/> |
|
<xs:element name="arrivalTime" type="xs:time"/> |
|
<xs:element name="dispatchTime" type="xs:time"/> |
|
</xs:sequence> |
|
</xs:complexType> |
|
|
|
<xs:element name="TransitRouteInfoResponse"> |
|
<xs:complexType> |
|
<xs:complexContent> |
|
<xs:extension base="AbstractResponse"> |
|
<xs:sequence> |
|
<xs:element name="Body"> |
|
<xs:complexType> |
|
<xs:sequence> |
|
<xs:element name="name" type="SimpleStringType"/> |
|
<xs:element name="RouteItem" type="RouteItem" maxOccurs="unbounded"/> |
|
</xs:sequence> |
|
</xs:complexType> |
|
</xs:element> |
|
</xs:sequence> |
|
</xs:extension> |
|
</xs:complexContent> |
|
</xs:complexType> |
|
</xs:element> |
|
|
|
<xs:element name="TransitUpdateTicketRequest"> |
|
<xs:complexType> |
|
<xs:sequence> |
|
<xs:element name="RouteKey" type="RouteKey"/> |
|
<xs:element name="Ticket" maxOccurs="unbounded"> |
|
<xs:complexType> |
|
<xs:sequence> |
|
<xs:element name="ticketId" type="IDType" minOccurs="1"/> |
|
<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>
|
|
|