|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452 |
- <?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>
|