You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

Overview

An example of end-to-end scenario based on on operation flow and user story

Operation flow

searchFlightsJourney → book (Flight) → reprice without PNR → reprice with PNR → servicePrice → demandTickets (ETK)

User story

S7 Agent wants to buy round trip flight from Moscow (DME) to Novosibsrsk (OVB) for group of travelers (2 adults, 1 children and 1 infants on a lap). He also wants to buy special meals for travellers, for children special meal on rout is free.

Scenario

The general process for buying a trip such as this is:

  1. Initial search for flight solutions: S7 Agent executes a searchFlightsJourney operation with itinerary criteria and passenger types count;
  2. Book a reservation: S7 Agent executes a book operation with passenger details and itinerary info of chosen solution from search results;
  3. Request for informative reservation pricing: S7 Agent executes a reprice operation with itinerary info of chosen solution;
  4. Request for reservation pricing: S7 Agent executes a reprice operation with itinerary info of chosen solution;
  5. Request for informative ancillaries pricing: S7 Agent executes a servicePrice  with itinerary info of chosen solution and PTC type info;
  6. Issue tickets for each passenger: S7 Agent executes a demandTickets operation with reservation reference, pricing details, rout details and ancillaries info.

Table of contents:

(lightbulb)Before you can send a request to S7 Agent API, you must get an SSL certificate and configure your software.

(lightbulb) EMD meal is available for cross sell only.

(lightbulb) EMD meal is saleable per each segment.

Step 1: Initial search for flight solutions

S7 Agent executes a searchFlightsJourney operation with itinerary criteria and passenger types

Itinerary criteria: 

  • Roud trip S7 flight from Moscow (DME) to Novosibsrsk (OVB)

Passenger types count:

  • 2xADT 1xCHD 1xINF


Received solutions divided by fare family and mostly includes 4 sub solutions (Basic Economy, Flex Economy, Basic Business, Flex Business) for each itinerary solution.

Step 2: Book a reservation

S7 Agent executes a book operation with passenger details and itinerary info of chosen solution from search results.

<DetailedFlightItem> block consists of journey information, where each slice is described by the <OriginDestination> element.

<OriginDestination>  block takes from appropriate AirShoppingRS

(lightbulb) Segments (Flight) must be devided into slices (OriginDestination):

  • one OriginDestination for One Way trip;
  • two for Round Trip and more for MultiCity;
  • for Transfer Trip all segments included in one slice have to be pass in one OriginDestination;
  • for Transfer Trip segments with stopover between have to be divided into two OriginDestination.
OriginDestination information in AirShoppingRS
Envelope/Body/AirShoppingRS/DataLists/FlightSegmentList

and <ClassOfService> (RBD) from

RBD information in AirShoppingRS
Envelope/Body/AirShoppingRS/OffersGroup/AirlineOffers/AirlineOffer/PricedOffer/OfferPrice/RequestedDate/Associations/ApplicableFlight/FlightSegmentReference/ClassOfService/Code

Step 3: Request for informative pricing

S7 Agent executes a reprice operation with itinerary info of chosen solution

All information must be taken from AirShoppingRS:

  • itinerary details (airport codes and dates for origin and departure, airline code and flight number);

(lightbulb) <FlightItem> block must fill in like in OrderCreateRQ. Each slice is described by the <OriginDestination> element.

  • passenger types (PTC);
  • fare details (RBD and fare code).

Step 4: Request for reservation pricing

S7 Agent executes a reprice operation with itinerary info of chosen solution

All information must be taken from AirShoppingRS:

  • itinerary details (airport codes and dates for origin and departure, airline code and flight number);

(lightbulb) <FlightItem> block must fill in like in OrderCreateRQ. Each slice is described by the <OriginDestination> element.

  • passenger types (PTC);
  • fare details (RBD and fare code).

Step 5: Request for informative ancillaries pricing

S7 Agent executes a servicePrice  with itinerary info of chosen solution and PTC type info

All information must be taken from AirShoppingRS:

  • itinerary details (airport codes and dates for origin and departure, airline code and flight number);

  • passenger types (PTC);
  • fare details.

Error rendering macro 'excerpt-include'

No link could be created for 'All ancillaries | ADT+CHD+INF+ RT+ DIRECT | v0.52 | servicePrice operation'.

Step 6: Issue tickets for each passenger

S7 Agent executes a demandTickets operation with reservation reference, pricing details, rout details and ancillaries info:

  • Fill passenger info and PNR info from OrderViewRS;
  • Fill in the form of payment as in example <*A*TEST> for ETK and EMD;
    FOP
    <Payments>
        <Payment ObjectKey="ETK">
            <Type>
                <Code>MS</Code>
            </Type>
            <Amount Code="RUB">105478</Amount>
            <Other>
                <Remarks>
                    <Remark>*A*TEST</Remark>
                </Remarks>
            </Other>
        </Payment>
        <Payment ObjectKey="EMD">
            <Type>
                <Code>MS</Code>
            </Type>
            <Amount Code="RUB">600</Amount>
            <Other>
                <Remarks>
                    <Remark>*A*TEST</Remark>
                </Remarks>
            </Other>
        </Payment>
    </Payments>
  • Add information about meal price from ServicePriceRS;

    FareList
    <FareList>
        <FareGroup refs="EMD" ListKey="FG1">
            <Fare>
                <FareCode>
                    <Code>ANY</Code>
                </FareCode>
                <FareDetail>
                    <FareComponent ObjectKey="FC1" refs="SEG1">
                        <PriceBreakdown>
                            <Price>
                                <BaseAmount Code="RUB">300</BaseAmount>
                            </Price>
                        </PriceBreakdown>
                    </FareComponent>
                </FareDetail>
            </Fare>
            <FareBasisCode>
                <Code>ANY</Code>
            </FareBasisCode>
        </FareGroup>
        <FareGroup refs="EMD" ListKey="FG2">
            <Fare>
                <FareCode>
                    <Code>ANY</Code>
                </FareCode>
                <FareDetail>
                    <FareComponent ObjectKey="FC2" refs="SEG2">
                        <PriceBreakdown>
                            <Price>
                                <BaseAmount Code="RUB">300</BaseAmount>
                            </Price>
                        </PriceBreakdown>
                    </FareComponent>
                </FareDetail>
            </Fare>
            <FareBasisCode>
                <Code>ANY</Code>
            </FareBasisCode>
        </FareGroup>
    </FareList>
  • Add rout info from AirShoppingRS;
  • Fill ServiceList with information about meal code and description from ServicePriceRS.

    ServiceList
    <ServiceList>
        <Service refs="FC1" ObjectKey="ML1">
            <ServiceID Owner="S7">0AN</ServiceID>
            <Name>meal</Name>
            <Descriptions>
                <Description>
                    <Text>VEGETARIAN DINNER</Text>
                </Description>
            </Descriptions>
        </Service>
        <Service refs="FC2" ObjectKey="ML2">
            <ServiceID Owner="S7">0AN</ServiceID>
            <Name>meal</Name>
            <Descriptions>
                <Description>
                    <Text>VEGETARIAN DINNER</Text>
                </Description>
            </Descriptions>
        </Service>
    </ServiceList>

demandTickets operation executes for each passenger separately

For child passenger demandTickets operation is executed as per pax request without ancillaries

  • No labels