Протокол AV5 для интеграции систем продажи электронных билетов перевозчиков и системы GDS
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.

858 lines
34 KiB

<?xml version="1.0" encoding="UTF-8" ?>
<xs:schema xmlns:xs="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="12"/>
<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: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="Station">
<xs:sequence>
<xs:element name="id" type="IDType" minOccurs="1"/>
<xs:element name="name" type="NameType" minOccurs="1"/>
<xs:element name="okato" type="OkatoType" minOccurs="0"/>
<xs:element name="region" type="SimpleStringType" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="TripType">
<xs:restriction base="xs:string">
<xs:enumeration value="INTERNATIONAL"/>
<xs:enumeration value="INTERREGIONAL"/>
<xs:enumeration value="ADJACENT_INTERREGIONAL"/>
<xs:enumeration value="INTERMUNICIPAL"/>
<xs:enumeration value="MUNICIPAL"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="TripStatus">
<xs:restriction base="xs:string">
<xs:enumeration value="ON_SALE"/>
<xs:enumeration value="SUSPENDED"/>
<xs:enumeration value="CANCELED"/>
<xs:enumeration value="DISPATCHED"/>
<xs:enumeration value="UNKNOWN"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="TripClass">
<xs:restriction base="xs:string">
<xs:enumeration value="REGULAR"/>
<xs:enumeration value="CUSTOM"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="TicketClass">
<xs:restriction base="xs:string">
<xs:enumeration value="PASSENGER"/>
<xs:enumeration value="BAGGAGE"/>
<xs:enumeration value="WITHOUT_SEAT"/>
</xs:restriction>
</xs:simpleType>
<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:simpleType name="TicketStatus">
<xs:restriction base="xs:string">
<xs:enumeration value="RESERVED"/>
<xs:enumeration value="SOLD"/>
<xs:enumeration value="CANCELED"/>
<xs:enumeration value="RETURNED"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="Trip">
<xs:sequence>
<xs:element name="id" type="IDType" minOccurs="1"/>
<xs:element name="name" type="NameType" minOccurs="1"/>
<xs:element name="num" type="xs:string" minOccurs="0"/>
<xs:element name="dispatchDate" type="xs:dateTime" minOccurs="1"/>
<xs:element name="arrivalDate" type="xs:dateTime" minOccurs="1"/>
<xs:element name="dispatchStationId" type="IDType" minOccurs="1"/>
<xs:element name="dispatchStationName" type="NameType" minOccurs="1"/>
<xs:element name="arrivalStationId" type="IDType" minOccurs="1"/>
<xs:element name="arrivalStationName" type="NameType" minOccurs="1"/>
<xs:element name="price" type="xs:decimal" minOccurs="1"/>
<xs:element name="carrierName" type="NameType" minOccurs="0"/>
<xs:element name="carrierInn" type="InnType" minOccurs="1"/>
<xs:element name="busInfo" type="xs:string" minOccurs="1"/>
<xs:element name="platform" type="xs:string" minOccurs="0"/>
<xs:element name="type" type="TripType" minOccurs="1"/>
<xs:element name="status" type="TripStatus" minOccurs="1"/>
<xs:element name="tripClass" type="TripClass" minOccurs="0"/>
<xs:element name="seatCount" type="xs:int" minOccurs="1"/>
<xs:element name="freeSeatCount" type="xs:int" minOccurs="1"/>
<xs:element name="routeKey" type="RouteKey" minOccurs="0"/>
</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: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:complexType name="Sale">
<xs:sequence>
<xs:element name="seatId" type="IDType" minOccurs="0"/>
<xs:element name="ticketTypeId" type="IDType" minOccurs="1"/>
<xs:element name="Passenger" type="Passenger" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="TripStop">
<xs:sequence>
<xs:element name="id" type="IDType" minOccurs="1"/>
<xs:element name="name" type="NameType" minOccurs="1"/>
<xs:element name="regionName" type="NameType" minOccurs="0"/>
<xs:element name="dispatchDate" type="xs:dateTime" minOccurs="1"/>
<xs:element name="arrivalDate" type="xs:dateTime" minOccurs="1"/>
<xs:element name="stopTime" type="xs:int" minOccurs="0"/>
<xs:element name="distance" type="xs:int" minOccurs="0"/>
<xs:element name="price" type="xs:decimal" minOccurs="1"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="TicketType">
<xs:sequence>
<xs:element name="id" type="IDType" minOccurs="1"/>
<xs:element name="name" type="NameType" minOccurs="1"/>
<xs:element name="price" type="xs:decimal" minOccurs="1"/>
<xs:element name="ticketClass" type="TicketClass" minOccurs="1"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="DocumentType">
<xs:sequence>
<xs:element name="id" type="IDType" minOccurs="1"/>
<xs:element name="name" type="NameType" minOccurs="1"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="Ticket">
<xs:sequence>
<xs:element name="id" type="IDType" minOccurs="1"/>
<xs:element name="number" type="xs:string" minOccurs="0"/>
<xs:element name="series" type="xs:string" minOccurs="0"/>
<xs:element name="created" type="xs:dateTime" minOccurs="1"/>
<xs:element name="returned" type="xs:dateTime" minOccurs="1"/>
<xs:element name="status" type="TicketStatus" minOccurs="1"/>
<xs:element name="ticketClass" type="TicketClass" minOccurs="1"/>
<xs:element name="typeId" type="IDType" minOccurs="1"/>
<xs:element name="routeNum" type="xs:string" minOccurs="0"/>
<xs:element name="routeName" type="NameType" minOccurs="1"/>
<xs:element name="busInfo" type="xs:string" minOccurs="1"/>
<xs:element name="carrierName" type="xs:string" minOccurs="0"/>
<xs:element name="carrierInn" type="InnType" minOccurs="1"/>
<xs:element name="platform" type="xs:string" minOccurs="0"/>
<xs:element name="dispatchDate" type="xs:dateTime" minOccurs="1"/>
<xs:element name="arrivalDate" type="xs:dateTime" minOccurs="1"/>
<xs:element name="dispatchStation" type="xs:string" minOccurs="1"/>
<xs:element name="arrivalStation" type="xs:string" minOccurs="1"/>
<xs:element name="seatNum" type="xs:int" minOccurs="1"/>
<xs:element name="Passenger" type="Passenger" minOccurs="0"/>
<xs:element name="fare" type="xs:decimal" minOccurs="1"/>
<xs:element name="fees" type="xs:decimal" minOccurs="1"/>
<xs:element name="repayment" type="xs:decimal" minOccurs="0"/>
<xs:element name="insuranceInfo" type="xs:string" minOccurs="1"/>
</xs:sequence>
</xs:complexType>
<xs:element name="EchoRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="message" type="xs:string" minOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="EchoResponse">
<xs:complexType>
<xs:complexContent>
<xs:extension base="AbstractResponse">
<xs:sequence>
<xs:element name="Body">
<xs:complexType>
<xs:sequence>
<xs:element name="message" minOccurs="1" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="GetDispatchStationsRequest">
<xs:complexType>
</xs:complexType>
</xs:element>
<xs:element name="GetDispatchStationsResponse">
<xs:complexType>
<xs:complexContent>
<xs:extension base="AbstractResponse">
<xs:sequence>
<xs:element name="Body">
<xs:complexType>
<xs:sequence>
<xs:element name="Station" type="Station" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="GetArrivalStationsRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="dispatchStationId" type="IDType" minOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="GetArrivalStationsResponse">
<xs:complexType>
<xs:complexContent>
<xs:extension base="AbstractResponse">
<xs:sequence>
<xs:element name="Body">
<xs:complexType>
<xs:sequence>
<xs:element name="Station" type="Station" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="SearchTripsRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="dispatchStationId" type="IDType" minOccurs="1"/>
<xs:element name="arrivalStationId" type="IDType" minOccurs="1"/>
<xs:element name="date" type="xs:date" minOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="SearchTripsResponse">
<xs:complexType>
<xs:complexContent>
<xs:extension base="AbstractResponse">
<xs:sequence>
<xs:element name="Body">
<xs:complexType>
<xs:sequence>
<xs:element name="Trip" type="Trip" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<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:sequence>
<xs:element name="tripId" type="IDType" minOccurs="1"/>
<xs:element name="dispatchStationId" type="IDType" minOccurs="1"/>
<xs:element name="arrivalStationId" type="IDType" minOccurs="1"/>
</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="Seat" type="Seat" maxOccurs="unbounded"/>
<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="GetTicketTypesRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="tripId" type="IDType" minOccurs="1"/>
<xs:element name="dispatchStationId" type="IDType" minOccurs="1"/>
<xs:element name="arrivalStationId" type="IDType" minOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="GetTicketTypesResponse">
<xs:complexType>
<xs:complexContent>
<xs:extension base="AbstractResponse">
<xs:sequence>
<xs:element name="Body">
<xs:complexType>
<xs:sequence>
<xs:element name="TicketType" type="TicketType" maxOccurs="unbounded" minOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="GetDocumentTypesRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="tripId" type="IDType" minOccurs="1"/>
<xs:element name="dispatchStationId" type="IDType" minOccurs="1"/>
<xs:element name="arrivalStationId" type="IDType" minOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="GetDocumentTypesResponse">
<xs:complexType>
<xs:complexContent>
<xs:extension base="AbstractResponse">
<xs:sequence>
<xs:element name="Body">
<xs:complexType>
<xs:sequence>
<xs:element name="DocumentType" type="DocumentType" maxOccurs="unbounded" minOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="GetTripStopsRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="tripId" type="IDType" minOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="GetTripStopsResponse">
<xs:complexType>
<xs:complexContent>
<xs:extension base="AbstractResponse">
<xs:sequence>
<xs:element name="Body">
<xs:complexType>
<xs:sequence>
<xs:element name="Stop" type="TripStop" maxOccurs="unbounded" minOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="BookOrderRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="tripId" type="IDType" minOccurs="1"/>
<xs:element name="dispatchStationId" type="IDType" minOccurs="1"/>
<xs:element name="arrivalStationId" type="IDType" minOccurs="1"/>
<xs:element name="Sale" type="Sale" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="Agent" type="Agent" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="BookOrderResponse">
<xs:complexType>
<xs:complexContent>
<xs:extension base="AbstractResponse">
<xs:sequence>
<xs:element name="Body">
<xs:complexType>
<xs:sequence>
<xs:element name="orderId" type="IDType" minOccurs="1"/>
<xs:element name="lifetime" type="xs:int" minOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="GetOrderRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="orderId" type="IDType" minOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="GetOrderResponse">
<xs:complexType>
<xs:complexContent>
<xs:extension base="AbstractResponse">
<xs:sequence>
<xs:element name="Body">
<xs:complexType>
<xs:sequence>
<xs:element name="orderId" type="IDType" minOccurs="1"/>
<xs:element name="Ticket" type="Ticket" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="ConfirmOrderRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="orderId" type="IDType" minOccurs="1"/>
<xs:element name="Agent" type="Agent" minOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ConfirmOrderResponse">
<xs:complexType>
<xs:complexContent>
<xs:extension base="AbstractResponse">
<xs:sequence>
<xs:element name="Body">
<xs:complexType>
<xs:sequence>
<xs:element name="orderId" type="IDType" minOccurs="1"/>
<xs:element name="Ticket" type="Ticket" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="CancelTicketRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="ticketId" type="IDType" minOccurs="1" maxOccurs="unbounded"/>
<xs:element name="Agent" type="Agent" minOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="CancelTicketResponse">
<xs:complexType>
<xs:complexContent>
<xs:extension base="AbstractResponse">
<xs:sequence>
<xs:element name="Body">
<xs:complexType>
<xs:sequence>
<xs:element name="Ticket" type="Ticket" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="ReturnTicketRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="ticketId" type="IDType" minOccurs="1" maxOccurs="unbounded"/>
<xs:element name="Agent" type="Agent" minOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ReturnTicketResponse">
<xs:complexType>
<xs:complexContent>
<xs:extension base="AbstractResponse">
<xs:sequence>
<xs:element name="Body">
<xs:complexType>
<xs:sequence>
<xs:element name="Ticket" type="Ticket" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="UpdateTicketRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="ticketId" type="IDType"/>
<xs:element name="Passenger" type="Passenger" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="UpdateTicketResponse">
<xs:complexType>
<xs:complexContent>
<xs:restriction base="AbstractResponse"/>
</xs:complexContent>
</xs:complexType>
</xs:element>
<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: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: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: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:schema>