swagger

package
v0.0.0-...-a6a4912 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 23, 2022 License: MIT, MIT Imports: 6 Imported by: 0

README

Go API Server for swagger

This API allows shopping and booking with IATA's New Distribution Capabilities (NDC) standard. It provides aggregated shopping capabilities (AirShopping), detailed offer description (OfferPrice), flight seat selection (SeatAvailability) and booking flight reservations (OrderCreate). Some fields in our API (when noticed) use the PADIS Standard v16.1. Find more information here

Overview

This server was generated by the [swagger-codegen] (https://github.com/swagger-api/swagger-codegen) project.
By using the OpenAPI-Spec from a remote server, you can easily generate a server stub.

To see how to make this your own, look here:

README

  • API version: 1.1
  • Build date: 2021-11-25T21:15:35.759Z
Running the server

To run the server, follow these simple steps:

go run main.go

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AirDocIssuePost

func AirDocIssuePost(w http.ResponseWriter, r *http.Request)

func AirShoppingPost

func AirShoppingPost(w http.ResponseWriter, r *http.Request)

func Index

func Index(w http.ResponseWriter, r *http.Request)

func Logger

func Logger(inner http.Handler, name string) http.Handler

func NewRouter

func NewRouter() *mux.Router

func OfferPricePost

func OfferPricePost(w http.ResponseWriter, r *http.Request)

func OrderCancelPost

func OrderCancelPost(w http.ResponseWriter, r *http.Request)

func OrderChangeNotifPost

func OrderChangeNotifPost(w http.ResponseWriter, r *http.Request)

func OrderChangePost

func OrderChangePost(w http.ResponseWriter, r *http.Request)

func OrderCommentsPost

func OrderCommentsPost(w http.ResponseWriter, r *http.Request)

func OrderCreatePost

func OrderCreatePost(w http.ResponseWriter, r *http.Request)

func OrderFileGET

func OrderFileGET(w http.ResponseWriter, r *http.Request)

func OrderHistoryGET

func OrderHistoryGET(w http.ResponseWriter, r *http.Request)

func OrderListGET

func OrderListGET(w http.ResponseWriter, r *http.Request)

func OrderMetasPost

func OrderMetasPost(w http.ResponseWriter, r *http.Request)

func OrderRemarksPost

func OrderRemarksPost(w http.ResponseWriter, r *http.Request)

func OrderReshopPost

func OrderReshopPost(w http.ResponseWriter, r *http.Request)

func OrderReshopRefundPost

func OrderReshopRefundPost(w http.ResponseWriter, r *http.Request)

func OrderReshopRepricePost

func OrderReshopRepricePost(w http.ResponseWriter, r *http.Request)

func OrderRetrievePost

func OrderRetrievePost(w http.ResponseWriter, r *http.Request)

func OrderReviewPost

func OrderReviewPost(w http.ResponseWriter, r *http.Request)

func ProviderListGET

func ProviderListGET(w http.ResponseWriter, r *http.Request)

func SeatAvailabilityPost

func SeatAvailabilityPost(w http.ResponseWriter, r *http.Request)

func ServiceListPost

func ServiceListPost(w http.ResponseWriter, r *http.Request)

func StatusGet

func StatusGet(w http.ResponseWriter, r *http.Request)

Types

type Address

type Address struct {

	// City name.
	CityName string `json:"cityName,omitempty"`

	// Country code.
	CountryCode string `json:"countryCode,omitempty"`

	// Postal code.
	PostalCode string `json:"postalCode,omitempty"`

	// Street.
	Street string `json:"street,omitempty"`
}

type AgencyData

type AgencyData struct {

	// Country code
	CountryCode string `json:"countryCode,omitempty"`

	// IATA Number
	IataCode string `json:"iataCode,omitempty"`
}

type AirDocIssuePayloadPayload

type AirDocIssuePayloadPayload struct {

	// AirGateway order ID
	Id string `json:"id"`

	Payment *Payment `json:"payment"`
}

type AirShoppingMedia

type AirShoppingMedia struct {
	Result []AirShoppingOffer `json:"result,omitempty"`
}

AirShoppingMedia media type (default view)

type AirShoppingOffer

type AirShoppingOffer struct {

	// A explicit list of baggage allowance.
	BaggageAllowance []DisclosureDescription `json:"baggageAllowance,omitempty"`

	// Offer created at unix time
	CreatedAt int64 `json:"createdAt,omitempty"`

	// List of disclosures corresponding to offer.
	Disclosures []Disclosure `json:"disclosures,omitempty"`

	// Error from provider
	Error_ string `json:"error,omitempty"`

	// Flight Segment information. Including departure, arrival and airline information.
	Flights []OriginDestinationRs `json:"flights,omitempty"`

	// Max number of stops
	MaxNumberOfStops int64 `json:"maxNumberOfStops,omitempty"`

	// Offer identifier
	OfferID string `json:"offerID,omitempty"`

	// Offer type
	OfferType string `json:"offerType,omitempty"`

	// 2 letter abbreviation of airline
	Owner string `json:"owner,omitempty"`

	// Offer payment time limit, after this time created order will become expired
	PaymentTimeLimit string `json:"paymentTimeLimit,omitempty"`

	Price *Price `json:"price,omitempty"`

	PriceBreakdown *PriceBreakdown `json:"priceBreakdown,omitempty"`

	// 2 letter abbreviation of airline
	Provider string `json:"provider,omitempty"`
}

type AirShoppingPayload

type AirShoppingPayload struct {

	// Corporate Discount Codes Map
	CorporateDiscountCodes interface{} `json:"corporateDiscountCodes,omitempty"`

	Metadata *Metadata `json:"metadata,omitempty"`

	// Origin/Destination pair in a shopping search scenario
	OriginDestinations []OriginDestinationAsrq `json:"originDestinations"`

	Preferences *Preferences `json:"preferences,omitempty"`

	Travelers *Travelers `json:"travelers"`
}

AirShoppingPayload is the type for AirShopping endpoint request body

type AllowedPaymentMethods

type AllowedPaymentMethods struct {
	AgencyCard bool `json:"agencyCard"`

	AgencyCash bool `json:"agencyCash"`

	Card bool `json:"card"`

	None bool `json:"none"`
}

Allowed payment methods

type ArrivalAsrq

type ArrivalAsrq struct {

	// Departure/Arrival airport IATA three letter code.
	AirportCode string `json:"airportCode"`

	// Arrival date in format YYYY-MM-DD.
	Date string `json:"date,omitempty"`
}

AirShopping request arrival

type BookingInstructions

type BookingInstructions struct {

	// This attribute indicates the optional, mandatory or not allowed need for the text
	MandatoryText string `json:"mandatoryText,omitempty"`

	// The pattern that the text introduced by the customer should match to. This value can be empty
	Pattern string `json:"pattern,omitempty"`

	// The text in the input or the textarea which helps the customers knows what should write
	PlaceHolder string `json:"placeHolder,omitempty"`

	// The type for the input used to be filled by the customer, it can be number or text
	Type_ string `json:"type,omitempty"`
}

Indicates if there is an optional, a mandatory or a not allowed text from the customer´s side depending in the MandatoryText attribute value.

type BookingReferenceResponse

type BookingReferenceResponse struct {

	// Airline ID
	AirlineID string `json:"airlineID,omitempty"`

	// Booking reference
	Id string `json:"id,omitempty"`

	// Other ID
	OtherID string `json:"otherID,omitempty"`
}

BookingReferenceResponse

type Characteristics

type Characteristics struct {
	Code string `json:"code,omitempty"`

	Definition string `json:"definition,omitempty"`
}

Characteristics info

type ClassOfService

type ClassOfService struct {

	// Cabin Type
	CabinDesignator string `json:"cabinDesignator,omitempty"`

	// Code for class
	Code string `json:"code,omitempty"`

	// Disclosures
	DisclosureRefs []string `json:"disclosureRefs,omitempty"`

	// Disclosures
	Disclosures interface{} `json:"disclosures,omitempty"`

	// Fare Basis Code
	FareBasisCode string `json:"fareBasisCode,omitempty"`

	FareCabin string `json:"fareCabin,omitempty"`

	FareStandardName string `json:"fareStandardName,omitempty"`

	GeneralClassCode string `json:"generalClassCode,omitempty"`

	// Class name to show
	MarketingName string `json:"marketingName,omitempty"`

	// Reference of class
	Refs string `json:"refs,omitempty"`
}

Class of the service offered

type DepartureAsrq

type DepartureAsrq struct {

	// Departure/Arrival airport IATA three letter code.
	AirportCode string `json:"airportCode"`

	// Departure/Arrival date in format YYYY-MM-DD.
	Date string `json:"date"`
}

AirShopping request departure

type Disclosure

type Disclosure struct {

	// Disclosure details
	Descriptions []DisclosureDescription `json:"descriptions,omitempty"`

	// Disclosure details
	Details []DisclosureDescription `json:"details,omitempty"`

	// Disclosure Reference
	ListKey string `json:"listKey,omitempty"`
}

type DisclosureDescription

type DisclosureDescription struct {

	// Category
	Category string `json:"category,omitempty"`

	// Item
	Item string `json:"item,omitempty"`

	Media *MediaData `json:"media,omitempty"`

	// MetadataToken
	MetadataToken string `json:"metadataToken,omitempty"`

	// A reference to the origin-destination
	OriginDestinationReference string `json:"originDestinationReference,omitempty"`

	// Properties
	Properties []DisclosureProperty `json:"properties,omitempty"`

	// Text
	Text string `json:"text,omitempty"`

	// Units
	Units string `json:"units,omitempty"`
}

Disclosure description

type DisclosureProperty

type DisclosureProperty struct {

	// Units of measurement
	UOM string `json:"UOM,omitempty"`

	// Type
	Type_ string `json:"type,omitempty"`

	// Value
	Value string `json:"value,omitempty"`
}

Disclosure properties

type Discount

type Discount struct {

	// IB Large Family Discount Code
	LargeFamily string `json:"largeFamily,omitempty"`

	// IB Resident Code
	ResidentCode string `json:"residentCode,omitempty"`
}

type Document

type Document struct {
	BirthCountry string `json:"birthCountry,omitempty"`

	DocumentID string `json:"documentID"`

	// Valid values:
	DocumentType string `json:"documentType"`

	// The expiration date of the document using format YYYY-MM-DD.
	ExpirationDate string `json:"expirationDate,omitempty"`

	// The date of issuance of the document using format YYYY-MM-DD.
	IssueDate string `json:"issueDate,omitempty"`

	ResidenceCountry string `json:"residenceCountry,omitempty"`
}

type Equipment

type Equipment struct {
	AircraftCode string `json:"aircraftCode,omitempty"`

	Name string `json:"name,omitempty"`
}

type ExitRowPosition

type ExitRowPosition struct {

	// Exit rows position
	Rows []Rows `json:"rows,omitempty"`
}

type Fare

type Fare struct {

	// Fare code
	Code string `json:"Code,omitempty"`

	// Fare Definition Code
	Definition string `json:"Definition,omitempty"`
}

type FareDetail

type FareDetail struct {

	// Disclosure details
	Descriptions []DisclosureDescription `json:"descriptions,omitempty"`

	// The references to the fare detail in the provider
	FareDetailRef string `json:"fareDetailRef,omitempty"`

	// The references to the passengers involved in each fare detail
	PassengerRefs string `json:"passengerRefs,omitempty"`

	// The type of the fare details
	Type_ string `json:"type,omitempty"`
}

type FlightDetail

type FlightDetail struct {
	ClassOfService *ClassOfService `json:"classOfService,omitempty"`

	// Fare Basis Code
	FareBasisCode string `json:"fareBasisCode,omitempty"`

	// Fare cabin
	FareCabin string `json:"fareCabin,omitempty"`

	// Fare information for this flight segment
	FareCode string `json:"fareCode,omitempty"`

	// Fare marketing name
	FareMarketingName string `json:"fareMarketingName,omitempty"`

	// Fare standard name
	FareStandardName string `json:"fareStandardName,omitempty"`

	// Fare type
	FareType string `json:"fareType,omitempty"`

	// Flight duration
	FlightDuration string `json:"flightDuration,omitempty"`

	// The status of the segment -> UN: Unconfirmed. TK: Change scheduled, contact center will confirm. HK: Confirmed.
	FlightSegmentType string `json:"flightSegmentType,omitempty"`

	// How many seats left
	SeatsLeft string `json:"seatsLeft,omitempty"`

	// Stop locations
	StopLocations []StopLocation `json:"stopLocations,omitempty"`

	// Number of extra stops from Origin to Destination
	StopQuantity string `json:"stopQuantity,omitempty"`
}

type FlightPointDataRsArr

type FlightPointDataRsArr struct {

	// Departure/Arrival airport IATA three letter code.
	AirportCode string `json:"airportCode"`

	// Departure/Arrival airport name.
	AirportName string `json:"airportName,omitempty"`

	// Country ID data
	CountryID string `json:"countryID,omitempty"`

	// Departure/Arrival date in format YYYY-MM-DD.
	Date string `json:"date,omitempty"`

	// Parent Location data
	ParentLocation string `json:"parentLocation,omitempty"`

	// Departure/Arrival terminal name.
	TerminalName string `json:"terminalName,omitempty"`

	// Preferred departure time in format HH:MM 24h.
	Time string `json:"time,omitempty"`
}

type FlightPointDataRsArrInner

type FlightPointDataRsArrInner struct {

	// Departure/Arrival airport IATA three letter code.
	AirportCode string `json:"airportCode"`

	// Departure/Arrival airport name.
	AirportName string `json:"airportName,omitempty"`

	// Country ID data
	CountryID string `json:"countryID,omitempty"`

	// Departure/Arrival date in format YYYY-MM-DD.
	Date string `json:"date,omitempty"`

	// Parent Location data
	ParentLocation string `json:"parentLocation,omitempty"`

	// Departure/Arrival terminal.
	TerminalName string `json:"terminalName,omitempty"`

	// Preferred departure time in format HH:MM 24h.
	Time string `json:"time,omitempty"`
}

type FlightPointDataRsDep

type FlightPointDataRsDep struct {

	// Departure/Arrival airport IATA three letter code.
	AirportCode string `json:"airportCode"`

	// Departure/Arrival airport name.
	AirportName string `json:"airportName,omitempty"`

	// Country ID data
	CountryID string `json:"countryID,omitempty"`

	// Departure/Arrival date in format YYYY-MM-DD.
	Date string `json:"date,omitempty"`

	// Parent Location data
	ParentLocation string `json:"parentLocation,omitempty"`

	// Departure/Arrival terminal name.
	TerminalName string `json:"terminalName,omitempty"`

	// Preferred departure time in format HH:MM 24h.
	Time string `json:"time,omitempty"`
}

type FlightPointDataRsDepInner

type FlightPointDataRsDepInner struct {

	// Departure/Arrival airport IATA three letter code.
	AirportCode string `json:"airportCode"`

	// Departure/Arrival airport name.
	AirportName string `json:"airportName,omitempty"`

	// Country ID data
	CountryID string `json:"countryID,omitempty"`

	// Departure/Arrival date in format YYYY-MM-DD.
	Date string `json:"date,omitempty"`

	// Parent Location data
	ParentLocation string `json:"parentLocation,omitempty"`

	// Departure/Arrival terminal.
	TerminalName string `json:"terminalName,omitempty"`

	// Preferred departure time in format HH:MM 24h.
	Time string `json:"time,omitempty"`
}

type FlightSegment

type FlightSegment struct {

	// Origin destination reference
	ODRef string `json:"ODRef,omitempty"`

	Equipment *Equipment `json:"equipment"`

	// The code of the fare
	FareCode string `json:"fareCode,omitempty"`

	FlightDetail *FlightDetail `json:"flightDetail,omitempty"`

	// Flight number of airline
	FlightNumber string `json:"flightNumber,omitempty"`

	MarketingCarrier *MarketingCarrier `json:"marketingCarrier"`

	OperatingCarrier *OperatingCarrier `json:"operatingCarrier,omitempty"`

	OriginDestination *OriginDestinationRsInner `json:"originDestination"`

	// Segment ID
	SegmentID string `json:"segmentID,omitempty"`
}

type FqtvAccount

type FqtvAccount struct {

	// Frequent traveler account number
	Number string `json:"number,omitempty"`
}

Frequent traveler account

type FqtvInfo

type FqtvInfo struct {
	Account *FqtvAccount `json:"account,omitempty"`

	// Airline ID
	AirlineID string `json:"airlineID,omitempty"`
}

Frequent traveler information

type Identity4Discount

type Identity4Discount struct {
	IdentityDocumentNumber string `json:"identityDocumentNumber,omitempty"`

	IdentityDocumentType string `json:"identityDocumentType,omitempty"`

	Remark string `json:"remark,omitempty"`
}

type MarketingCarrier

type MarketingCarrier struct {

	// Two letter airline code
	AirlineID string `json:"airlineID"`

	FlightNumber string `json:"flightNumber"`

	// Airline Name
	Name string `json:"name"`
}

type MediaData

type MediaData struct {

	// ID
	Id string `json:"id,omitempty"`

	// Link
	Link string `json:"link,omitempty"`
}

Some Disclosures have media types

type Metadata

type Metadata struct {

	// Country code preference for the shopping ISO
	Country string `json:"country"`

	// Currency for results in ISO format
	Currency string `json:"currency"`

	// Language preferences
	Locale string `json:"locale"`
}

type ModelError

type ModelError struct {

	// an application-specific error code, expressed as a string value.
	Code string `json:"code,omitempty"`

	// a human-readable explanation specific to this occurrence of the problem.
	Detail string `json:"detail,omitempty"`

	// a unique identifier for this particular occurrence of the problem.
	Id string `json:"id,omitempty"`

	// a meta object containing non-standard meta-information about the error.
	Meta interface{} `json:"meta,omitempty"`

	// the HTTP status code applicable to this problem, expressed as a string value.
	Status string `json:"status,omitempty"`
}

Error response media type (default view)

type OfferPassenger

type OfferPassenger struct {

	// Traveler given name
	Given string `json:"given,omitempty"`

	PassengerType string `json:"passengerType"`

	// Traveler surname
	Surname string `json:"surname,omitempty"`

	// Traveler title
	Title string `json:"title,omitempty"`

	// Traveler object key
	TravelerReference string `json:"travelerReference"`
}

Recognized Travelers list

type OfferPrice

type OfferPrice struct {

	// The base price, without any taxes (300 or 300.32)
	BaseAmount float64 `json:"baseAmount,omitempty"`

	// The ID for each offer
	OfferItemID string `json:"offerItemID,omitempty"`

	// The passenger type
	PassengerType string `json:"passengerType,omitempty"`

	// The base price, without any taxes (300 or 300.32)
	ProviderBaseAmount float64 `json:"providerBaseAmount,omitempty"`

	// The total sum of all taxes (19 or 19.99)
	ProviderTaxesAmount float64 `json:"providerTaxesAmount,omitempty"`

	// The total sum of all surcharges (6 or 6.05)
	SurchargeAmount float64 `json:"surchargeAmount,omitempty"`

	// The total sum of all taxes (19 or 19.99)
	TaxesAmount float64 `json:"taxesAmount,omitempty"`
}

type OfferPriceAllowedRequests

type OfferPriceAllowedRequests struct {
	OrderCreateWithPayment bool `json:"OrderCreateWithPayment,omitempty"`

	SeatAvailability bool `json:"SeatAvailability,omitempty"`

	ServiceList bool `json:"ServiceList,omitempty"`
}

type OfferPriceFlightSegment

type OfferPriceFlightSegment struct {
	Equipment *Equipment `json:"equipment"`

	// The code of the fare
	FareCode string `json:"fareCode,omitempty"`

	FlightDetail *FlightDetail `json:"flightDetail,omitempty"`

	// Flight number of airline
	FlightNumber string `json:"flightNumber,omitempty"`

	MarketingCarrier *MarketingCarrier `json:"marketingCarrier"`

	OperatingCarrier *OperatingCarrier `json:"operatingCarrier,omitempty"`

	OriginDestination *OriginDestinationRsInner `json:"originDestination"`

	// Segment ID
	SegmentID string `json:"segmentID,omitempty"`
}

type OfferPriceMedia

type OfferPriceMedia struct {
	AllowedPaymentMethods *AllowedPaymentMethods `json:"allowedPaymentMethods,omitempty"`

	AllowedRequests *OfferPriceAllowedRequests `json:"allowedRequests,omitempty"`

	// A hash of surcharges indexed by the credit card type.
	CardSurcharges interface{} `json:"cardSurcharges,omitempty"`

	// Unix time of created datetime
	CreatedAt int64 `json:"createdAt,omitempty"`

	Disclosures []Disclosure `json:"disclosures,omitempty"`

	Discounts *Discount `json:"discounts,omitempty"`

	// A Bundle of fields which are not mandatory for all airlines, in that way, the API will check the airline config and return them.
	ExtraInfoMandatory []string `json:"extraInfoMandatory,omitempty"`

	// Flight Segment information. Including departure, arrival and airline information.
	Flights []OfferPriceOriginDestinationRs `json:"flights,omitempty"`

	// Offer expiration time
	OfferExpiration string `json:"offerExpiration,omitempty"`

	// The ID for this offer
	OfferID string `json:"offerID,omitempty"`

	// The code of the provider that is really offering the flight
	Owner string `json:"owner,omitempty"`

	// List of referenced travelers
	Passengers []OfferPassenger `json:"passengers,omitempty"`

	// Payment time limit
	PaymentTimeLimit string `json:"paymentTimeLimit,omitempty"`

	Price *Price `json:"price,omitempty"`

	// The ID of the response. Usually needed on the OrderCreate request (few providers don´t need it).
	ShoppingResponseID string `json:"shoppingResponseID,omitempty"`

	// List of ancillaries allowed on pre-booking stage
	SpecialServices []Ssr `json:"specialServices,omitempty"`

	Warnings []OrderLog `json:"warnings,omitempty"`
}

OfferPriceMedia media type (default view)

type OfferPriceOriginDestinationRs

type OfferPriceOriginDestinationRs struct {
	Arrival *FlightPointDataRsArr `json:"arrival,omitempty"`

	Departure *FlightPointDataRsDep `json:"departure,omitempty"`

	FareDetails []FareDetail `json:"fareDetails,omitempty"`

	FlightDuration string `json:"flightDuration,omitempty"`

	FlightKey string `json:"flightKey,omitempty"`

	FlightSegments []OfferPriceFlightSegment `json:"flightSegments,omitempty"`
}

type OfferPricePayload

type OfferPricePayload struct {
	OfferID string `json:"offerID,omitempty"`

	OfferIDs []string `json:"offerIDs,omitempty"`
}

type OperatingCarrier

type OperatingCarrier struct {

	// Two letter airline code
	AirlineID string `json:"airlineID"`

	// Disclosures
	Disclosures []Disclosure `json:"disclosures,omitempty"`

	FlightNumber string `json:"flightNumber,omitempty"`

	// Airline Name
	Name string `json:"name"`
}

type OrderCancelMedia

type OrderCancelMedia struct {

	// The unique identifier of the order.
	OrderID string `json:"orderID,omitempty"`

	// Order cancel response warnings
	Warnings []OrderLog `json:"warnings,omitempty"`
}

OrderCancelMedia media type (default view)

type OrderCancelPayload

type OrderCancelPayload struct {

	// AirGateway order ID
	Id string `json:"id"`
}

type OrderChangeNotifMedia

type OrderChangeNotifMedia struct {
	Status string `json:"status,omitempty"`
}

OrderChangeNotifMedia media type (default view)

type OrderChangePayload

type OrderChangePayload struct {

	// A flag used in some cases of the OrderChange like accept the disruption of an order or split the order
	Action string `json:"action,omitempty"`

	// AirGateway order ID
	Id string `json:"id"`

	PassengerUpdate *ServiceListPassenger `json:"passengerUpdate,omitempty"`

	// List of passengers
	Passengers []ServiceListPassenger `json:"passengers,omitempty"`

	Payment *Payment `json:"payment,omitempty"`

	// Reshop offer ID from OrderReshop response
	ReshopOfferID string `json:"reshopOfferID,omitempty"`

	// List of service objects
	Services []ServiceRequest `json:"services,omitempty"`
}

type OrderCommentsMedia

type OrderCommentsMedia struct {

	// API status
	Ok bool `json:"ok,omitempty"`
}

OrderCommentsMedia media type (default view)

type OrderCommentsPayload

type OrderCommentsPayload struct {
	Comments string `json:"comments,omitempty"`

	// AirGateway order ID
	Id string `json:"id"`
}

OrderCommentsPayload is the type for OrderComments endpoint request body

type OrderCreateAllowedRequests

type OrderCreateAllowedRequests struct {
	PostTicketing *OrderCreateAllowedRequestsPostTicketing `json:"postTicketing,omitempty"`

	PreTicketing *OrderCreateAllowedRequestsPreTicketing `json:"preTicketing,omitempty"`
}

type OrderCreateAllowedRequestsPostTicketing

type OrderCreateAllowedRequestsPostTicketing struct {
	OrderCancel bool `json:"OrderCancel,omitempty"`

	OrderReshop bool `json:"OrderReshop,omitempty"`

	OrderReshopRouteChange bool `json:"OrderReshopRouteChange,omitempty"`

	OrderSplit bool `json:"OrderSplit,omitempty"`

	OrderVoid bool `json:"OrderVoid,omitempty"`

	SeatAvailability bool `json:"SeatAvailability,omitempty"`

	ServiceList bool `json:"ServiceList,omitempty"`
}

type OrderCreateAllowedRequestsPreTicketing

type OrderCreateAllowedRequestsPreTicketing struct {
	OrderCancel bool `json:"OrderCancel,omitempty"`

	OrderReprice bool `json:"OrderReprice,omitempty"`

	OrderSplit bool `json:"OrderSplit,omitempty"`

	SeatAvailability bool `json:"SeatAvailability,omitempty"`

	ServiceList bool `json:"ServiceList,omitempty"`

	TicketIssue bool `json:"TicketIssue,omitempty"`
}

type OrderCreateMedia

type OrderCreateMedia struct {

	// Agency name
	Agency string `json:"agency,omitempty"`

	AgencyData *AgencyData `json:"agencyData,omitempty"`

	AllowedPaymentMethods *AllowedPaymentMethods `json:"allowedPaymentMethods,omitempty"`

	AllowedRequests *OrderCreateAllowedRequests `json:"allowedRequests,omitempty"`

	// Approval status
	ApprovalStatus string `json:"approvalStatus,omitempty"`

	// Approved status
	Approved bool `json:"approved,omitempty"`

	BookingDate string `json:"bookingDate,omitempty"`

	BookingReference *BookingReferenceResponse `json:"bookingReference,omitempty"`

	BookingType string `json:"bookingType,omitempty"`

	Comments string `json:"comments,omitempty"`

	// CorporateID for corporate orders
	CorporateID string `json:"corporateID,omitempty"`

	CreatedAt string `json:"createdAt,omitempty"`

	Disclosures []Disclosure `json:"disclosures,omitempty"`

	// Disruption notification message
	DisruptionMessage string `json:"disruptionMessage,omitempty"`

	// Disruption status (FlightTimeChange/FlightNumberChange/FlightCancellation)
	DisruptionStatus string `json:"disruptionStatus,omitempty"`

	// External order ID
	ExternalOrderID string `json:"externalOrderID,omitempty"`

	// Files information
	Files []OrderFile `json:"files,omitempty"`

	// Flight Segment information. Including departure, arrival and airline information.
	Flights []OriginDestinationRs `json:"flights,omitempty"`

	FormOfPayment string `json:"formOfPayment,omitempty"`

	History []OrderHistoryItem `json:"history,omitempty"`

	// AirGateway order ID
	Id string `json:"id,omitempty"`

	Logs []OrderLog `json:"logs,omitempty"`

	// Order metadata
	Metas interface{} `json:"metas,omitempty"`

	// External order ID (deprecated)
	OrderID string `json:"orderID,omitempty"`

	Passengers []PassengerRs `json:"passengers,omitempty"`

	Payment *OrderCreatePayment `json:"payment,omitempty"`

	// Payment time limit
	PaymentTimeLimit string `json:"paymentTimeLimit,omitempty"`

	// Type and the application (with the value for each application) for every penalties.
	Penalties []Penalty `json:"penalties,omitempty"`

	// The unique identifier of the order used on the old system and respected by some providers to maintain compatibility.
	Pnr string `json:"pnr,omitempty"`

	Price *Price `json:"price,omitempty"`

	// Ready To Ticket Issue flag
	ReadyToTicketIssue bool `json:"readyToTicketIssue,omitempty"`

	RefundedAmount *Price `json:"refundedAmount,omitempty"`

	Remarks string `json:"remarks,omitempty"`

	// List of seats
	Seats []Seat `json:"seats,omitempty"`

	// Send for approval allowed
	SendForApprovalAllowed bool `json:"sendForApprovalAllowed,omitempty"`

	// List of services
	Services []ServiceResponse `json:"services,omitempty"`

	// Order status (Pending/Ticketed/Cancelled/Completed/Started/Expired)
	Status string `json:"status,omitempty"`

	// Ticket Issue object
	TicketIssue interface{} `json:"ticketIssue,omitempty"`

	// Tickets information
	Tickets []TicketInfo `json:"tickets,omitempty"`

	UpdatedAt string `json:"updatedAt,omitempty"`

	// View mode for order
	ViewMode string `json:"viewMode,omitempty"`
}

OrderCreateMedia media type (default view)

type OrderCreatePayload

type OrderCreatePayload struct {

	// CorporateID for corporate orders
	CorporateID string `json:"corporateID,omitempty"`

	// Order metadata
	Metas interface{} `json:"metas,omitempty"`

	Passengers []PassengerRq `json:"passengers"`

	Payment *Payment `json:"payment,omitempty"`

	// The responseID provided in OfferPrice response
	ShoppingResponseID string `json:"shoppingResponseID"`
}

type OrderCreatePayment

type OrderCreatePayment struct {

	// Payment amount (1000 or 1000.50)
	Amount float64 `json:"amount,omitempty"`

	// Payment status
	Status string `json:"status,omitempty"`

	// Payment type
	Type_ string `json:"type,omitempty"`
}

type OrderFile

type OrderFile struct {

	// File ID
	Id string `json:"id,omitempty"`

	// File Type
	Type_ string `json:"type,omitempty"`
}

type OrderHistoryItem

type OrderHistoryItem struct {

	// Agency
	Agency string `json:"agency,omitempty"`

	// Agent
	Agent string `json:"agent,omitempty"`

	// Generic details object
	Details interface{} `json:"details,omitempty"`

	// Event ID
	EventID string `json:"eventID,omitempty"`

	// Event time
	EventTime string `json:"eventTime,omitempty"`

	// AirGateway order ID
	Id string `json:"id,omitempty"`

	Price *Price `json:"price,omitempty"`

	// Transaction type
	TransactionType string `json:"transactionType,omitempty"`
}

type OrderHistoryMedia

type OrderHistoryMedia struct {
	Count int64 `json:"count"`

	History []OrderHistoryItem `json:"history"`
}

OrderHistoryMedia media type (default view)

type OrderListCounters

type OrderListCounters struct {
	Approved int64 `json:"approved,omitempty"`

	Disrupted int64 `json:"disrupted,omitempty"`

	Pending int64 `json:"pending,omitempty"`

	Refused int64 `json:"refused,omitempty"`

	Ticketed int64 `json:"ticketed,omitempty"`

	UnderApproval int64 `json:"underApproval,omitempty"`
}

type OrderListItem

type OrderListItem struct {
	Agency string `json:"agency,omitempty"`

	// Order approve status (traveler_pending/traveler_rejected/manager_pending/manager_rejected/customer_ok)
	ApproveStatus string `json:"approveStatus,omitempty"`

	BookingDate string `json:"bookingDate,omitempty"`

	BookingType string `json:"bookingType,omitempty"`

	// Disruption status (ScheduledTimeChange/FlightCancellation)
	DisruptionStatus string `json:"disruptionStatus,omitempty"`

	// Flight Segment information. Including departure, arrival and airline information.
	Flights []OriginDestinationRs `json:"flights,omitempty"`

	// AirGateway order ID
	Id string `json:"id,omitempty"`

	OrderID string `json:"orderID,omitempty"`

	Owner string `json:"owner,omitempty"`

	Passengers []OrderListPassenger `json:"passengers,omitempty"`

	// Payment time limit
	PaymentTimeLimit string `json:"paymentTimeLimit,omitempty"`

	// PNR
	Pnr string `json:"pnr,omitempty"`

	Provider string `json:"provider,omitempty"`

	// Order status (Pending/Confirmed/Canceled/Voided/Refunded)
	Status string `json:"status,omitempty"`
}

type OrderListMedia

type OrderListMedia struct {
	Agencies []string `json:"agencies,omitempty"`

	Count int64 `json:"count,omitempty"`

	Counters *OrderListCounters `json:"counters,omitempty"`

	Orders []OrderListItem `json:"orders,omitempty"`
}

OrderListMedia media type (default view)

type OrderListPassenger

type OrderListPassenger struct {
	Document *Document `json:"document,omitempty"`

	// FareBasisCodes
	FareBasisCodes interface{} `json:"fareBasisCodes,omitempty"`

	// Infant reference (if any)
	InfantReference string `json:"infantReference,omitempty"`

	Passenger *PassengerDetails `json:"passenger,omitempty"`

	// Traveler reference from ServiceList response
	TravelerReference string `json:"travelerReference,omitempty"`
}

type OrderLog

type OrderLog struct {

	// Severity level
	Severity string `json:"severity,omitempty"`

	// Warning text
	Text string `json:"text,omitempty"`

	// Warning timestamp
	Timestamp string `json:"timestamp,omitempty"`

	// Type of request which warning came from (FP, OC)
	Type_ string `json:"type,omitempty"`
}

Order warning

type OrderMetasMedia

type OrderMetasMedia struct {

	// Order Metas save status
	Ok bool `json:"ok,omitempty"`
}

OrderMetasMedia media type (default view)

type OrderMetasPayload

type OrderMetasPayload struct {

	// AirGateway order ID
	Id string `json:"id"`

	// Metas object
	Metas interface{} `json:"metas,omitempty"`
}

OrderMetasPayload is the type for OrderMetas endpoint request body

type OrderRemarksMedia

type OrderRemarksMedia struct {

	// API status
	Ok bool `json:"ok,omitempty"`
}

OrderRemarksMedia media type (default view)

type OrderRemarksPayload

type OrderRemarksPayload struct {

	// AirGateway order ID
	Id string `json:"id"`

	Remarks string `json:"remarks,omitempty"`
}

OrderRemarksPayload is the type for OrderRemarks endpoint request body

type OrderReshopMedia

type OrderReshopMedia struct {
	Offers []OrderReshopMediaType `json:"offers,omitempty"`
}

OrderReshopMedia media type (default view)

type OrderReshopMediaType

type OrderReshopMediaType struct {

	// List of disclosures corresponding to offer.
	Disclosures []Disclosure `json:"disclosures,omitempty"`

	// Flight Segment information. Including departure, arrival and airline information.
	Flights []OriginDestinationRs `json:"flights,omitempty"`

	// Offer identifier
	OfferID string `json:"offerID,omitempty"`

	// Offer type
	OfferType string `json:"offerType,omitempty"`

	// 2 letter abbreviation of airline
	Owner string `json:"owner,omitempty"`

	Price *Price `json:"price,omitempty"`

	PriceBreakdown *PriceBreakdown `json:"priceBreakdown,omitempty"`

	// Indicates if the price has change from the original in the hold order.
	PriceChange bool `json:"priceChange,omitempty"`

	Warnings []OrderLog `json:"warnings,omitempty"`
}

type OrderReshopPayload

type OrderReshopPayload struct {

	// AirGateway order ID
	Id string `json:"id"`

	// Origin/Destination pair in a shopping search scenario
	OriginDestinations []OriginDestinationAsrq `json:"originDestinations"`

	Preferences *Preferences `json:"preferences,omitempty"`
}

type OrderReshopRefundMedia

type OrderReshopRefundMedia struct {

	// Flight Segment information. Including departure, arrival and airline information.
	Flights []OriginDestinationRs `json:"flights,omitempty"`

	OriginalOrder *Price `json:"originalOrder,omitempty"`

	Penalty *Price `json:"penalty,omitempty"`

	Refund *Price `json:"refund,omitempty"`

	// List of seats
	Seats []Seat `json:"seats,omitempty"`

	// List of services
	Services []ServiceResponse `json:"services,omitempty"`

	// Tickets information
	Tickets []TicketInfo `json:"tickets,omitempty"`

	Warnings []OrderLog `json:"warnings,omitempty"`
}

OrderReshopRefundMedia media type (default view)

type OrderReshopRefundPayload

type OrderReshopRefundPayload struct {

	// AirGateway order ID
	Id string `json:"id"`
}

type OrderReshopRepricePayload

type OrderReshopRepricePayload struct {

	// AirGateway order ID
	Id string `json:"id"`

	// OrderReshop offer ID for Reprice request
	OfferID string `json:"offerID,omitempty"`
}

type OrderRetrievePayload

type OrderRetrievePayload struct {

	// AirGateway order ID
	Id string `json:"id"`
}

OrderRetrievePayload is the type for OrderRetrieve endpoint request body

type OrderReviewMedia

type OrderReviewMedia struct {

	// result
	Ok bool `json:"ok,omitempty"`
}

OrderReviewMedia media type (default view)

type OrderReviewPayload

type OrderReviewPayload struct {

	// Review action
	Action string `json:"action"`

	// AirGateway order ID
	Id string `json:"id"`

	// Reason
	Reason string `json:"reason,omitempty"`
}

OrderReviewPayload is the type for OrderReview endpoint request body

type OriginDestinationAsrq

type OriginDestinationAsrq struct {
	Arrival *ArrivalAsrq `json:"arrival"`

	Departure *DepartureAsrq `json:"departure"`
}

Origin/Destination pair in a shopping search scenario

type OriginDestinationRs

type OriginDestinationRs struct {
	Arrival *FlightPointDataRsArr `json:"arrival,omitempty"`

	Departure *FlightPointDataRsDep `json:"departure,omitempty"`

	// Flight duration
	FlightDuration string `json:"flightDuration,omitempty"`

	// Flight key
	FlightKey string `json:"flightKey,omitempty"`

	FlightSegments []FlightSegment `json:"flightSegments,omitempty"`
}

type OriginDestinationRsInner

type OriginDestinationRsInner struct {
	Arrival *FlightPointDataRsArrInner `json:"arrival,omitempty"`

	Departure *FlightPointDataRsDepInner `json:"departure,omitempty"`
}

type PassengerDetails

type PassengerDetails struct {
	Address *Address `json:"address,omitempty"`

	// Birthdate using format YYYY-MM-DD.
	Birthdate string `json:"birthdate"`

	ContactInfoRef string `json:"contactInfoRef,omitempty"`

	EmailContact string `json:"emailContact,omitempty"`

	FqtvInfo *FqtvInfo `json:"fqtvInfo,omitempty"`

	// Valid values:
	Gender string `json:"gender"`

	Middle string `json:"middle,omitempty"`

	Middlename string `json:"middlename,omitempty"`

	NameGiven string `json:"nameGiven"`

	// Valid Values:
	NameTitle string `json:"nameTitle,omitempty"`

	PassengerType string `json:"passengerType"`

	Phone *Phone `json:"phone,omitempty"`

	ResidenceCountryCode string `json:"residenceCountryCode,omitempty"`

	Surname string `json:"surname"`
}

type PassengerRq

type PassengerRq struct {
	Document *Document `json:"document"`

	Identity4Discount []Identity4Discount `json:"identity4Discount,omitempty"`

	Passenger *PassengerDetails `json:"passenger"`

	Seats []Seat `json:"seats,omitempty"`

	Services []Service `json:"services,omitempty"`

	SpecialServices []Ssr `json:"specialServices,omitempty"`

	// Traveler reference from ServiceList response
	TravelerReference string `json:"travelerReference,omitempty"`
}

type PassengerRs

type PassengerRs struct {
	Bags []Service `json:"bags,omitempty"`

	Document *Document `json:"document,omitempty"`

	// FareBasisCodes
	FareBasisCodes interface{} `json:"fareBasisCodes,omitempty"`

	Identity4Discount []Identity4Discount `json:"identity4Discount,omitempty"`

	InfantReference string `json:"infantReference,omitempty"`

	Passenger *PassengerDetails `json:"passenger"`

	Seats []Seat `json:"seats,omitempty"`

	SpecialServices []Ssr `json:"specialServices,omitempty"`

	// Traveler reference from ServiceList response
	TravelerReference string `json:"travelerReference,omitempty"`
}

type Payment

type Payment struct {

	// VI (Visa), CA (MasterCard), JCB (JCB), AX (American Express), DC (Diners Club), CB (Carte blanche), TP (UATP/AIRPLUS), GK (Lufthansa GK Card), AU (Carte Aurore), not all credit cards are supported by all airlines, required if method == \"card\"
	CardCode string `json:"cardCode,omitempty"`

	CardHolderEmail string `json:"cardHolderEmail,omitempty"`

	CardHolderName string `json:"cardHolderName,omitempty"`

	CardHolderSurname string `json:"cardHolderSurname,omitempty"`

	// Valid Values:
	CardHolderTitle string `json:"cardHolderTitle,omitempty"`

	// CC Number, required if method == \"card\"
	CardNumber string `json:"cardNumber,omitempty"`

	// CC (Credit)/DB (Debit), required if method == \"card\"
	CardType string `json:"cardType,omitempty"`

	CashEmail string `json:"cashEmail,omitempty"`

	CashName string `json:"cashName,omitempty"`

	CashSurname string `json:"cashSurname,omitempty"`

	// Valid Values:
	CashTitle string `json:"cashTitle,omitempty"`

	// Card Holder Billing city, required if method == \"card\"
	CityName string `json:"cityName,omitempty"`

	// Card Holder Billing country code , required if method == \"card\"
	CountryCode string `json:"countryCode,omitempty"`

	Expiration string `json:"expiration,omitempty"`

	// Possible values: \"card\", \"cash\", \"agencyCard\", \"agencyCash\". Set this to \"card\" if you pay with card, otherwise it has to be \"cash\". Contact us to setup cash on file and card on file
	Method string `json:"method"`

	PassengerType string `json:"passengerType,omitempty"`

	Phone *Phone `json:"phone,omitempty"`

	// Card Holder Billing postal code, required if method == \"card\"
	PostalCode string `json:"postalCode,omitempty"`

	// CVV/CVC code, required if method == \"card\"
	SeriesCode string `json:"seriesCode,omitempty"`

	// The code of the state or province where the bank office issued the card, required if method == \"card\"
	StateProv string `json:"stateProv,omitempty"`

	// Card Holder Billing address, required if method == \"card\"
	Street1 string `json:"street1,omitempty"`

	Street2 string `json:"street2,omitempty"`
}

type Penalty

type Penalty struct {

	// Value and the application of this value for the penalty.
	Amounts []PenaltyAmount `json:"amounts,omitempty"`

	// A more extensive and explicit explanation of the penalty
	Description string `json:"description,omitempty"`

	// The code of the penalty
	Type_ string `json:"type,omitempty"`
}

type PenaltyAmount

type PenaltyAmount struct {

	// The homogenised value of the penalty for the application case (35 or 30.65)
	Amount float64 `json:"amount,omitempty"`

	// The consumer currency of this value
	Currency string `json:"currency,omitempty"`

	// The provider value of the penalty for the application case (30 or 30.70)
	ProviderAmount float64 `json:"providerAmount,omitempty"`

	// The provider currency of this value
	ProviderCurrency string `json:"providerCurrency,omitempty"`

	// Penalty remark.
	Remark string `json:"remark,omitempty"`
}

type Phone

type Phone struct {

	// The code of the area used to call by phone.
	AreaCode string `json:"areaCode"`

	// The code of the country used to call by phone.
	CountryCode string `json:"countryCode"`

	// The main section of the telephone number.
	Number string `json:"number"`
}

type Preferences

type Preferences struct {

	// Cabin preference from PADIS 9873.<br/>  Please take note that not all airlines accept all attributes, check our <a href=https://github.com/AirGateway/NDC-Gateway-Developer-Guide#cabin-preferences>developer guide</a>.<br/>  1-First Class,<br/>  2-Second Class (Business),<br/>  3-Third class, economy,<br/>  4-Economy/coach premium,<br/>  5-Economy/coach,<br/>  6-Economy/coach discounted,<br/>  7-All
	Cabin []string `json:"cabin,omitempty"`

	Discounts *Discount `json:"discounts,omitempty"`

	Fare *Fare `json:"fare,omitempty"`

	// List of fare preferences from PADIS 9910.</br>   Please take note that not all airlines accept all attributes, check our <a href=https://github.com/AirGateway/NDC-Gateway-Developer-Guide#fare-preferences>developer guide</a>.<br/>   70J-Published fares,<br/>   749-Negotiated fares,<br/>   754-Flexible Fare,<br/>   758-Private Fare,<br/>   759-Restricted Fare
	FareList []Fare `json:"fareList,omitempty"`

	// NonStop preferences for search. If this is present, it will search flights without stops.
	NonStop bool `json:"nonStop,omitempty"`
}

type Price

type Price struct {

	// 670 or 670.41
	BaseAmount float64 `json:"baseAmount,omitempty"`

	Currency string `json:"currency,omitempty"`

	// The price for each flight offer. There is an offer for each type of passenger (ADT, CHD, INF).
	OfferPrices []OfferPrice `json:"offerPrices,omitempty"`

	// 570 or 570.41
	ProviderBaseAmount float64 `json:"providerBaseAmount,omitempty"`

	ProviderCurrency string `json:"providerCurrency,omitempty"`

	// 617 or 617.21
	ProviderTotalPrice float64 `json:"providerTotalPrice,omitempty"`

	// 136 or 136.80
	ProviderTotalTaxes float64 `json:"providerTotalTaxes,omitempty"`

	// The value price, currency, code and description for each tax for each AirlineOffer
	Taxes []Tax `json:"taxes,omitempty"`

	// 720 or 720.62
	TotalPrice float64 `json:"totalPrice,omitempty"`

	// 120 or 120.63
	TotalTaxes float64 `json:"totalTaxes,omitempty"`
}

type PriceBreakdown

type PriceBreakdown struct {
	Inbound *Price `json:"inbound,omitempty"`

	Outbound *Price `json:"outbound,omitempty"`
}

Airline Offer price breakdown of combined round trip offers

type ProviderListMedia

type ProviderListMedia struct {
	Providers []string `json:"providers,omitempty"`
}

ProviderListMedia media type (default view)

type Route

type Route struct {
	Name        string
	Method      string
	Pattern     string
	HandlerFunc http.HandlerFunc
}

type Routes

type Routes []Route

type Rows

type Rows struct {

	// First row
	First float64 `json:"first,omitempty"`

	// Last row
	Last float64 `json:"last,omitempty"`
}

type Seat

type Seat struct {

	// A list of characteristics about the seat
	Characteristics []Characteristics `json:"characteristics,omitempty"`

	// Seat description
	Description string `json:"description,omitempty"`

	// This is an attribute for each seat.
	ListKey string `json:"listKey,omitempty"`

	Location *SeatLocation `json:"location,omitempty"`

	// Reference to passenger which can select the seat. Sometimes the same seat has different price depending on the type of passenger, some other times two passengers of the same type are not allowed to get the same seats, for example when two adults travel with an infant, one of those adults will have a few specific seats.
	PassengerRefs string `json:"passengerRefs,omitempty"`

	// Type of passenger which can select the seat (sometimes the same seat has different price depending on the type of passenger)
	PassengerType string `json:"passengerType,omitempty"`

	Price *Price `json:"price,omitempty"`

	// This is an attribute for each seat.
	Refs string `json:"refs,omitempty"`

	// Some seats have restriction about the age, blindness, deafness, state of pregnancy, etc...
	Remarks []string `json:"remarks,omitempty"`

	// Points when a seats is removable or not. Used only in OrderViewRS
	Removable bool `json:"removable,omitempty"`

	// Flight Segment Reference Key
	Segment string `json:"segment,omitempty"`
}

type SeatAvailabilityMedia

type SeatAvailabilityMedia struct {

	// Exit rows position
	ExitRowPosition []ExitRowPosition `json:"exitRowPosition,omitempty"`

	// Info about flight segments
	FlightSegments []FlightSegment `json:"flightSegments,omitempty"`

	// The owner of the segment flight that the SeatAvailability is requesting
	Owner string `json:"owner,omitempty"`

	// Info about seat display (rows and columns)
	SeatDisplay []SeatDisplay `json:"seatDisplay,omitempty"`

	// Info about seats location, description, characteristics, price...
	SeatList []Seat `json:"seatList,omitempty"`

	// Wing position rows
	WingPosition []WingPosition `json:"wingPosition,omitempty"`
}

SeatAvailabilityMedia media type (default view)

type SeatAvailabilityPayload

type SeatAvailabilityPayload struct {

	// AirGateway order ID
	Id string `json:"id,omitempty"`

	Passengers []ServiceListPassenger `json:"passengers,omitempty"`

	// Segment ID. Use when need to fetch a certain segment of flight
	SegmentID string `json:"segmentID,omitempty"`

	// The responseID provided in OfferPrice response. Use when request SeatAvailability on Pre-Booking stage
	ShoppingResponseID string `json:"shoppingResponseID,omitempty"`
}

SeatAvailability data

type SeatDisplay

type SeatDisplay struct {

	// All available seat columns
	Columns string `json:"columns,omitempty"`

	Rows *Rows `json:"rows,omitempty"`

	// Flight Segment Reference Key
	Segment string `json:"segment,omitempty"`
}

type SeatLocation

type SeatLocation struct {

	// Column of the seat
	Column string `json:"column,omitempty"`

	// Row of the seat
	Row int64 `json:"row,omitempty"`
}

type Service

type Service struct {

	// Service ID
	Id string `json:"id,omitempty"`

	// Flight segment reference
	SegmentReference string `json:"segmentReference,omitempty"`

	// Used in some services to indicate the quantity of some extra kilos in the baggage, the type of pet, etc...
	Text string `json:"text,omitempty"`
}

type ServiceListMedia

type ServiceListMedia struct {

	// List of disclosures
	Disclosures []Disclosure `json:"disclosures,omitempty"`

	FlightSegments []FlightSegment `json:"flightSegments,omitempty"`

	// List of referenced travelers
	Passengers []OfferPassenger `json:"passengers,omitempty"`

	// List of services
	Services []ServiceResponse `json:"services,omitempty"`

	Warnings []OrderLog `json:"warnings,omitempty"`
}

ServiceListMedia media type (default view)

type ServiceListPassenger

type ServiceListPassenger struct {

	// Infant reference from OrderCreate response
	InfantReference string `json:"infantReference,omitempty"`

	Passenger *ServiceListPassengerDetails `json:"passenger,omitempty"`

	// Traveler reference from ServiceList response
	TravelerReference string `json:"travelerReference,omitempty"`
}

type ServiceListPassengerDetails

type ServiceListPassengerDetails struct {

	// Passenger's birthdate
	Birthdate string `json:"birthdate,omitempty"`

	// Contact info reference
	ContactInfoRef string `json:"contactInfoRef,omitempty"`

	// Passenger's email contact
	EmailContact string `json:"emailContact,omitempty"`

	// Valid values:
	Gender string `json:"gender,omitempty"`

	// Passenger's given name
	NameGiven string `json:"nameGiven"`

	// Valid Values:
	NameTitle string `json:"nameTitle,omitempty"`

	// Type of passenger (ADT, CHD, ...)
	PassengerType string `json:"passengerType"`

	Phone *Phone `json:"phone,omitempty"`

	// Passenger's surname
	Surname string `json:"surname"`
}

type ServiceListPayload

type ServiceListPayload struct {

	// AirGateway order ID
	Id string `json:"id,omitempty"`

	Passengers []ServiceListPassenger `json:"passengers,omitempty"`

	// The responseID provided in OfferPrice response. Use when request ServiceList on Pre-Booking stage
	ShoppingResponseID string `json:"shoppingResponseID,omitempty"`
}

ServiceListPayload is the type for ServiceList endpoint request body

type ServiceRequest

type ServiceRequest struct {

	// Action (Create/Cancel)
	Action string `json:"action"`

	// Service owner
	Owner string `json:"owner,omitempty"`

	// Baggage type (deprecated)
	Quantity float64 `json:"quantity,omitempty"`

	SeatLocation *SeatLocation `json:"seatLocation,omitempty"`

	// Segment reference
	SegmentReference string `json:"segmentReference,omitempty"`

	// Type of service (ID)
	ServiceID string `json:"serviceID,omitempty"`

	// Used in some services to indicate the quantity of some extra kilos in the baggage, the type of pet, etc...
	Text string `json:"text,omitempty"`

	// Traveler reference
	TravelerReference string `json:"travelerReference,omitempty"`

	// Type of service object. Required for service object validation
	Type_ string `json:"type"`
}

Service Request

type ServiceResponse

type ServiceResponse struct {

	// Points when a service is removable or not. Used only in OrderViewRS
	Removable bool `json:"Removable,omitempty"`

	BookingInstructions *BookingInstructions `json:"bookingInstructions,omitempty"`

	// List of service descriptions
	Descriptions []string `json:"descriptions,omitempty"`

	// Maximum quantity of services
	MaximumQuantity int64 `json:"maximumQuantity,omitempty"`

	// Minimum quantity of services
	MinimumQuantity int64 `json:"minimumQuantity,omitempty"`

	// Service name
	Name string `json:"name,omitempty"`

	// Service object key
	ObjectKey string `json:"objectKey,omitempty"`

	Price *Price `json:"price,omitempty"`

	// Service reference
	Ref string `json:"ref,omitempty"`

	// Segment references
	SegmentReferences string `json:"segmentReferences,omitempty"`

	// Service ID
	ServiceID string `json:"serviceID,omitempty"`

	// Traveler references
	TravelerReferences string `json:"travelerReferences,omitempty"`
}

Service List

type Ssr

type Ssr struct {
	BookingInstructions *BookingInstructions `json:"bookingInstructions,omitempty"`

	// Special service request code
	Code string `json:"code,omitempty"`

	// Special service request description
	Desc string `json:"desc,omitempty"`

	// Passenger type SSR applies to
	PassengerType string `json:"passengerType,omitempty"`

	// Special service request text required flag
	TextRequired bool `json:"text_required,omitempty"`
}

type StopLocation

type StopLocation struct {

	// Airport code
	AirportCode string `json:"airportCode,omitempty"`

	// Airport name
	AirportName string `json:"airportName,omitempty"`

	// Arrival date
	ArrivalDate string `json:"arrivalDate,omitempty"`

	// Arrival time
	ArrivalTime string `json:"arrivalTime,omitempty"`

	// Departure date
	DepartureDate string `json:"departureDate,omitempty"`

	// Departure time
	DepartureTime string `json:"departureTime,omitempty"`
}

Stop location details

type Tax

type Tax struct {

	// The price (12 or 12.09)
	Amount float64 `json:"amount,omitempty"`

	// The currency code used for each tax
	Currency string `json:"currency,omitempty"`

	// The description of each tax
	Description string `json:"description,omitempty"`

	// The code used for each tax
	TaxCode string `json:"taxCode,omitempty"`
}

type TicketInfo

type TicketInfo struct {

	// Ticket issue date
	DateOfIssue string `json:"dateOfIssue,omitempty"`

	// Number of tickets for passenger
	NumberOfBooklets int64 `json:"numberOfBooklets,omitempty"`

	// Passenger reference
	PassengerRef string `json:"passengerRef,omitempty"`

	Price *Price `json:"price,omitempty"`

	// Status of ticket info
	Status string `json:"status,omitempty"`

	// Ticket number of passenger
	TicketNumber string `json:"ticketNumber,omitempty"`

	// Ticket issue time
	TimeOfIssue string `json:"timeOfIssue,omitempty"`

	// Type of ticket
	TypeCode string `json:"typeCode,omitempty"`
}

type Travelers

type Travelers struct {

	// Number of adult passengers - older than 12 yo
	ADT float64 `json:"ADT"`

	// Number of children - older than 2 yo
	CHD float64 `json:"CHD,omitempty"`

	// Number of infants - younger than 2 yo
	INF float64 `json:"INF,omitempty"`

	// Number of young adults - 12-16 yo
	YAD float64 `json:"YAD,omitempty"`
}

type WingPosition

type WingPosition struct {
	Rows *Rows `json:"rows,omitempty"`
}

Source Files

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL