- <?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="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:sequence>
- <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:sequence>
- </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"/>
- <xs:element name="maxSeats" type="xs:int"/>
- <xs:element name="freeSeats" type="xs:int"/>
- <xs:element name="Carrier" type="CarrierType" minOccurs="0"/>
- </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: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>
|