New functions 2013 01
m |
m (→Add one or multiple segments into existing PNR) |
||
(9 intermediate revisions by one user not shown) | |||
Line 9: | Line 9: | ||
<Issue > | <Issue > | ||
<TicketMods> | <TicketMods> | ||
− | <TicketMod | + | <TicketMod PaxRefs="Pax_003 Pax_004"> |
<Endorsment>PP/123456789</Endorsment> | <Endorsment>PP/123456789</Endorsment> | ||
<Payments> | <Payments> | ||
<Payment Currency="EUR" Amount="412.0" FOP="CC"> | <Payment Currency="EUR" Amount="412.0" FOP="CC"> | ||
− | <CreditCard AccountNumber="1111222233334444" ExpirationDate="2014-12" CardHolder=" | + | <CreditCard AccountNumber="1111222233334444" ExpirationDate="2014-12" CardHolder="Vassily Pupkin" PaymentSystem="VI"/> |
</Payment> | </Payment> | ||
</TicketMod> | </TicketMod> | ||
Line 20: | Line 20: | ||
<Display ItineraryReceipts="true" TicketData="true"/> | <Display ItineraryReceipts="true" TicketData="true"/> | ||
</SIG_AirBookRQ></syntaxhighlight> | </SIG_AirBookRQ></syntaxhighlight> | ||
− | |||
=== Void some of issued tickets === | === Void some of issued tickets === | ||
Line 69: | Line 68: | ||
<syntaxhighlight lang="xml"> | <syntaxhighlight lang="xml"> | ||
<SIG_AirFindPnrRQ CustomerID="TestUser"> | <SIG_AirFindPnrRQ CustomerID="TestUser"> | ||
− | <BookingIdentity LastName="Ivanov | + | <BookingIdentity LastName="Ivanov" Airline="S7" Flight="120" Date="2014-01-18" CRS="1G"/> |
</SIG_AirFindPnrRQ></syntaxhighlight> | </SIG_AirFindPnrRQ></syntaxhighlight> | ||
Надо решить, что отправлять в ответ - самый простой для нас - всегда возвращать список найденных локаторов. Но было бы красиво в случае, если найден только один заказ возвращать ответ на GetPNR. А в случае нескольких - возвращать тоже ответ на GetPNR для первого локатора, а остальные списком вставить в ответ в специальный тэг. | Надо решить, что отправлять в ответ - самый простой для нас - всегда возвращать список найденных локаторов. Но было бы красиво в случае, если найден только один заказ возвращать ответ на GetPNR. А в случае нескольких - возвращать тоже ответ на GetPNR для первого локатора, а остальные списком вставить в ответ в специальный тэг. | ||
Кстати - в этом случае искать придётся во всех подключенных системах? Или будем определять одну системы по АК? | Кстати - в этом случае искать придётся во всех подключенных системах? Или будем определять одну системы по АК? | ||
− | |||
=== Divide PNR === | === Divide PNR === | ||
Line 80: | Line 78: | ||
<SIG_AirBookRQ CustomerID="TestUser"> | <SIG_AirBookRQ CustomerID="TestUser"> | ||
<BookingIdentity BookingReference="QS4HDG/S7" LeadPassenger="Ivanov"/> | <BookingIdentity BookingReference="QS4HDG/S7" LeadPassenger="Ivanov"/> | ||
− | < | + | <Divide PaxRefs="paxadt01 paxchd04"/> |
− | + | ||
− | + | ||
</SIG_AirBookRQ></syntaxhighlight> | </SIG_AirBookRQ></syntaxhighlight> | ||
Возвращаем ответ на GetPNR для отделённого заказа. Так же в оригинальный заказ надо вставить информацию об отделённом заказе, возможно ремаркой. И добавить для таких локаторов тэги в интерфейсе Wev сервиса. | Возвращаем ответ на GetPNR для отделённого заказа. Так же в оригинальный заказ надо вставить информацию об отделённом заказе, возможно ремаркой. И добавить для таких локаторов тэги в интерфейсе Wev сервиса. | ||
− | |||
=== Queue management === | === Queue management === | ||
+ | Запрос непустых очередей | ||
<syntaxhighlight lang="xml"> | <syntaxhighlight lang="xml"> | ||
− | < | + | <SIG_QueueRQ CustomerID="TestUser"> |
− | < | + | <GetCounts/> |
− | </ | + | </SIG_QueueRQ> |
+ | </syntaxhighlight> | ||
− | Возвращаем список | + | Возвращаем список очередей: |
<syntaxhighlight lang="xml"> | <syntaxhighlight lang="xml"> | ||
− | < | + | <SIG_QueueRS CustomerID="TestUser"> |
− | < | + | <QueueInfo Interface="SITA-TEST" CRS="S7" EventType="??" QueueSize="12"/> |
− | + | <QueueInfo Interface="GWS-Test" CRS="1G" EventType="??" QueueNumber="10" QueueSize="20"/> | |
− | + | </SIG_QueueRS></syntaxhighlight> | |
− | + | ||
− | + | ||
− | + | ||
− | + | Запрос непустых очередей | |
− | </ | + | <syntaxhighlight lang="xml"> |
+ | <SIG_QueueRQ CustomerID="TestUser"> | ||
+ | <GetItems/> | ||
+ | </SIG_QueueRQ> | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | Возвращаем список заказов в очереди вида: | ||
+ | <syntaxhighlight lang="xml"><SIG_QueueRS CustomerID="TestUser"> | ||
+ | <QueueItem QueueItemRef="de001" Interface="ГРС-TEST" CRS="1H" EventType="??" QueueNumber="10" BookingReference="QS4HDG/1H" LeadPassenger="Ivanov"/> | ||
+ | <QueueItem QueueItemRef="fr002" Interface="ГРС-TEST" CRS="1H" EventType="??" QueueNumber="10" BookingReference="QS4HDW/1H" LeadPassenger="Ivanov"/> | ||
+ | <QueueItem QueueItemRef="at003" Interface="GWS-TEST" CRS="1G" EventType="??" QueueNumber="10" BookingReference="222HDR/1G" LeadPassenger="Ivanov"/> | ||
+ | <QueueItem QueueItemRef="fse004" Interface="SITA-TEST" CRS="S7" EventType="??" QueueNumber="10" BookingReference="111HVG/S7" LeadPassenger="Ivanov">доп информация (текстовое поле, интерпретация зависит от CRS)</QueueItem> | ||
+ | <MoreExists/> | ||
+ | </SIG_QueueRS></syntaxhighlight> | ||
+ | |||
+ | |||
Запрос на удаление элемента(ов?) из очереди: | Запрос на удаление элемента(ов?) из очереди: | ||
<syntaxhighlight lang="xml"> | <syntaxhighlight lang="xml"> | ||
− | < | + | <SIG_QueueRQ CustomerID="TestUser"> |
− | < | + | <RemoveItems>001 003 a0005</RemoveItems> |
− | </ | + | </SIG_QueueRQ></syntaxhighlight> |
+ | |||
+ | |||
+ | <syntaxhighlight lang="xml"><SIG_QueueRS CustomerID="TestUser"> | ||
+ | <QueueResult QueueItemRef="de001" Result="SUCCESS"/> | ||
+ | <QueueResult QueueItemRef="fr002" Result="SUCCESS"/> | ||
+ | <QueueResult QueueItemRef="at003" Result="SUCCESS"/> | ||
+ | <QueueResult QueueItemRef="fse004" Result="SUCCESS"/> | ||
+ | </SIG_QueueRS></syntaxhighlight> | ||
+ | |||
+ | === Add, modify and cancel some elements of PNR in one request - contacts, comments, remarks, passenger data, TL === | ||
+ | <syntaxhighlight lang="xml"> | ||
+ | <SIG_AirBookRQ SessionID="F00002" CustomerID="TestUser"> | ||
+ | <BookingIdentity BookingReference="DMM8UV/1M"/> | ||
+ | <Add> | ||
+ | <Contacts> | ||
+ | <Contact TypeOfContact="Home phone" ContactRef="1">79991112233</Contact> | ||
+ | </Contacts> | ||
+ | <Comments> | ||
+ | <Comment CommentRef="2">Booked by TrTravel Co #111111(ag.#333)</Comment> | ||
+ | </Comments> | ||
+ | <Remarks> | ||
+ | <Remark RemarkRef="18" SSRCode="VGML" AAS="HK" Quantity="1" FlightRef="7" PaxRefs="4"></Remark> | ||
+ | </Remarks> | ||
+ | </Add> | ||
+ | <Modify> | ||
+ | <GeneralInfo TimeLimit="2013-03-21T22:10:00+02:00"/> | ||
+ | <Passengers> | ||
+ | <Passenger AgeType="ADT" PaxRef="1" Title="MR" DOB="1960-08-13" | ||
+ | LastName="Смирнов" FirstName="Алексей" | ||
+ | DocExpiration="2017-08-13" DocNumber="123456788" DocCountry="RU"/> | ||
+ | </Passengers> | ||
+ | <Contacts> | ||
+ | <Contact TypeOfContact="Mobile phone" ContactRef="14">44491113344</Contact> | ||
+ | </Contacts> | ||
+ | </Modify> | ||
+ | <Cancel>ct17 ctc16 ctc15 ctc14 cmt9 ssr47 ssr48</Cancel> | ||
+ | </SIG_AirBookRQ> | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | |||
+ | === Cancel some elements - contacts, comments, remarks === | ||
+ | <syntaxhighlight lang="xml"> | ||
+ | <SIG_AirBookRQ CustomerID="TestUser"> | ||
+ | <BookingIdentity BookingReference="QS4HDG/1H" LeadPassenger="Ivanov"/> | ||
+ | <Cancel>ct17 ctc16 cmt9 ssr47 ssr48</Cancel> | ||
+ | </SIG_AirBookRQ> | ||
+ | </syntaxhighlight> | ||
=== Cancel one or multiple segments === | === Cancel one or multiple segments === | ||
+ | <span style="color:#FF0000">'''Now implemented for SITA only'''</span> | ||
<syntaxhighlight lang="xml"> | <syntaxhighlight lang="xml"> | ||
<SIG_AirBookRQ CustomerID="TestUser" SessionID="6546598453546313"> | <SIG_AirBookRQ CustomerID="TestUser" SessionID="6546598453546313"> | ||
− | <Cancel | + | <Cancel>seg1 seg4</Cancel> |
− | </SIG_AirBookRQ> | + | </SIG_AirBookRQ></syntaxhighlight> |
+ | |||
+ | === Add one or multiple segments into existing PNR === | ||
+ | <span style="color:#FF0000">'''Now implemented for SITA only'''</span> | ||
+ | <syntaxhighlight lang="xml"> | ||
+ | <SIG_AirBookRQ CustomerID="TestUser"> | ||
+ | <BookingIdentity BookingReference="VE89K/S7"/> | ||
+ | <Add> | ||
+ | <FlightSegments> | ||
+ | <FlightSegment Airline="S7" Flight="179" Date="2013-10-15"> | ||
+ | <Departure Airport="DME" Time="2013-10-15T11:15:00+04:00"/> | ||
+ | <Arrival Airport="OVB" Time="2013-10-15T18:15:00+07:00"/> | ||
+ | <ReservationDetails> | ||
+ | <Reservation RBD="R" AAS="NN"/> | ||
+ | </ReservationDetails> | ||
+ | </FlightSegment> | ||
+ | <FlightSegment Airline="S7" Flight="129" Date="2013-10-16"> | ||
+ | <Departure Airport="DME" Time="2013-10-16T11:15:00+04:00"/> | ||
+ | <Arrival Airport="OVB" Time="2013-10-16T18:15:00+07:00"/> | ||
+ | <ReservationDetails> | ||
+ | <Reservation RBD="R" AAS="NN"/> | ||
+ | </ReservationDetails> | ||
+ | </FlightSegment> | ||
+ | </FlightSegments> | ||
+ | </Add> | ||
+ | </SIG_AirBookRQ> | ||
+ | |||
+ | |||
+ | </syntaxhighlight> |
Latest revision as of 17:14, 13 June 2013
[edit] План доработок функционала Web сервиса СИГ - январь 2013
[edit] Примеры запросов
[edit] Issue ticket for only one passenger in PNR with Credit Card form of payment and display plain-text itinerary receipt
<Issue >
<TicketMods>
<TicketMod PaxRefs="Pax_003 Pax_004">
<Endorsment>PP/123456789</Endorsment>
<Payments>
<Payment Currency="EUR" Amount="412.0" FOP="CC">
<CreditCard AccountNumber="1111222233334444" ExpirationDate="2014-12" CardHolder="Vassily Pupkin" PaymentSystem="VI"/>
</Payment>
</TicketMod>
</TicketMods>
</Issue>
<Display ItineraryReceipts="true" TicketData="true"/>
</SIG_AirBookRQ>
[edit] Void some of issued tickets
Три возможных варианта:
- задаётся список пассажиров, для которых войдируются билеты:
<Cancel>
<Tickets PaxRefs="pax1 pax4"/>
</Cancel>
</SIG_AirBookRQ>
- Либо войдируем билеты с указанием ссылки на билет - т.е. возможно войдирование одного купона (это поддерживается GDS ?)
<Cancel>
<Tickets TicketRefs="tktPax003seg01 tktPax003seg01"/>
</Cancel>
</SIG_AirBookRQ>
или:
<Cancel TicketRefs="tktPax003seg01 tktPax003seg01"/>
</SIG_AirBookRQ>
- Либо - должен быть задан список билетов для войдирования:
<Cancel>
<Tickets TicketNumbers="1572640947676 1572640947677"/>
</Cancel>
</SIG_AirBookRQ>
или
<Cancel TicketNumbers="1572640947676 1572640947677"/>
</SIG_AirBookRQ>
[edit] Retrieve booking file by pax name and flight data
<BookingIdentity LastName="Ivanov" Airline="S7" Flight="120" Date="2014-01-18" CRS="1G"/>
</SIG_AirFindPnrRQ>
Надо решить, что отправлять в ответ - самый простой для нас - всегда возвращать список найденных локаторов. Но было бы красиво в случае, если найден только один заказ возвращать ответ на GetPNR. А в случае нескольких - возвращать тоже ответ на GetPNR для первого локатора, а остальные списком вставить в ответ в специальный тэг. Кстати - в этом случае искать придётся во всех подключенных системах? Или будем определять одну системы по АК?
[edit] Divide PNR
<BookingIdentity BookingReference="QS4HDG/S7" LeadPassenger="Ivanov"/>
<Divide PaxRefs="paxadt01 paxchd04"/>
</SIG_AirBookRQ>
Возвращаем ответ на GetPNR для отделённого заказа. Так же в оригинальный заказ надо вставить информацию об отделённом заказе, возможно ремаркой. И добавить для таких локаторов тэги в интерфейсе Wev сервиса.
[edit] Queue management
Запрос непустых очередей
<GetCounts/>
</SIG_QueueRQ>
Возвращаем список очередей:
<QueueInfo Interface="SITA-TEST" CRS="S7" EventType="??" QueueSize="12"/>
<QueueInfo Interface="GWS-Test" CRS="1G" EventType="??" QueueNumber="10" QueueSize="20"/>
</SIG_QueueRS>
Запрос непустых очередей
<GetItems/>
</SIG_QueueRQ>
Возвращаем список заказов в очереди вида:
<QueueItem QueueItemRef="de001" Interface="ГРС-TEST" CRS="1H" EventType="??" QueueNumber="10" BookingReference="QS4HDG/1H" LeadPassenger="Ivanov"/>
<QueueItem QueueItemRef="fr002" Interface="ГРС-TEST" CRS="1H" EventType="??" QueueNumber="10" BookingReference="QS4HDW/1H" LeadPassenger="Ivanov"/>
<QueueItem QueueItemRef="at003" Interface="GWS-TEST" CRS="1G" EventType="??" QueueNumber="10" BookingReference="222HDR/1G" LeadPassenger="Ivanov"/>
<QueueItem QueueItemRef="fse004" Interface="SITA-TEST" CRS="S7" EventType="??" QueueNumber="10" BookingReference="111HVG/S7" LeadPassenger="Ivanov">доп информация (текстовое поле, интерпретация зависит от CRS)</QueueItem>
<MoreExists/>
</SIG_QueueRS>
Запрос на удаление элемента(ов?) из очереди:
<RemoveItems>001 003 a0005</RemoveItems>
</SIG_QueueRQ>
<QueueResult QueueItemRef="de001" Result="SUCCESS"/>
<QueueResult QueueItemRef="fr002" Result="SUCCESS"/>
<QueueResult QueueItemRef="at003" Result="SUCCESS"/>
<QueueResult QueueItemRef="fse004" Result="SUCCESS"/>
</SIG_QueueRS>
[edit] Add, modify and cancel some elements of PNR in one request - contacts, comments, remarks, passenger data, TL
<BookingIdentity BookingReference="DMM8UV/1M"/>
<Add>
<Contacts>
<Contact TypeOfContact="Home phone" ContactRef="1">79991112233</Contact>
</Contacts>
<Comments>
<Comment CommentRef="2">Booked by TrTravel Co #111111(ag.#333)</Comment>
</Comments>
<Remarks>
<Remark RemarkRef="18" SSRCode="VGML" AAS="HK" Quantity="1" FlightRef="7" PaxRefs="4"></Remark>
</Remarks>
</Add>
<Modify>
<GeneralInfo TimeLimit="2013-03-21T22:10:00+02:00"/>
<Passengers>
<Passenger AgeType="ADT" PaxRef="1" Title="MR" DOB="1960-08-13"
LastName="Смирнов" FirstName="Алексей"
DocExpiration="2017-08-13" DocNumber="123456788" DocCountry="RU"/>
</Passengers>
<Contacts>
<Contact TypeOfContact="Mobile phone" ContactRef="14">44491113344</Contact>
</Contacts>
</Modify>
<Cancel>ct17 ctc16 ctc15 ctc14 cmt9 ssr47 ssr48</Cancel>
</SIG_AirBookRQ>
[edit] Cancel some elements - contacts, comments, remarks
<BookingIdentity BookingReference="QS4HDG/1H" LeadPassenger="Ivanov"/>
<Cancel>ct17 ctc16 cmt9 ssr47 ssr48</Cancel>
</SIG_AirBookRQ>
[edit] Cancel one or multiple segments
Now implemented for SITA only
<Cancel>seg1 seg4</Cancel>
</SIG_AirBookRQ>
[edit] Add one or multiple segments into existing PNR
Now implemented for SITA only
<BookingIdentity BookingReference="VE89K/S7"/>
<Add>
<FlightSegments>
<FlightSegment Airline="S7" Flight="179" Date="2013-10-15">
<Departure Airport="DME" Time="2013-10-15T11:15:00+04:00"/>
<Arrival Airport="OVB" Time="2013-10-15T18:15:00+07:00"/>
<ReservationDetails>
<Reservation RBD="R" AAS="NN"/>
</ReservationDetails>
</FlightSegment>
<FlightSegment Airline="S7" Flight="129" Date="2013-10-16">
<Departure Airport="DME" Time="2013-10-16T11:15:00+04:00"/>
<Arrival Airport="OVB" Time="2013-10-16T18:15:00+07:00"/>
<ReservationDetails>
<Reservation RBD="R" AAS="NN"/>
</ReservationDetails>
</FlightSegment>
</FlightSegments>
</Add>
</SIG_AirBookRQ>