structs

package
v1.3.0 Latest Latest
Warning

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

Go to latest
Published: Jan 27, 2020 License: MIT Imports: 2 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// Date and time formats
	Time        = "15:04"
	TimeSec     = "15:04:05"
	Date        = "02.01.2006"
	TimeDate    = "15:04 02.01.2006"
	DateTime    = "02.01.2006 15:04"
	TimeSecDate = "15:04:05 02.01.2006"
	DateTimeSec = "02.01.2006 15:04:05"
)

Variables

View Source
var MockPricingAnswerPrice = PricingAnswerPrice{
	Baggage:           "",
	ValidatingAirline: "",
	OriginalPaxType:   "",
	Currency:          "",
	PassengerID:       0,
	PaxType:           "ADT",
	IsRoundTrip:       false,
	FormPay:           "",
	Upt:               PriceUpt{},
	Fare:              nil,
	Taxes:             nil,
	Vat:               nil,
	Total:             0,
	UPT18CatText:      "",
}
View Source
var MockPricingAnswerPriceWithBrand = PricingAnswerPrice{
	Brand:             "BRAND TEST S7 N4",
	Baggage:           "",
	ValidatingAirline: "",
	OriginalPaxType:   "",
	Currency:          "",
	PassengerID:       0,
	PaxType:           "ADT",
	IsRoundTrip:       false,
	FormPay:           "",
	Upt:               PriceUpt{},
	Fare:              nil,
	Taxes:             nil,
	Vat:               nil,
	Total:             0,
	UPT18CatText:      "",
}
View Source
var MockPricingAnswerVariantDirectionOne = PricingAnswerVariantDirection{
	Num:    1,
	Prices: []*PricingAnswerPrice{&MockPricingAnswerPrice},
}
View Source
var MockPricingAnswerVariantDirectionOneWithBrand = PricingAnswerVariantDirection{
	Num:    1,
	Prices: []*PricingAnswerPrice{&MockPricingAnswerPriceWithBrand},
}
View Source
var MockPricingAnswerVariantDirectionTwo = PricingAnswerVariantDirection{
	Num: 2,
	Prices: []*PricingAnswerPrice{{
		Upt:               PriceUpt{},
		Fare:              nil,
		Taxes:             nil,
		Vat:               nil,
		Baggage:           "",
		ValidatingAirline: "",
		OriginalPaxType:   "",
		Brand:             "",
		Total:             0,
		Currency:          "",
		PassengerID:       0,
		PaxType:           "CHD",
	}},
}
View Source
var MockPricingAnswerVariantFlightFour = PricingAnswerVariantFlight{
	ID:         "3",
	Num:        2,
	Class:      "Z",
	SubClass:   "H",
	BaseClass:  "J",
	Available:  0,
	SegmentNum: "",
	Cabin:      "J",
}
View Source
var MockPricingAnswerVariantFlightGroup = PricingAnswerVariantFlightGroup{
	BookingTimeLimit:      "",
	NeedLatinRegistration: false,
	ETPossible:            false,
	ETBlanks:              false,
	Flight:                []PricingAnswerVariantFlight{MockPricingAnswerVariantFlightOne},
}
View Source
var MockPricingAnswerVariantFlightOne = PricingAnswerVariantFlight{
	ID:         "1",
	Num:        1,
	Class:      "Y",
	SubClass:   "Y",
	BaseClass:  "B",
	Available:  0,
	SegmentNum: "",
	Cabin:      "N",
}
View Source
var MockPricingAnswerVariantFlightThree = PricingAnswerVariantFlight{
	ID:         "2",
	Num:        2,
	Class:      "Z",
	SubClass:   "H",
	BaseClass:  "J",
	Available:  0,
	SegmentNum: "",
	Cabin:      "J",
}
View Source
var MockPricingAnswerVariantFlightTwo = PricingAnswerVariantFlight{
	ID:         "5",
	Num:        1,
	Class:      "f",
	SubClass:   "q",
	BaseClass:  "B",
	Available:  0,
	SegmentNum: "",
	Cabin:      "N",
}

Functions

This section is empty.

Types

type AddFFInfo

type AddFFInfo struct {
	Regnum    string                      `xml:"regnum"`
	Surname   string                      `xml:"surname"`
	Passenger []AddFFInfoRequestPassenger `xml:"passenger"`
}

AddFFInfo is a body of <add_ff_info> request

type AddFFInfoAnswer

type AddFFInfoAnswer struct {
	Pult      string                   `xml:"pult,attr,omitempty"`
	AddFFInfo AddFFInfoAnswerAddFFInfo `xml:"add_ff_info"`
}

AddFFInfoAnswer is an <answer> section in Sirena <add_ff_info> response

type AddFFInfoAnswerAddFFInfo

type AddFFInfoAnswerAddFFInfo struct {
	Ok    *struct{} `xml:"ok,omitempty"`
	Error *Error    `xml:"error,omitempty"`
}

AddFFInfoAnswerAddFFInfo is a <add_ff_info> section in Sirena <add_ff_info> response

type AddFFInfoRequest

type AddFFInfoRequest struct {
	Query   AddFFInfoRequestQuery `xml:"query"`
	XMLName xml.Name              `xml:"sirena"`
}

AddFFInfoRequest is a <add_ff_info> request

type AddFFInfoRequestPassenger

type AddFFInfoRequestPassenger struct {
	ID          int                                `xml:"id,attr"`
	FreqFlierID PassengerFreqFlierID               `xml:"freq_flier_id"`
	Segment     []AddFFInfoRequestPassengerSegment `xml:"segment"`
}

AddFFInfoRequestPassenger is a passenger in <add_ff_info> request

type AddFFInfoRequestPassengerSegment

type AddFFInfoRequestPassengerSegment struct {
	ID int `xml:"id,attr,omitempty"`
}

AddFFInfoRequestPassengerSegment is a <segment> subsection of <passenger> section of <add_ff_info> request

type AddFFInfoRequestQuery

type AddFFInfoRequestQuery struct {
	AddFFInfo AddFFInfo `xml:"add_ff_info"`
}

AddFFInfoRequestQuery is a <query> section in <add_ff_info> request

type AddFFInfoResponse

type AddFFInfoResponse struct {
	Answer  AddFFInfoAnswer `xml:"answer"`
	XMLName xml.Name        `xml:"sirena" json:"-"`
}

AddFFInfoResponse is a Sirena response to <add_ff_info> request

type AddRemark

type AddRemark struct {
	Regnum  string `xml:"regnum"`
	Surname string `xml:"surname"`
	Type    string `xml:"type"`
	Remark  string `xml:"remark"`
}

AddRemark is a body of <add_remark> request

type AddRemarkAnswer

type AddRemarkAnswer struct {
	Pult      string                   `xml:"pult,attr,omitempty"`
	AddRemark AddRemarkAnswerAddRemark `xml:"add_remark"`
}

AddRemarkAnswer is an <answer> section in Sirena <add_remark> response

type AddRemarkAnswerAddRemark

type AddRemarkAnswerAddRemark struct {
	Ok    *struct{} `xml:"ok,omitempty"`
	Error *Error    `xml:"error,omitempty"`
}

AddRemarkAnswerAddRemark is a <add_remark> section in Sirena <add_remark> response

type AddRemarkRequest

type AddRemarkRequest struct {
	Query   AddRemarkRequestQuery `xml:"query"`
	XMLName xml.Name              `xml:"sirena"`
}

AddRemarkRequest is a <add_remark> request

type AddRemarkRequestQuery

type AddRemarkRequestQuery struct {
	AddRemark AddRemark `xml:"add_remark"`
}

AddRemarkRequestQuery is a <query> section in <add_remark> request

type AddRemarkResponse

type AddRemarkResponse struct {
	Answer  AddRemarkAnswer `xml:"answer"`
	XMLName xml.Name        `xml:"sirena" json:"-"`
}

AddRemarkResponse is a Sirena response to <add_remark> request

type Airlines

type Airlines struct {
	Data string `xml:"data"`
	Code string `xml:"code,omitempty"`
}

Airlines is a <describe> section in all airlines request

type AirlinesAnswer

type AirlinesAnswer struct {
	Airlines AirlinesAnswerDetails `xml:"describe"`
}

AirlinesAnswer is an <answer> section in all airlines response

type AirlinesAnswerData

type AirlinesAnswerData struct {
	AccountCode string                       `xml:"account-code" json:"account_code"`
	Code        []AirlinesAnswerDataCode     `xml:"code" json:"code"`
	Name        []AirlinesAnswerDataName     `xml:"name" json:"name"`
	SubClasses  []AirlinesAnswerDataSubClass `xml:"subclasses>subclass" json:"subclasses,omitempty"`
}

AirlinesAnswerData is a <data> section in all airlines response

type AirlinesAnswerDataCode

type AirlinesAnswerDataCode struct {
	Lang  string `xml:"lang,attr" json:"lang"`
	Value string `xml:",chardata" json:"value"`
}

AirlinesAnswerDataCode represents <lang> entry in <data> section

type AirlinesAnswerDataName

type AirlinesAnswerDataName struct {
	Lang  string `xml:"lang,attr" json:"lang"`
	Value string `xml:",chardata" json:"value"`
}

AirlinesAnswerDataName represents <name> entry in <data> section

type AirlinesAnswerDataSubClass

type AirlinesAnswerDataSubClass struct {
	Class string `xml:"class,attr" json:"class"`
	Value string `xml:",chardata" json:"value"`
}

AirlinesAnswerDataSubClass represents <subclass> entry in <subclasses> section

type AirlinesAnswerDetails

type AirlinesAnswerDetails struct {
	Data  []AirlinesAnswerData `xml:"data"`
	Error *Error               `xml:"error,omitempty"`
}

AirlinesAnswerDetails is a <describe> section in all airlines response

type AirlinesRequest

type AirlinesRequest struct {
	Query   AirlinesRequestQuery `xml:"query"`
	XMLName xml.Name             `xml:"sirena"`
}

AirlinesRequest is a Sirena <describe> request for all airlines

type AirlinesRequestQuery

type AirlinesRequestQuery struct {
	Airlines Airlines `xml:"describe"`
}

AirlinesRequestQuery is a <query> section in all airlines request

type AirlinesResponse

type AirlinesResponse struct {
	Answer  AirlinesAnswer `xml:"answer"`
	XMLName xml.Name       `xml:"sirena" json:"-"`
}

AirlinesResponse is a response to all airlines request

type Airports

type Airports struct {
	Data string `xml:"data"`
	Code string `xml:"code,omitempty"`
}

Airports is a <describe> section in all airports request

type AirportsAnswer

type AirportsAnswer struct {
	Airports AirportsAnswerDetails `xml:"describe"`
}

AirportsAnswer is an <answer> section in all airports response

type AirportsAnswerData

type AirportsAnswerData struct {
	Code []AirportsAnswerDataCode `xml:"code" json:"code"`
	Name []AirportsAnswerDataName `xml:"name" json:"name"`
	City []AirportsAnswerDataCity `xml:"city" json:"city"`
}

AirlinesAnswerData is a <data> section in all airports response

type AirportsAnswerDataCity

type AirportsAnswerDataCity struct {
	Lang  string `xml:"lang,attr" json:"lang"`
	Value string `xml:",chardata" json:"value"`
}

AirportsAnswerDataCity represents <city> entry in <data> section

type AirportsAnswerDataCode

type AirportsAnswerDataCode struct {
	Lang  string `xml:"lang,attr" json:"lang"`
	Value string `xml:",chardata" json:"value"`
}

AirportsAnswerDataCode represents <code> entry in <data> section

type AirportsAnswerDataName

type AirportsAnswerDataName struct {
	Lang  string `xml:"lang,attr" json:"lang"`
	Value string `xml:",chardata" json:"value"`
}

AirportsAnswerDataName represents <name> entry in <data> section

type AirportsAnswerDetails

type AirportsAnswerDetails struct {
	Data  []AirportsAnswerData `xml:"data"`
	Error *Error               `xml:"error,omitempty"`
}

AirportsAnswerDetails is a <describe> section in all airports response

type AirportsRequest

type AirportsRequest struct {
	Query   AirportsRequestQuery `xml:"query"`
	XMLName xml.Name             `xml:"sirena"`
}

AirportsRequest is a Sirena <describe> request for all airports

type AirportsRequestQuery

type AirportsRequestQuery struct {
	Airports Airports `xml:"describe"`
}

AirportsRequestQuery is a <query> section in all airports request

type AirportsResponse

type AirportsResponse struct {
	Answer  AirportsAnswer `xml:"answer"`
	XMLName xml.Name       `xml:"sirena" json:"-"`
}

AirportsResponse is a response to all airports request

type Answer added in v1.3.0

type Answer struct {
	Availability Availability `xml:"availability"`
}

type Availability

type Availability struct {
	Departure    string                   `xml:"departure,omitempty"`
	Arrival      string                   `xml:"arrival,omitempty"`
	AnswerParams AvailabilityAnswerParams `xml:"answer_params,omitempty"`
	Flight       []AvailabilityFlight     `xml:"flight,omitempty"`
	Flights      []AvailabilityFlights    `xml:"flights,omitempty"`
}

type AvailabilityAnswerParams

type AvailabilityAnswerParams struct {
	ShowFlightTime bool `xml:"show_flightTime"`
}

type AvailabilityFlight

type AvailabilityFlight struct {
	Company        string   `xml:"company"`
	Destination    string   `xml:"destination"`
	Subclass       Subclass `xml:"subclass"`
	Num            int      `xml:"num"`
	Origin         string   `xml:"origin"`
	OriginTerminal string   `xml:"orig_term"`
}

type AvailabilityFlights

type AvailabilityFlights struct {
	Flight []AvailabilityFlight `xml:"flight,omitempty"`
}

type AvailabilityRequest

type AvailabilityRequest struct {
	XMLName xml.Name                 `xml:"sirena"`
	Query   AvailabilityRequestQuery `xml:"query"`
}

type AvailabilityRequestQuery

type AvailabilityRequestQuery struct {
	Availability  Availability  `xml:"availability"`
	Departure     string        `xml:"departure,omitempty"`
	Arrival       string        `xml:"arrival,omitempty"`
	Subclass      []string      `xml:"subclass"`
	RequestParams RequestParams `xml:"request_params"`
}

type AvailabilityResponse

type AvailabilityResponse struct {
	XMLName xml.Name `xml:"sirena"`
	Answer  Answer   `xml:"answer"`
}

type Booking

type Booking struct {
	Segments        []BookingRequestSegment        `xml:"segment"`
	LandSegments    []BookingRequestLandSegment    `xml:"land_segment"`
	StandbySegments []BookingRequestStandbySegment `xml:"standby_segment"`
	Passenger       []BookingRequestPassenger      `xml:"passenger"`
	Contacts        *BookingRequestContacts        `xml:"contacts,omitempty"`
	SpecialServices *BookingRequestSpecialServices `xml:"special_services,omitempty"`
	Remarks         *BookingRequestRemarks         `xml:"remarks,omitempty"`
	AgentComission  *BookingRequestAgentComission  `xml:"agent_comission,omitempty"`
	AnswerParams    BookingAnswerParams            `xml:"answer_params,omitempty"`
	RequestParams   BookingRequestParams           `xml:"request_params,omitempty"`
}

Booking is a <booking> section in Sirena booking request

type BookingAnswer

type BookingAnswer struct {
	Pult     string               `xml:"pult,attr,omitempty"`
	MsgID    int                  `xml:"msgid,attr"`
	Time     string               `xml:"time,attr"`
	Instance string               `xml:"instance,attr"`
	Booking  BookingAnswerBooking `xml:"booking"`
}

BookingAnswer is an <answer> section in Sirena booking response

type BookingAnswerBooking

type BookingAnswerBooking struct {
	Regnum   string                `xml:"regnum,attr"`
	Agency   string                `xml:"agency,attr"`
	PNR      BookingAnswerPNR      `xml:"pnr"`
	Contacts BookingAnswerContacts `xml:"contacts"`
	Error    *Error                `xml:"error,omitempty"`
}

BookingAnswerBooking is a <booking> section in Sirena booking response

type BookingAnswerContacts

type BookingAnswerContacts struct {
	Contacts []Contact        `xml:"contact"`
	Customer ContactsCustomer `xml:"customer"`
}

BookingAnswerContacts is a <contacts> entry in <booking> section

type BookingAnswerPNR

type BookingAnswerPNR struct {
	RegNum            string                      `xml:"regnum"`
	UTCTimeLimit      string                      `xml:"utc_timelimit"`
	TimeLimit         string                      `xml:"timelimit"`
	LatinRegistration bool                        `xml:"latin_registration"`
	Version           int                         `xml:"version"`
	Segments          []BookingAnswerPNRSegment   `xml:"segments>segment"`
	Passengers        []BookingAnswerPNRPassenger `xml:"passengers>passenger"`
	Prices            BookingAnswerPNRPrices      `xml:"prices"`
}

BookingAnswerPNR is a <pnr> section in Sirena booking response

type BookingAnswerPNRPassenger

type BookingAnswerPNRPassenger struct {
	ID          string               `xml:"id,attr,omitempty"`
	LeadPass    bool                 `xml:"lead_pass,attr"`
	Name        string               `xml:"name"`
	Surname     string               `xml:"surname"`
	Sex         string               `xml:"sex"`
	Birthdate   string               `xml:"birthdate"`
	Age         int                  `xml:"age"`
	DocCode     string               `xml:"doccode"`
	Doc         string               `xml:"doc"`
	PspExpire   string               `xml:"pspexpire"`
	Category    PNRPassengerCategory `xml:"category"`
	DocCountry  string               `xml:"doc_country"`
	Nationality string               `xml:"nationality"`
	Residence   string               `xml:"residence"`
	Contacts    []Contact            `xml:"contacts>contact"`
}

BookingAnswerPNRPassenger is a <passenger> section in Sirena booking response

type BookingAnswerPNRPrice

type BookingAnswerPNRPrice struct {
	SegmentID         int            `xml:"segment-id,attr"`
	PassengerID       int            `xml:"passenger-id,attr"`
	Code              string         `xml:"code,attr"`
	OrigCode          string         `xml:"orig_code,attr"`
	Count             int            `xml:"count,attr"`
	Currency          string         `xml:"currency,attr"`
	TourCode          string         `xml:"tour_code,attr"`
	FC                string         `xml:"fc,attr"`
	Baggage           string         `xml:"baggage,attr"`
	Ticket            string         `xml:"ticket,attr"`
	ValidatingCompany string         `xml:"validating_company,attr"`
	ACCode            string         `xml:"accode,attr"`
	DocType           string         `xml:"doc_type,attr"`
	DocID             string         `xml:"doc_id,attr"`
	Brand             string         `xml:"brand,attr"`
	Fare              PNRPriceFare   `xml:"fare"`
	Taxes             []PNRPriceTax  `xml:"taxes>tax"`
	PaymentInfo       PNRPaymentInfo `xml:"payment_info>payment"`
	Total             float64        `xml:"total"`
	Vat               *Vat           `xml:"vat"`
}

BookingAnswerPNRPrice is a <price> entry in Sirena booking response

type BookingAnswerPNRPrices

type BookingAnswerPNRPrices struct {
	TickSer      string                  `xml:"tick_ser,attr"`
	FOP          string                  `xml:"fop,attr"`
	Prices       []BookingAnswerPNRPrice `xml:"price"`
	VariantTotal PNRVariantTotal         `xml:"variant_total"`
}

BookingAnswerPNRPrices is a <prices> section in <booking> answer

func (*BookingAnswerPNRPrices) GetFarePaxCost added in v1.3.0

func (b *BookingAnswerPNRPrices) GetFarePaxCost(paxType string) *float64

func (*BookingAnswerPNRPrices) GetFareVariantCost added in v1.3.0

func (b *BookingAnswerPNRPrices) GetFareVariantCost() *float64

func (*BookingAnswerPNRPrices) GetRawTaxPax added in v1.3.0

func (b *BookingAnswerPNRPrices) GetRawTaxPax(paxType string) []PNRPriceTax

func (*BookingAnswerPNRPrices) GetRawVatPax added in v1.3.0

func (b *BookingAnswerPNRPrices) GetRawVatPax(paxType string) []*Vat

func (*BookingAnswerPNRPrices) GetTaxesPaxCost added in v1.3.0

func (b *BookingAnswerPNRPrices) GetTaxesPaxCost(paxType string) *float64

GetTaxesPaxCost func return tax amount for passenger of given type

func (*BookingAnswerPNRPrices) GetTaxesVariantCost added in v1.3.0

func (b *BookingAnswerPNRPrices) GetTaxesVariantCost() *float64

func (*BookingAnswerPNRPrices) GetTotalPaxCost added in v1.3.0

func (b *BookingAnswerPNRPrices) GetTotalPaxCost(paxType string) *float64

func (*BookingAnswerPNRPrices) GetTotalVariantCost added in v1.3.0

func (b *BookingAnswerPNRPrices) GetTotalVariantCost() PNRVariantTotal

type BookingAnswerPNRSegment

type BookingAnswerPNRSegment struct {
	ID           int                        `xml:"id,attr,omitempty"`
	Company      string                     `xml:"company"`
	Flight       string                     `xml:"flight"`
	SubClass     string                     `xml:"subclass"`
	Class        string                     `xml:"class"`
	BaseClass    string                     `xml:"baseclass"`
	SeatCount    int                        `xml:"seatcount"`
	Airplane     string                     `xml:"airplane"`
	Legs         []PNRSegmentLeg            `xml:"legs>leg"`
	Departure    PNRSegmentDepartureArrival `xml:"departure"`
	Arrival      PNRSegmentDepartureArrival `xml:"arrival"`
	Status       PNRSegmentStatus           `xml:"status"`
	FlightTime   string                     `xml:"flightTime"`
	RemoteRecloc string                     `xml:"remote_recloc"`
	Cabin        string                     `xml:"cabin"`
}

BookingAnswerPNRSegment is a <segment> section in <booking> answer

type BookingAnswerParams

type BookingAnswerParams struct {
	ShowUptRec      bool   `xml:"show_upt_rec,omitempty"`
	AddRemarks      bool   `xml:"add_remarks,omitempty"`
	AddSsr          bool   `xml:"add_ssr,omitempty"`
	AddRemoteRecloc bool   `xml:"add_remote_recloc,omitempty"`
	ShowComission   bool   `xml:"show_comission,omitempty"`
	Lang            string `xml:"lang,omitempty"`
}

BookingAnswerParams is an <answer_params> entry in Sirena booking request

type BookingRequest

type BookingRequest struct {
	Query   BookingRequestQuery `xml:"query"`
	XMLName xml.Name            `xml:"sirena"`
}

BookingRequest is a Sirena booking request

type BookingRequestAgentComission

type BookingRequestAgentComission struct {
	Type  string `xml:"type,attr"`
	Curr  string `xml:"curr,attr,omitempty"`
	Value string `xml:",chardata"`
}

BookingRequestAgentComission is an <agent_comission> in Sirena booking request

type BookingRequestContacts

type BookingRequestContacts struct {
	Phone *Phone `xml:"phone"`
	Email string `xml:"email"`
}

type BookingRequestFormpay

type BookingRequestFormpay struct {
	Type  string `xml:"type,attr,omitempty"`
	Value string `xml:",chardata"`
}

BookingRequestFormpay is a <formpay> entry in <request_params>

type BookingRequestLandSegment

type BookingRequestLandSegment struct {
	ID      int `xml:"id,omitempty"`
	JointId int `xml:"joint_id,omitempty"`
}

type BookingRequestParams

type BookingRequestParams struct {
	TickSer       string                `xml:"tick_ser,omitempty"`
	ParcelAgency  string                `xml:"parcel_agency,omitempty"`
	Formpay       BookingRequestFormpay `xml:"formpay,omitempty"`
	AllowWaitlist bool                  `xml:"allow_waitlist,omitempty"`
	Brand         []Brand               `xml:"brand,omitempty"`
}

BookingRequestParams is a <request_params> section in Sirena booking request

type BookingRequestPassenger

type BookingRequestPassenger struct {
	ID          int       `xml:"-"`
	Lastname    string    `xml:"lastname"`
	Firstname   string    `xml:"firstname"`
	Category    string    `xml:"category"`
	Sex         string    `xml:"sex"`
	Birthdate   string    `xml:"birthdate"`
	Doccode     string    `xml:"doccode"`
	Doc         string    `xml:"doc"`
	PspExpire   string    `xml:"pspexpire,omitempty"`
	DocCountry  string    `xml:"doc_country,omitempty"`
	Nationality string    `xml:"nationality,omitempty"`
	Residence   string    `xml:"residence,omitempty"`
	DocCodeDisc string    `xml:"doccode_disc,omitempty"`
	DocDisc     string    `xml:"doc_disc,omitempty"`
	Phones      []Phone   `xml:"phone,omitempty"`
	Contacts    []Contact `xml:"contact,omitempty"`
}

type BookingRequestQuery

type BookingRequestQuery struct {
	Booking Booking `xml:"booking"`
}

BookingRequestQuery is a <query> section in Sirena booking request

type BookingRequestRemarks

type BookingRequestRemarks struct {
	Remark []string `xml:"remark,omitempty"`
}

BookingRequestRemarks is a <remarks> section in Sirena booking request

type BookingRequestSegment

type BookingRequestSegment struct {
	Company   string `xml:"company"`
	Flight    string `xml:"flight"`
	Departure string `xml:"departure"`
	Arrival   string `xml:"arrival"`
	Date      string `xml:"date"`
	Subclass  string `xml:"subclass"`
	ID        int    `xml:"id,attr"`
	JointId   int    `xml:"joint_id,omitempty"`
}

BookingRequestSegment is a <segment> section in <booking> request

type BookingRequestSpecialServices

type BookingRequestSpecialServices struct {
	Ssrs []Ssr `xml:"ssr"`
}

BookingRequestSpecialServices is a <special_services> section in Sirena booking request

type BookingRequestStandbySegment

type BookingRequestStandbySegment struct {
	Company   string `xml:"company"`
	Flight    string `xml:"flight,omitempty"`
	Departure string `xml:"departure"`
	DepTime   string `xml:"depTime,omitempty"`
	Arrival   string `xml:"arrival"`
	ArrTime   string `xml:"arrTime,omitempty"`
	Date      string `xml:"date,omitempty"`
	Subclass  string `xml:"subclass"`
	ID        int    `xml:"id,omitempty"`
	JointId   int    `xml:"joint_id,omitempty"`
}

type BookingResponse

type BookingResponse struct {
	Answer  BookingAnswer `xml:"answer"`
	XMLName xml.Name      `xml:"sirena" json:"-"`
}

BookingResponse is a Sirena response to <booking> request

type Brand added in v1.3.0

type Brand struct {
	Value string `xml:",chardata"`
	SegId int    `xml:"seg_id,attr"`
}

type BrandCode added in v1.3.0

type BrandCode struct {
	Value string `xml:",chardata"`
}

type BrandInfo added in v1.3.0

type BrandInfo struct {
	ID        string    `xml:"id,attr"`
	BrandCode BrandCode `xml:"brand_code"`
}

type CancelRequest

type CancelRequest struct {
	Query   CancelRequestQuery `xml:"query"`
	XMLName xml.Name           `xml:"sirena"`
}

CancelRequest is a <payment-ext-auth:refund> request

type CancelRequestBody

type CancelRequestBody struct {
	Regnum  string `xml:"regnum"`
	Surname string `xml:"surname"`
}

CancelRequestBody is a body of <payment-ext-auth:refund> request

type CancelRequestQuery

type CancelRequestQuery struct {
	Cancel CancelRequestBody `xml:"booking-cancel"`
}

CancelRequestQuery is a <query> section in <payment-ext-auth:refund> request

type Cities

type Cities struct {
	Data string `xml:"data"`
	Code string `xml:"code,omitempty"`
}

Cities is a <describe> section in all cities request

type CitiesAnswer

type CitiesAnswer struct {
	Cities CitiesAnswerDetails `xml:"describe"`
}

CitiesAnswer is an <answer> section in all cities response

type CitiesAnswerData

type CitiesAnswerData struct {
	Code     []CitiesAnswerDataCode    `xml:"code" json:"code"`
	Name     []CitiesAnswerDataName    `xml:"name" json:"name"`
	Country  []CitiesAnswerDataCountry `xml:"country" json:"country"`
	Timezone *CitiesAnswerDataTimezone `xml:"timezone" json:"timezone"`
}

CitiesAnswerData is a <data> section in all cities response

type CitiesAnswerDataCode

type CitiesAnswerDataCode struct {
	Lang  string `xml:"lang,attr" json:"lang"`
	Value string `xml:",chardata" json:"value"`
}

CitiesAnswerDataCode represents <code> entry in <data> section

type CitiesAnswerDataCountry

type CitiesAnswerDataCountry struct {
	Lang  string `xml:"lang,attr" json:"lang"`
	Value string `xml:",chardata" json:"value"`
}

CitiesAnswerDataCountry represents <country> entry in <data> section

type CitiesAnswerDataName

type CitiesAnswerDataName struct {
	Lang  string `xml:"lang,attr" json:"lang"`
	Value string `xml:",chardata" json:"value"`
}

CitiesAnswerDataName represents <name> entry in <data> section

type CitiesAnswerDataTimezone

type CitiesAnswerDataTimezone struct {
	ID    string `xml:"id,attr" json:"id"`
	Value string `xml:",chardata" json:"value"`
}

CitiesAnswerDataTimezone represents <timezone> entry in <data> section

type CitiesAnswerDetails

type CitiesAnswerDetails struct {
	Data  []CitiesAnswerData `xml:"data"`
	Error *Error             `xml:"error,omitempty"`
}

CitiesAnswerDetails is a <describe> section in all cities response

type CitiesRequest

type CitiesRequest struct {
	Query   CitiesRequestQuery `xml:"query"`
	XMLName xml.Name           `xml:"sirena"`
}

CitiesRequest is a Sirena <describe> request for all cities

type CitiesRequestQuery

type CitiesRequestQuery struct {
	Cities Cities `xml:"describe"`
}

CitiesRequestQuery is a <query> section in all cities request

type CitiesResponse

type CitiesResponse struct {
	Answer  CitiesAnswer `xml:"answer"`
	XMLName xml.Name     `xml:"sirena" json:"-"`
}

CitiesResponse is a response to all cities request

type Contact

type Contact struct {
	ContID  int    `xml:"cont_id,attr"`
	LocID   int    `xml:"loc_id,attr"`
	Type    string `xml:"type,attr,omitempty"`
	Comment string `xml:"comment,attr,omitempty"`
	Value   string `xml:",chardata"`
}

type ContactsCustomer

type ContactsCustomer struct {
	FirstName string `xml:"firstname"`
	LastName  string `xml:"lastname"`
}

ContactsCustomer is a <customer> entry in <contacts> section

type Cost

type Cost struct {
	Curr  string `xml:"curr,attr"`
	Value string `xml:",chardata"`
}

Cost is a <cost> entry in <payment-ext-auth> request

type Countries

type Countries struct {
	Data string `xml:"data"`
	Code string `xml:"code,omitempty"`
}

Countries is a <describe> section in all countries request

type CountriesAnswer

type CountriesAnswer struct {
	Countries CountriesAnswerDetails `xml:"describe"`
}

CountriesAnswer is an <answer> section in all countries response

type CountriesAnswerData

type CountriesAnswerData struct {
	Code []CountriesAnswerDataCode `xml:"code" json:"code"`
	Name []CountriesAnswerDataName `xml:"name" json:"name"`
}

CountriesAnswerData is a <data> section in all countries response

type CountriesAnswerDataCode

type CountriesAnswerDataCode struct {
	Lang  string `xml:"lang,attr" json:"lang"`
	Value string `xml:",chardata" json:"value"`
}

CountriesAnswerDataCode represents <code> entry in <data> section

type CountriesAnswerDataName

type CountriesAnswerDataName struct {
	Lang  string `xml:"lang,attr" json:"lang"`
	Value string `xml:",chardata" json:"value"`
}

CountriesAnswerDataName represents <name> entry in <data> section

type CountriesAnswerDetails

type CountriesAnswerDetails struct {
	Data  []CountriesAnswerData `xml:"data"`
	Error *Error                `xml:"error,omitempty"`
}

CountriesAnswerDetails is a <describe> section in all countries response

type CountriesRequest

type CountriesRequest struct {
	Query   CountriesRequestQuery `xml:"query"`
	XMLName xml.Name              `xml:"sirena"`
}

CountriesRequest is a Sirena <describe> request for all countries

type CountriesRequestQuery

type CountriesRequestQuery struct {
	Countries Countries `xml:"describe"`
}

CountriesRequestQuery is a <query> section in <describe> request

type CountriesResponse

type CountriesResponse struct {
	Answer  CountriesAnswer `xml:"answer"`
	XMLName xml.Name        `xml:"sirena" json:"-"`
}

CountriesResponse is a response to all countries request

type Documents

type Documents struct {
	Data string `xml:"data"`
	Code string `xml:"code,omitempty"`
}

Documents is a <describe> section in all documents request

type DocumentsAnswer

type DocumentsAnswer struct {
	Documents DocumentsAnswerDetails `xml:"describe"`
}

DocumentsAnswer is an <answer> section in all documents response

type DocumentsAnswerData

type DocumentsAnswerData struct {
	Code             []DocumentsAnswerDataCode `xml:"code" json:"code"`
	Name             []DocumentsAnswerDataName `xml:"name" json:"name"`
	NeedsCitizenship bool                      `xml:"needs_citizenship" json:"needs_citizenship"`
	International    int                       `xml:"international" json:"international"`
	Type             int                       `xml:"type" json:"type"`
}

DocumentsAnswerData is a <data> section in all documents response

type DocumentsAnswerDataCode

type DocumentsAnswerDataCode struct {
	Lang  string `xml:"lang,attr" json:"lang"`
	Value string `xml:",chardata" json:"value"`
}

DocumentsAnswerDataCode represents <code> entry in <data> section

type DocumentsAnswerDataName

type DocumentsAnswerDataName struct {
	Lang  string `xml:"lang,attr" json:"lang"`
	Value string `xml:",chardata" json:"value"`
}

DocumentsAnswerDataName represents <name> entry in <data> section

type DocumentsAnswerDetails

type DocumentsAnswerDetails struct {
	Data  []DocumentsAnswerData `xml:"data"`
	Error *Error                `xml:"error,omitempty"`
}

DocumentsAnswerDetails is a <describe> section in all documents response

type DocumentsRequest

type DocumentsRequest struct {
	Query   DocumentsRequestQuery `xml:"query"`
	XMLName xml.Name              `xml:"sirena"`
}

DocumentsRequest is a Sirena <describe> request for all documents

type DocumentsRequestQuery

type DocumentsRequestQuery struct {
	Documents Documents `xml:"describe"`
}

DocumentsRequestQuery is a <query> section in all documents request

type DocumentsResponse

type DocumentsResponse struct {
	Answer  DocumentsAnswer `xml:"answer"`
	XMLName xml.Name        `xml:"sirena" json:"-"`
}

DocumentsResponse is a response to all documents request

type Error

type Error struct {
	Code       int    `xml:"code,attr"`
	CryptError bool   `xml:"crypt_error,attr"`
	Message    string `xml:",chardata"`
}

type ErrorResponse

type ErrorResponse struct {
	Answer struct {
		Error Error `xml:"error"`
	} `xml:"answer"`
	XMLName xml.Name `xml:"sirena" json:"-"`
}

ErrorResponse is an <error> section in Sirena response

type FOP

type FOP struct {
	Data string `xml:"data"`
	Code string `xml:"code,omitempty"`
}

FOP is a <describe> section in all fop request

type FOPAnswer

type FOPAnswer struct {
	FOP FOPAnswerDetails `xml:"describe"`
}

FOPAnswer is an <answer> section in all fop response

type FOPAnswerData

type FOPAnswerData struct {
	Code []FOPAnswerDataCode `xml:"code" json:"code"`
	Name []FOPAnswerDataName `xml:"name" json:"name"`
}

FOPAnswerData is a <data> section in all fop response

type FOPAnswerDataCode

type FOPAnswerDataCode struct {
	Lang  string `xml:"lang,attr" json:"lang"`
	Value string `xml:",chardata" json:"value"`
}

FOPAnswerDataCode represents <code> entry in <data> section

type FOPAnswerDataName

type FOPAnswerDataName struct {
	Lang  string `xml:"lang,attr" json:"lang"`
	Value string `xml:",chardata" json:"value"`
}

FOPAnswerDataName represents <name> entry in <data> section

type FOPAnswerDetails

type FOPAnswerDetails struct {
	Data  []FOPAnswerData `xml:"data"`
	Error *Error          `xml:"error,omitempty"`
}

FOPAnswerDetails is a <describe> section in all fop response

type FOPRequest

type FOPRequest struct {
	Query   FOPRequestQuery `xml:"query"`
	XMLName xml.Name        `xml:"sirena"`
}

FOPRequest is a Sirena <describe> request for all fop (формы оплаты)

type FOPRequestQuery

type FOPRequestQuery struct {
	FOP FOP `xml:"describe"`
}

FOPRequestQuery is a <query> section in all fop request

type FOPResponse

type FOPResponse struct {
	Answer  FOPAnswer `xml:"answer"`
	XMLName xml.Name  `xml:"sirena" json:"-"`
}

FOPResponse is a response to all fop request

type FareRemark

type FareRemark struct {
	Company       string                  `xml:"company,omitempty"`
	Code          string                  `xml:"code"`
	RequestParams FareRemarkRequestParams `xml:"request_params"`
	AnswerParams  FareRemarkAnswerParams  `xml:"answer_params"`
}

FareRemark is a body of <fareremark> request

type FareRemarkAnswer

type FareRemarkAnswer struct {
	Pult       string                     `xml:"pult,attr,omitempty"`
	FareRemark FareRemarkAnswerFareRemark `xml:"fareremark"`
}

FareRemarkAnswer is an <answer> section in Sirena <fareremark> response

type FareRemarkAnswerFareRemark

type FareRemarkAnswerFareRemark struct {
	NewFare bool   `xml:"new_fare,omitempty"`
	Remark  string `xml:"remark"`
	Error   *Error `xml:"error,omitempty"`
}

FareRemarkAnswerFareRemark is a <fareremark> section in Sirena <fareremark> response

type FareRemarkAnswerParams

type FareRemarkAnswerParams struct {
	Lang string `xml:"lang,omitempty"`
}

FareRemarkAnswerParams is a <answer_params> section in <fareremark> request

type FareRemarkRequest

type FareRemarkRequest struct {
	Query   FareRemarkRequestQuery `xml:"query"`
	XMLName xml.Name               `xml:"sirena"`
}

FareRemarkRequest is a <fareremark> request

type FareRemarkRequestParams

type FareRemarkRequestParams struct {
	Upt      Upt      `xml:"-"`
	PriceUpt PriceUpt `xml:"upt,omitempty"`
	Cat      int      `xml:"cat,omitempty"`
}

FareRemarkRequestParams is a <request_params> section in <fareremark> request

type FareRemarkRequestQuery

type FareRemarkRequestQuery struct {
	FareRemark FareRemark `xml:"fareremark"`
}

FareRemarkRequestQuery is a <query> section in <fareremark> request

type FareRemarkResponse

type FareRemarkResponse struct {
	Answer  FareRemarkAnswer `xml:"answer"`
	XMLName xml.Name         `xml:"sirena" json:"-"`
}

FareRemarkResponse is a Sirena response to <fareremark> request

type FareRequest added in v1.3.0

type FareRequest struct {
	XMLName xml.Name         `xml:"sirena"`
	Query   FareRequestQuery `xml:"query"`
}

type FareRequestQuery added in v1.3.0

type FareRequestQuery struct {
	Fares FaresQuery `xml:"fares"`
}

type FareResponse added in v1.3.0

type FareResponse struct {
	Answer  FaresResponse `xml:"answer"`
	XMLName xml.Name      `xml:"sirena" json:"-"`
}

type FaresQuery added in v1.3.0

type FaresQuery struct {
	Departure string   `xml:"departure"`
	Arrival   string   `xml:"arrival"`
	Company   string   `xml:"company"`
	Subclass  []string `xml:"subclass"`
	Passenger string   `xml:"passenger"`
}

type FaresResp added in v1.3.0

type FaresResp struct {
	Upt       Upt    `xml:"upt"`
	Rate      []Rate `xml:"rate"`
	Text      string `xml:",chardata"`
	Name      string `xml:"name,attr"`
	Subclass  string `xml:"subclass"`
	Direction string `xml:"direction"`
	Maxstay   string `xml:"maxstay"`
	Company   string `xml:"company"`
	Remark    string `xml:"remark"`
	Category  string `xml:"category"`
}

type FaresResponse added in v1.3.0

type FaresResponse struct {
	Text      string    `xml:",chardata"`
	Departure string    `xml:"departure,attr"`
	Arrival   string    `xml:"arrival,attr"`
	Deptdate  string    `xml:"deptdate,attr"`
	Bookdate  string    `xml:"bookdate,attr"`
	Company   string    `xml:"company,attr"`
	Passenger string    `xml:"passenger,attr"`
	Fares     FaresResp `xml:"fare"`
}

type FlightLeg added in v1.3.0

type FlightLeg struct {
	Airplane string              `xml:"airplane,attr"`
	Dep      PNRSegmentLegDepArr `xml:"dep"`
	Arr      PNRSegmentLegDepArr `xml:"arr"`
}

type FlightLegDepArr added in v1.3.0

type FlightLegDepArr struct {
	TimeLocal string `xml:"time_local,attr"`
	TimeUTC   string `xml:"time_utc,attr"`
	Term      string `xml:"term,attr"`
	Value     string `xml:",chardata"`
}

PNRSegmentLegDepArr is <sep> and <arr> entries in <leg> section

type FormPay added in v1.3.0

type FormPay string
const (
	FormPayCash FormPay = "CA"
	FormPayCard FormPay = "CC"
)

type GetItinReceipts

type GetItinReceipts struct {
	Regnum  string `xml:"regnum"`
	Surname string `xml:"surname"`
}

GetItinReceipts is a body of <get_itin_receipts> request

type GetItinReceiptsAnswer

type GetItinReceiptsAnswer struct {
	Answer          string              `xml:"answer,attr,omitempty"`
	GetItinReceipts GetItinReceiptsBody `xml:"get_itin_receipts"`
}

GetItinReceiptsAnswer is an <answer> section in Sirena <get_itin_receipts> response

type GetItinReceiptsAnswerReceipts

type GetItinReceiptsAnswerReceipts struct {
	CrTime string `xml:"cr_time,attr"` // "TimeDate" format
	Value  string `xml:",chardata"`
}

GetItinReceiptsAnswerReceipts is a <receipts> element in Sirena <get_itin_receipts> response

type GetItinReceiptsBody

type GetItinReceiptsBody struct {
	Receipts *GetItinReceiptsAnswerReceipts `xml:"receipts"`
	Error    *Error                         `xml:"error,omitempty"`
}

GetItinReceiptsBody is a body of <get_itin_receipts> response

type GetItinReceiptsData

type GetItinReceiptsData struct {
	Regnum  string `xml:"regnum"`
	Surname string `xml:"surname"`
}

GetItinReceiptsData is a body of <get_itin_receipts_data> request

type GetItinReceiptsDataAnswer

type GetItinReceiptsDataAnswer struct {
	Answer              string                  `xml:"answer,attr,omitempty"`
	GetItinReceiptsData GetItinReceiptsDataBody `xml:"get_itin_receipts_data"`
}

GetItinReceiptsDataAnswer is an <answer> section in Sirena <get_itin_receipts_data> response

type GetItinReceiptsDataAnswerReceipts

type GetItinReceiptsDataAnswerReceipts struct {
	TicketForm []TicketForm `xml:"ticket_form"`
}

GetItinReceiptsDataAnswerReceipts is a <receipts> element in Sirena <get_itin_receipts_data> response

func (*GetItinReceiptsDataAnswerReceipts) GetPassengerTicketInfo added in v1.3.0

func (t *GetItinReceiptsDataAnswerReceipts) GetPassengerTicketInfo(passengerID string) *TicketForm

type GetItinReceiptsDataBody

type GetItinReceiptsDataBody struct {
	Receipts *GetItinReceiptsDataAnswerReceipts `xml:"receipts"`
	Error    *Error                             `xml:"error,omitempty"`
}

GetItinReceiptsDataBody is a body of <get_itin_receipts_data> response

type GetItinReceiptsDataRequest

type GetItinReceiptsDataRequest struct {
	Query   GetItinReceiptsDataRequestQuery `xml:"query"`
	XMLName xml.Name                        `xml:"sirena"`
}

GetItinReceiptsDataRequest is a <get_itin_receipts_data> request

type GetItinReceiptsDataRequestQuery

type GetItinReceiptsDataRequestQuery struct {
	GetItinReceiptsData GetItinReceiptsData `xml:"get_itin_receipts_data"`
}

GetItinReceiptsDataRequestQuery is a <query> section in <get_itin_receipts_data> request

type GetItinReceiptsDataResponse

type GetItinReceiptsDataResponse struct {
	Answer  GetItinReceiptsDataAnswer `xml:"answer"`
	XMLName xml.Name                  `xml:"sirena" json:"-"`
}

GetItinReceiptsDataResponse is a Sirena response to <get_itin_receipts_data> request

type GetItinReceiptsRequest

type GetItinReceiptsRequest struct {
	Query   GetItinReceiptsRequestQuery `xml:"query"`
	XMLName xml.Name                    `xml:"sirena"`
}

GetItinReceiptsRequest is a <get_itin_receipts> request

type GetItinReceiptsRequestQuery

type GetItinReceiptsRequestQuery struct {
	GetItinReceipts GetItinReceipts `xml:"get_itin_receipts"`
}

GetItinReceiptsRequestQuery is a <query> section in <get_itin_receipts> request

type GetItinReceiptsResponse

type GetItinReceiptsResponse struct {
	Answer  GetItinReceiptsAnswer `xml:"answer"`
	XMLName xml.Name              `xml:"sirena" json:"-"`
}

GetItinReceiptsResponse is a Sirena response to <get_itin_receipts> request

type Including added in v1.3.0

type Including struct {
	Text  string `xml:",chardata"`
	OrNot string `xml:"or_not"`
}

type KeyData added in v1.3.0

type KeyData struct {
	State string `xml:"state,attr"`
	Key   string `xml:",chardata"`
}

type KeyInfoRequest

type KeyInfoRequest struct {
	Query struct {
		KeyInfo struct{} `xml:"key_info"`
	} `xml:"query"`
	XMLName xml.Name `xml:"sirena"`
}

KeyInfoRequest

type KeyInfoResponse

type KeyInfoResponse struct {
	Answer struct {
		KeyInfo struct {
			KeyManager KeyManager `xml:"key_manager"`
		} `xml:"key_info"`
	} `xml:"answer"`
	XMLName xml.Name `xml:"sirena"`
}

type KeyManager added in v1.3.0

type KeyManager struct {
	Key             KeyData    `xml:"key"`
	Expiration      SirenaTime `xml:"expiration,omitempty"`
	ServerPublicKey string     `xml:"server_public_key"`
}

type Meals

type Meals struct {
	Data string `xml:"data"`
	Code string `xml:"code,omitempty"`
}

Meals is a <describe> section in all meals request

type MealsAnswer

type MealsAnswer struct {
	Meals MealsAnswerDetails `xml:"describe"`
}

MealsAnswer is an <answer> section in all meals response

type MealsAnswerData

type MealsAnswerData struct {
	Code []MealsAnswerDataCode `xml:"code" json:"code"`
	Name []MealsAnswerDataName `xml:"name" json:"name"`
}

MealsAnswerData is a <data> section in all meals response

type MealsAnswerDataCode

type MealsAnswerDataCode struct {
	Lang  string `xml:"lang,attr" json:"lang"`
	Value string `xml:",chardata" json:"value"`
}

MealsAnswerDataCode represents <code> entry in <data> section

type MealsAnswerDataName

type MealsAnswerDataName struct {
	Lang  string `xml:"lang,attr" json:"lang"`
	Value string `xml:",chardata" json:"value"`
}

MealsAnswerDataName represents <name> entry in <data> section

type MealsAnswerDetails

type MealsAnswerDetails struct {
	Data  []MealsAnswerData `xml:"data"`
	Error *Error            `xml:"error,omitempty"`
}

MealsAnswerDetails is a <describe> section in all meals response

type MealsRequest

type MealsRequest struct {
	Query   MealsRequestQuery `xml:"query"`
	XMLName xml.Name          `xml:"sirena"`
}

MealsRequest is a Sirena <describe> request for all meals

type MealsRequestQuery

type MealsRequestQuery struct {
	Meals Meals `xml:"describe"`
}

MealsRequestQuery is a <query> section in all meals request

type MealsResponse

type MealsResponse struct {
	Answer  MealsAnswer `xml:"answer"`
	XMLName xml.Name    `xml:"sirena" json:"-"`
}

MealsResponse is a response to all meals request

type ModifyPNR

type ModifyPNR struct {
	Version      int                   `xml:"version"`
	Regnum       string                `xml:"regnum"`
	Surname      string                `xml:"surname"`
	AddParams    ModifyPNRAddParams    `xml:"add,omitempty"`
	RemoveParams ModifyPNRRemoveParams `xml:"remove"`
}

ModifyPNR is a body of <modify_pnr> request

type ModifyPNRAddParams

type ModifyPNRAddParams struct {
	Contact      []ModifyPNRContact      `xml:"contact,omitempty"`
	PassDocument []ModifyPNRPassDocument `xml:"pass_document,omitempty"`
}

ModifyPNRAddParams is a <add> section in <modify_pnr> request

type ModifyPNRAnswer

type ModifyPNRAnswer struct {
	Pult      string                   `xml:"pult,attr,omitempty"`
	ModifyPNR ModifyPNRAnswerModifyPNR `xml:"modify_pnr"`
}

ModifyPNRAnswer is an <answer> section in Sirena <modify_pnr> response

type ModifyPNRAnswerModifyPNR

type ModifyPNRAnswerModifyPNR struct {
	Ok    *struct{} `xml:"ok,omitempty"`
	Error *Error    `xml:"error,omitempty"`
}

ModifyPNRAnswerModifyPNR is a <modify_pnr> section in Sirena <modify_pnr> response

type ModifyPNRContact

type ModifyPNRContact struct {
	Surname string `xml:"surname,attr,omitempty"`
	Name    string `xml:"name,attr,omitempty"`
	Type    string `xml:"type,attr,omitempty"`
	Comment string `xml:"comment,attr,omitempty"`
	Value   string `xml:",chardata"`
}

ModifyPNRContact is <contact> element for <add> section

type ModifyPNRPassDocument

type ModifyPNRPassDocument struct {
	Surname    string `xml:"surname,attr"`
	Name       string `xml:"name,attr"`
	Doccode    string `xml:"doccode,attr"`
	DocCountry string `xml:"doc_country,attr"`
	PspExpire  string `xml:"pspexpire,attr,omitempty"`
	Value      string `xml:",chardata"`
}

ModifyPNRPassDocument is <pass_document> element for <add> section

type ModifyPNRQuery

type ModifyPNRQuery struct {
	ModifyPNR ModifyPNR `xml:"modify_pnr"`
}

ModifyPNRQuery is a <query> section in <modify_pnr> request

type ModifyPNRRemoveParams added in v1.3.0

type ModifyPNRRemoveParams struct {
	Ssr []Ssr `xml:"ssr"`
}

type ModifyPNRRequest

type ModifyPNRRequest struct {
	Query   ModifyPNRQuery `xml:"query"`
	XMLName xml.Name       `xml:"sirena"`
}

ModifyPNRRequest is a <modify_pnr> request

type ModifyPNRResponse

type ModifyPNRResponse struct {
	Answer  ModifyPNRAnswer `xml:"answer"`
	XMLName xml.Name        `xml:"sirena" json:"-"`
}

ModifyPNRResponse is a Sirena response to <modify_pnr> request

type Order

type Order struct {
	Regnum        string             `xml:"regnum"`
	Surname       string             `xml:"surname"`
	RequestParams OrderRequestParams `xml:"request_params"`
	AnswerParams  OrderAnswerParams  `xml:"answer_params"`
}

Order is a body of <order> request

type OrderAnswer

type OrderAnswer struct {
	Pult     string           `xml:"pult,attr,omitempty"`
	MsgID    int              `xml:"msgid,attr"`
	Time     string           `xml:"time,attr"`
	Instance string           `xml:"instance,attr"`
	Order    OrderAnswerOrder `xml:"order"`
}

OrderAnswer is an <answer> section in Sirena order response

type OrderAnswerOrder

type OrderAnswerOrder struct {
	Regnum          string              `xml:"regnum,attr"`
	Agency          string              `xml:"agency,attr"`
	PNR             OrderAnswerPNR      `xml:"pnr"`
	Tickinfo        OrderAnswerTickinfo `xml:"tickinfo,omitempty"`
	SpecialServices []Ssr               `xml:"special_services>ssr,omitempty"`
	Error           *Error              `xml:"error,omitempty"`
}

OrderAnswerOrder is an <order> section in Sirena <order> response

type OrderAnswerPNR

type OrderAnswerPNR struct {
	Bdate              string                      `xml:"bdate,attr"`
	Fop                string                      `xml:"fop,attr"`
	Curr               string                      `xml:"curr,attr"`
	Sum                float64                     `xml:"sum,attr"`
	Regnum             string                      `xml:"regnum"`
	UTCTimeLimit       string                      `xml:"utc_timelimit"`
	TimeLimit          string                      `xml:"timelimit"`
	LatinRegistration  bool                        `xml:"latin_registration"`
	Version            int                         `xml:"version"`
	Contacts           BookingAnswerContacts       `xml:"contacts"`
	Segments           []BookingAnswerPNRSegment   `xml:"segments>segment"`
	Passengers         []BookingAnswerPNRPassenger `xml:"passengers>passenger"`
	Prices             BookingAnswerPNRPrices      `xml:"prices"`
	CommonStatus       string                      `xml:"common_status"`
	PossibleActionList PNRPossibleActionList       `xml:"possible_action_list"`
}

OrderAnswerPNR is a <pnr> section in Sirena order response

type OrderAnswerParams

type OrderAnswerParams struct {
	Tickinfo           bool   `xml:"tickinfo,omitempty"`
	ShowTickinfoAgency bool   `xml:"show_tickinfo_agency,omitempty"`
	ShowActions        bool   `xml:"show_actions,omitempty"`
	AddCommonStatus    bool   `xml:"add_common_status,omitempty"`
	ShowUptRec         bool   `xml:"show_upt_rec,omitempty"`
	AddRemarks         bool   `xml:"add_remarks,omitempty"`
	AddSsr             bool   `xml:"add_ssr,omitempty"`
	AddPaycode         bool   `xml:"add_paycode,omitempty"`
	ShowErsp           bool   `xml:"show_ersp,omitempty"`
	ShowInsuranceInfo  bool   `xml:"show_insurance_info,omitempty"`
	ShowZh             bool   `xml:"show_zh,omitempty"`
	AddRemoteRecloc    bool   `xml:"add_remote_recloc,omitempty"`
	ShowComission      bool   `xml:"show_comission,omitempty"`
	ShowBagNorm        bool   `xml:"show_bag_norm,omitempty"`
	Lang               string `xml:"lang,omitempty"`
}

OrderAnswerParams is a <answer_params> section in <order> request

type OrderAnswerTickinfo

type OrderAnswerTickinfo struct {
	Ticknum string `xml:"ticknum,attr"`
	SegID   int    `xml:"seg_id,attr"`
	PassID  int    `xml:"pass_id,attr"`
	Value   string `xml:",chardata"`
}

OrderAnswerTickinfo is a <tickinfo> entry in <order> section

type OrderCancelAnswer

type OrderCancelAnswer struct {
	Cancel OrderCancelData `xml:"booking-cancel"`
}

OrderCancelAnswer is an <answer> section in Sirena order cancel response

type OrderCancelData

type OrderCancelData struct {
	OK    *struct{} `xml:"ok,omitempty"`
	Error *Error    `xml:"error,omitempty"`
}

OrderCancelData is a <booking-cancel> entry in Sirena booking cancel response

type OrderCancelResponse

type OrderCancelResponse struct {
	Answer  OrderCancelAnswer `xml:"answer"`
	XMLName xml.Name          `xml:"sirena" json:"-"`
}

OrderCancelResponse is a Sirena response to <booking-cancel> request

type OrderRequest

type OrderRequest struct {
	Query   OrderRequestQuery `xml:"query"`
	XMLName xml.Name          `xml:"sirena"`
}

OrderRequest is a <order> request

type OrderRequestParams

type OrderRequestParams struct {
	TickSer           string `xml:"tick_ser"`
	NoPricing         bool   `xml:"no_pricing"`
	PrevPricingParams bool   `xml:"prev_pricing_params"`
	Formpay           string `xml:"formpay"`
}

OrderRequestParams is a <request_params> section in <order> request

type OrderRequestQuery

type OrderRequestQuery struct {
	Order Order `xml:"order"`
}

OrderRequestQuery is a <query> section in <order> request

type OrderResponse

type OrderResponse struct {
	Answer  OrderAnswer `xml:"answer"`
	XMLName xml.Name    `xml:"sirena" json:"-"`
}

OrderResponse is a Sirena response to <order> request

type PCardTypes

type PCardTypes struct {
	Data string `xml:"data"`
	Code string `xml:"code,omitempty"`
}

PCardTypes is a <describe> section in all pcard_types request

type PCardTypesAnswer

type PCardTypesAnswer struct {
	PCardTypes PCardTypesAnswerDetails `xml:"describe"`
}

PCardTypesAnswer is an <answer> section in all pcard_types response

type PCardTypesAnswerData

type PCardTypesAnswerData struct {
	Code []PCardTypesAnswerDataCode `xml:"code" json:"code"`
	Name []PCardTypesAnswerDataName `xml:"name" json:"name"`
}

PCardTypesAnswerData is a <data> section in all pcard_types response

type PCardTypesAnswerDataCode

type PCardTypesAnswerDataCode struct {
	Lang  string `xml:"lang,attr" json:"lang"`
	Value string `xml:",chardata" json:"value"`
}

PCardTypesAnswerDataCode represents <code> entry in <data> section

type PCardTypesAnswerDataName

type PCardTypesAnswerDataName struct {
	Lang  string `xml:"lang,attr" json:"lang"`
	Value string `xml:",chardata" json:"value"`
}

PCardTypesAnswerDataName represents <name> entry in <data> section

type PCardTypesAnswerDetails

type PCardTypesAnswerDetails struct {
	Data  []PCardTypesAnswerData `xml:"data"`
	Error *Error                 `xml:"error,omitempty"`
}

PCardTypesAnswerDetails is a <describe> section in all pcard_types response

type PCardTypesRequest

type PCardTypesRequest struct {
	Query   PCardTypesRequestQuery `xml:"query"`
	XMLName xml.Name               `xml:"sirena"`
}

PCardTypesRequest is a Sirena <describe> request for all pcard_types

type PCardTypesRequestQuery

type PCardTypesRequestQuery struct {
	PCardTypes PCardTypes `xml:"describe"`
}

PCardTypesRequestQuery is a <query> section in all pcard_types request

type PCardTypesResponse

type PCardTypesResponse struct {
	Answer  PCardTypesAnswer `xml:"answer"`
	XMLName xml.Name         `xml:"sirena" json:"-"`
}

PCardTypesResponse is a response to all pcard_types request

type PNRPassengerCategory

type PNRPassengerCategory struct {
	RBM   int    `xml:"rbm,attr"`
	Value string `xml:",chardata"`
}

PNRPassengerCategory is a <category> entry in <passenger> section

type PNRPaymentInfo

type PNRPaymentInfo struct {
	FOP     string  `xml:"fop,attr"`
	Curr    string  `xml:"curr,attr"`
	Payment float64 `xml:",chardata"`
}

PNRPaymentInfo is a <payment_info> entry in a <price> section

type PNRPossibleActionList

type PNRPossibleActionList struct {
	Action string `xml:"action"`
}

PNRPossibleActionList is a <possible_action_list> entry in <pnr> section

type PNRPriceFare

type PNRPriceFare struct {
	Remark      string           `xml:"remark,attr"`
	FareExpDate string           `xml:"fare_expdate,attr"`
	Value       PNRPriceValue    `xml:"value"`
	Code        PNRPriceFareCode `xml:"code"`
}

PNRPriceFare is a <fare> entry in a <price> section

type PNRPriceFareCode

type PNRPriceFareCode struct {
	Code     string `xml:",chardata"`
	BaseCode string `xml:"base_code,attr"`
}

PNRPriceFareCode is a <code> entry in a <fare> section

type PNRPriceTax

type PNRPriceTax struct {
	Owner string        `xml:"owner,attr"`
	Code  string        `xml:"code"`
	Value PNRPriceValue `xml:"value"`
}

PNRPriceTax is a <tax> entry in a <price> section

type PNRPriceValue

type PNRPriceValue struct {
	Value    float64 `xml:",chardata"`
	Currency string  `xml:"currency,attr"`
}

PNRPriceValue is a <value> entry in a <fare> section

type PNRSegmentDepartureArrival

type PNRSegmentDepartureArrival struct {
	City     string `xml:"city"`
	Airport  string `xml:"airport"`
	Date     string `xml:"date"`
	Time     string `xml:"time"`
	Terminal string `xml:"terminal"`
}

PNRSegmentDepartureArrival is <departure> and <arrival> entries in <segment> section

type PNRSegmentLeg

type PNRSegmentLeg struct {
	Airplane string              `xml:"airplane,attr"`
	Dep      PNRSegmentLegDepArr `xml:"dep"`
	Arr      PNRSegmentLegDepArr `xml:"arr"`
}

PNRSegmentLeg is a <leg> entry in <segment> section

type PNRSegmentLegDepArr

type PNRSegmentLegDepArr struct {
	TimeLocal string `xml:"time_local,attr"`
	TimeUTC   string `xml:"time_utc,attr"`
	Term      string `xml:"term,attr"`
	Value     string `xml:",chardata"`
}

PNRSegmentLegDepArr is <sep> and <arr> entries in <leg> section

type PNRSegmentStatus

type PNRSegmentStatus struct {
	Text   string `xml:"text,attr"`
	Status string `xml:",chardata"`
}

PNRSegmentStatus is a <status> entry in a <segment> section

type PNRStatus

type PNRStatus struct {
	Regnum       string                `xml:"regnum"`
	AnswerParams PNRStatusAnswerParams `xml:"answer_params"`
}

PNRStatus is a body of <pnr_status> request

type PNRStatusAnswer

type PNRStatusAnswer struct {
	Pult      string                   `xml:"pult,attr,omitempty"`
	MsgID     int                      `xml:"msgid,attr,omitempty"`
	Time      string                   `xml:"time,attr,omitempty"` //TimeSecDate format
	Instance  string                   `xml:"instance,attr,omitempty"`
	PNRStatus PNRStatusAnswerPNRStatus `xml:"pnr_status"`
}

PNRStatusAnswer is an <answer> section in Sirena <pnr_status> response

type PNRStatusAnswerPNRStatus

type PNRStatusAnswerPNRStatus struct {
	Regnum           string             `xml:"regnum"`
	Agn              string             `xml:"agn,omitempty"`
	Ppr              string             `xml:"ppr,omitempty"`
	NSeats           int                `xml:"nseats,omitempty"`
	NSeg             int                `xml:"nseg,omitempty"`
	NPax             int                `xml:"npax,omitempty"`
	TimeLimit        string             `xml:"timelimit,omitempty"`          // DateTime format
	UTCTimeLimit     string             `xml:"utc_timelimit,omitempty"`      // TimeDate format
	BookTime         string             `xml:"book_time,omitempty"`          // DateTime format
	VoidTimeLimitUTC string             `xml:"void_timelimit_utc,omitempty"` // TimeDate format
	Segments         []PNRStatusSegment `xml:"segments>segment"`
	Tickinfo         PNRStatusTickinfo  `xml:"tickinfo,omitempty"`
	NewTickinfo      []PNRStatusTicket  `xml:"new_tickinfo>ticket"`
	CommonStatus     string             `xml:"common_status"`
	Error            *Error             `xml:"error,omitempty"`
}

PNRStatusAnswerPNRStatus is a <pnr_status> section in Sirena <pnr_status> response

type PNRStatusAnswerParams

type PNRStatusAnswerParams struct {
	Tickinfo        bool   `xml:"tickinfo,omitempty"`
	AddCommonStatus bool   `xml:"add_common_status,omitempty"`
	MoreInfo        bool   `xml:"more_info,omitempty"`
	Lang            string `xml:"lang,omitempty"`
}

PNRStatusAnswerParams is a <answer_params> section in <pnr_status> request

type PNRStatusQuery

type PNRStatusQuery struct {
	PNRStatus PNRStatus `xml:"pnr_status"`
}

PNRStatusQuery is a <query> section in <pnr_status> request

type PNRStatusRequest

type PNRStatusRequest struct {
	Query   PNRStatusQuery `xml:"query"`
	XMLName xml.Name       `xml:"sirena"`
}

PNRStatusRequest is a <pnr_status> request

type PNRStatusResponse

type PNRStatusResponse struct {
	Answer  PNRStatusAnswer `xml:"answer"`
	XMLName xml.Name        `xml:"sirena" json:"-"`
}

PNRStatusResponse is a Sirena response to <pnr_status> request

type PNRStatusSegment

type PNRStatusSegment struct {
	SegID     int    `xml:"seg_id,attr,omitempty"`
	NSeats    int    `xml:"nseats,attr,omitempty"`
	BookTime  string `xml:"book_time,attr,omitempty"` // DateTime format
	CreatedBy int    `xml:"created_by,attr,omitempty"`
}

PNRStatusSegment is a <segment> subsection of <segments> section in Sirena <pnr_status> response

type PNRStatusTicket

type PNRStatusTicket struct {
	Ser     string                `xml:"ser,attr,omitempty"`
	Num     string                `xml:"num,attr,omitempty"`
	IsEtick bool                  `xml:"is_etick,attr,omitempty"`
	Mco     bool                  `xml:"mco,attr,omitempty"`
	Action  PNRStatusTicketAction `xml:"action"`
}

PNRStatusTicket is a <ticket> subsection of <new_tickinfo> section in Sirena <pnr_status> response

type PNRStatusTicketAction

type PNRStatusTicketAction struct {
	Type        string  `xml:"type,attr,omitempty"`
	Ontime      string  `xml:"ontime,attr,omitempty"` // "DateTime" format
	NSeats      int     `xml:"n_seats,attr,omitempty"`
	SegID       int     `xml:"seg_id,attr,omitempty"`
	Opr         string  `xml:"opr,attr,omitempty"`
	Pult        string  `xml:"pult,attr,omitempty"`
	Sum         float64 `xml:"sum,attr,omitempty"`
	Curr        string  `xml:"curr,attr,omitempty"`
	OrigSer     string  `xml:"orig_ser,attr,omitempty"`
	OrigTicknum string  `xml:"orig_ticknum,attr,omitempty"`
	OrigSegID   int     `xml:"orig_seg_id,attr,omitempty"`
}

PNRStatusTicketAction is an <action> element in <ticket> subsection of <new_tickinfo> section in Sirena <pnr_status> response

type PNRStatusTickinfo

type PNRStatusTickinfo struct {
	Ticknum   string `xml:"ticknum,attr,omitempty"`
	TickSer   string `xml:"tick_ser,attr,omitempty"`
	IsEtick   bool   `xml:"is_etick,attr,omitempty"`
	AcCode    string `xml:"accode,attr,omitempty"`
	TktPpr    string `xml:"tkt_ppr,attr,omitempty"`
	PrintTime string `xml:"print_time,attr,omitempty"` // TimeDate format
	SegID     int    `xml:"seg_id,attr,omitempty"`
	PassID    int    `xml:"pass_id,attr,omitempty"`
	Value     string `xml:",chardata"`
}

PNRStatusTickinfo is a <tickinfo> section in Sirena <pnr_status> response

type PNRVariantTotal

type PNRVariantTotal struct {
	Currency string  `xml:"currency,attr"`
	Value    float64 `xml:",chardata"`
}

PNRVariantTotal is a <variant_total> entry in Sirena booking response

type Passenger added in v1.3.0

type Passenger struct {
	ID      string            `xml:"id,attr"`
	Segment []ViewFlowSegment `xml:"segment"`
}

type PassengerFreqFlierID

type PassengerFreqFlierID struct {
	IssuedBy string `xml:"issued_by,attr,omitempty"`
	Value    string `xml:",chardata"`
}

PassengerFreqFlierID is a <freq_flier_id> subsection of <passenger> section of <add_ff_info> request

type Passengers

type Passengers struct {
	Data string `xml:"data"`
	Code string `xml:"code,omitempty"`
}

Passengers is a <describe> section in passenger(s) request

type PassengersAnswer

type PassengersAnswer struct {
	Passengers PassengersAnswerDetails `xml:"describe"`
}

PassengersAnswer is an <answer> section in all passenger(s) response

type PassengersAnswerData

type PassengersAnswerData struct {
	Code          []PassengersAnswerDataCode `xml:"code" json:"code"`
	Name          []PassengersAnswerDataName `xml:"name" json:"name"`
	AgeCategory   int                        `xml:"agecat" json:"age_category"` // 0 - ADT, 1 - CHD, 2 - INF
	GroupCategory int                        `xml:"group" json:"group_category"`
	Seats         int                        `xml:"seats" json:"seats"`            // Number of seats for category
	SpecCategory  int                        `xml:"spec_cat" json:"spec_category"` // Special category tag
}

PassengersAnswerData is a <data> section in all passenger(s) response

type PassengersAnswerDataCode

type PassengersAnswerDataCode struct {
	Lang  string `xml:"lang,attr" json:"lang"`
	Value string `xml:",chardata" json:"value"`
}

PassengersAnswerDataCode represents <code> entry in <data> section

type PassengersAnswerDataCountry

type PassengersAnswerDataCountry struct {
	Lang  string `xml:"lang,attr" json:"lang"`
	Value string `xml:",chardata" json:"value"`
}

PassengersAnswerDataCountry represents <country> entry in <data> section

type PassengersAnswerDataName

type PassengersAnswerDataName struct {
	Lang  string `xml:"lang,attr" json:"lang"`
	Value string `xml:",chardata" json:"value"`
}

PassengersAnswerDataName represents <name> entry in <data> section

type PassengersAnswerDetails

type PassengersAnswerDetails struct {
	Data  []PassengersAnswerData `xml:"data"`
	Error *Error                 `xml:"error,omitempty"`
}

PassengersAnswerDetails is a <describe> section in passenger(s) response

type PassengersRequest

type PassengersRequest struct {
	Query   PassengersRequestQuery `xml:"query"`
	XMLName xml.Name               `xml:"sirena"`
}

PassengersRequest is a Sirena <describe> request for passenger(s)

type PassengersRequestQuery

type PassengersRequestQuery struct {
	Passengers Passengers `xml:"describe"`
}

PassengersRequestQuery is a <query> section in passenger(s) request

type PassengersResponse

type PassengersResponse struct {
	Answer  PassengersAnswer `xml:"answer"`
	XMLName xml.Name         `xml:"sirena" json:"-"`
}

PassengersResponse is a response to all Passengers request

type PayRefAnswerPNRPriceFare

type PayRefAnswerPNRPriceFare struct {
	FareExpdate string                        `xml:"fare_expdate,attr,omitempty"` // DateTime format
	Code        PayRefAnswerPNRPriceFareCode  `xml:"code"`
	Value       PayRefAnswerPNRPriceFareValue `xml:"value"`
}

PayRefAnswerPNRPriceFare is a <fare> subsection in Sirena <payment-ext-auth:refund> response

type PayRefAnswerPNRPriceFareCode

type PayRefAnswerPNRPriceFareCode struct {
	BaseCode string `xml:"base_code,attr,omitempty"`
	Value    string `xml:",chardata"`
}

PayRefAnswerPNRPriceFareCode is a <code> element of a <fare> subsection in Sirena <payment-ext-auth:refund> response

type PayRefAnswerPNRPriceFareValue

type PayRefAnswerPNRPriceFareValue struct {
	Currency string  `xml:"currency,attr,omitempty"`
	Value    float64 `xml:",chardata"`
}

PayRefAnswerPNRPriceFareValue is a <value> element of a <fare> subsection in Sirena <payment-ext-auth:refund> response

type Paydoc

type Paydoc struct {
	Formpay  string `xml:"formpay"`
	Type     string `xml:"type,omitempty"`
	Num      string `xml:"num,omitempty"`
	ExpDate  string `xml:"exp_date,omitempty"`
	Holder   string `xml:"holder,omitempty"`
	AuthCode string `xml:"auth_code,omitempty"`
}

Paydoc is a <paydoc> entry in <payment-ext-auth> request

type PaymentAnswer

type PaymentAnswer struct {
	Pult    string             `xml:"pult,attr,omitempty"`
	Payment PaymentAnswerQuery `xml:"payment-ext-auth"`
}

PaymentAnswer is an <answer> section in Sirena <payment-ext-auth> response

type PaymentAnswerQuery

type PaymentAnswerQuery struct {
	Cost struct {
		Currency string  `xml:"curr,attr"`
		Value    float64 `xml:",chardata"`
	} `xml:"cost"`
	Timeout          int                   `xml:"timeout"`
	Regnum           string                `xml:"regnum,omitempty"`
	NSeats           int                   `xml:"nseats,omitempty"`
	Agn              string                `xml:"agn,omitempty"`
	PPR              string                `xml:"ppr,omitempty"`
	Tickets          []PaymentAnswerTicket `xml:"tickinfo"`
	VoidTimeLimitUTC string                `xml:"void_timelimit_utc,omitempty"` // TimeDate format
	Error            *Error                `xml:"error,omitempty"`
}

PaymentAnswerQuery is an <order> section in Sirena order response

type PaymentAnswerTicket

type PaymentAnswerTicket struct {
	TickNum string `xml:"ticknum,attr"`
	PassID  string `xml:"pass_id,attr"`
	SegID   string `xml:"seg_id,attr"`
	ACCode  string `xml:"accode,attr"`
}

PaymentAnswerTicket holds ticket details in payment confirm response

type PaymentRequest

type PaymentRequest struct {
	Query   PaymentRequestQuery `xml:"query"`
	XMLName xml.Name            `xml:"sirena"`
}

PaymentRequest is a <payment-ext-auth> request

type PaymentRequestBody

type PaymentRequestBody struct {
	Regnum        string               `xml:"regnum"`
	Surname       string               `xml:"surname"`
	Action        string               `xml:"action"`
	Paydoc        Paydoc               `xml:"paydoc"`
	Cost          *Cost                `xml:"cost,omitempty"`
	RequestParams PaymentRequestParams `xml:"request_params"`
}

PaymentRequestBody is a body of <payment-ext-auth> request

type PaymentRequestParams

type PaymentRequestParams struct {
	TickSer        string `xml:"tick_ser,omitempty"`
	PaymentTimeout int    `xml:"payment_timeout,omitempty"`
	ReturnReceipt  bool   `xml:"return_receipt,omitempty"`
}

PaymentRequestParams is a <request_params> section in <payment-ext-auth> request

type PaymentRequestQuery

type PaymentRequestQuery struct {
	Payment PaymentRequestBody `xml:"payment-ext-auth"`
}

PaymentRequestQuery is a <query> section in <payment-ext-auth> request

type PaymentResponse

type PaymentResponse struct {
	Answer  PaymentAnswer `xml:"answer"`
	XMLName xml.Name      `xml:"sirena" json:"-"`
}

PaymentResponse is a Sirena response to <payment-ext-auth> request

type Phone

type Phone struct {
	ContID  int    `xml:"cont_id,attr"`
	LocID   int    `xml:"loc_id,attr"`
	Type    string `xml:"type,attr,omitempty"`
	Comment string `xml:"comment,attr,omitempty"`
	Value   string `xml:",chardata"`
}

type Price added in v1.3.0

type Price struct {
	Brand             string `xml:"brand,attr"`
	PassengerID       string `xml:"passenger-id,attr"`
	Code              string `xml:"code,attr"`
	Count             string `xml:"count,attr"`
	Currency          string `xml:"currency,attr"`
	Ticket            string `xml:"ticket,attr"`
	TicketCpn         string `xml:"ticket_cpn,attr"`
	Baggage           string `xml:"baggage,attr"`
	Fc                string `xml:"fc,attr"`
	DocType           string `xml:"doc_type,attr"`
	DocID             string `xml:"doc_id,attr"`
	Accode            string `xml:"accode,attr"`
	ValidatingCompany string `xml:"validating_company,attr"`
	Fop               string `xml:"fop,attr"`
	OrigCode          string `xml:"orig_code,attr"`
	OrigID            string `xml:"orig_id,attr"`
	Fare              struct {
		Remark      string `xml:"remark,attr"`
		FareExpdate string `xml:"fare_expdate,attr"`
		Code        string `xml:"code,attr"`
		BaseCode    string `xml:"base_code,attr"`
	} `xml:"fare"`
	Total string `xml:"total"`
}

type PriceUpt

type PriceUpt struct {
	Idar1     string `xml:"idar1"`
	AddonIda  string `xml:"addon_ida" json:"addon_ida"`
	Ntrip     string `xml:"ntrip"`
	Nvr       string `xml:"nvr"`
	Ftnt      string `xml:"ftnt"`
	CodeUpt   string `xml:"code_upt" json:"code_upt"`
	Tariff    string `xml:"tariff"`
	MainAwk   string `xml:"main_awk" json:"main_awk"`
	Cat       string `xml:"cat"`
	Vcat      string `xml:"vcat"`
	City1     string `xml:"city1"`
	City2     string `xml:"city2"`
	Dport     string `xml:"dport"`
	Aport     string `xml:"aport"`
	BaseFare  string `xml:"base_fare" json:"base_fare"`
	Iit       string `xml:"iit"`
	Owrt      string `xml:"owrt"`
	Ddate     string `xml:"ddate"`
	Fdate     string `xml:"fdate"`
	DelivType string `xml:"deliv_type" json:"deliv_type"`
	F0        string `xml:"f0"`
	F1        string `xml:"f1"`
	F2        string `xml:"f2"`
	F3        string `xml:"f3"`
	FlAwk     string `xml:"fl_awk" json:"fl_awk"`
}

type Pricing

type Pricing struct {
	Segments      []PricingRequestSegment   `xml:"segment"`
	Passenger     []PricingRequestPassenger `xml:"passenger"`
	RequestParams PricingRequestParams      `xml:"request_params"`
	AnswerParams  PricingAnswerParams       `xml:"answer_params"`
}

type PricingAnswer

type PricingAnswer struct {
	Pricing          *PricingAnswerPricing `xml:"pricing,omitempty"`
	PricingMonobrand *PricingAnswerPricing `xml:"pricing_mono_brand,omitempty"`
}

type PricingAnswerFlight

type PricingAnswerFlight struct {
	ID               string                `xml:"id,attr"`
	MarketingAirline string                `xml:"company"`
	FlightNumber     string                `xml:"num"`
	OperatingAirline string                `xml:"operating_company"`
	Flight           string                `xml:"flight"`
	Origin           PricingAnswerLocation `xml:"origin"`
	Destination      PricingAnswerLocation `xml:"destination"`
	DeptDate         string                `xml:"deptdate"`
	Legs             []FlightLeg           `xml:"legs>leg"`
	ArrvDate         string                `xml:"arrvdate"`
	DeptTime         string                `xml:"depttime"`
	ArrvTime         string                `xml:"arrvtime"`
	Airplane         string                `xml:"airplane"`
	FlightTime       string                `xml:"flightTime"`
	UPT18CatText     string                `xml:"cat_18_text,omitempty"`
}

func (*PricingAnswerFlight) GetVariantFlightInfo added in v1.3.0

func (p *PricingAnswerFlight) GetVariantFlightInfo(variants []PricingAnswerVariant) *PricingAnswerVariantFlight

GetVariantFlightInfo func return flight info from variant flight

type PricingAnswerLocation

type PricingAnswerLocation struct {
	City     string `xml:"city,attr"`
	Terminal string `xml:"terminal,attr"`
	Value    string `xml:",chardata"`
}

type PricingAnswerParams

type PricingAnswerParams struct {
	ShowAvailable    bool   `xml:"show_available,omitempty"`
	ShowIOMatching   bool   `xml:"show_io_matching,omitempty"`
	ShowFlightTime   bool   `xml:"show_flighttime,omitempty"`
	ShowVariantTotal bool   `xml:"show_varianttotal,omitempty"`
	ShowBaseClass    bool   `xml:"show_baseclass,omitempty"`
	ShowRegLatin     bool   `xml:"show_reg_latin,omitempty"`
	ShowUptRec       bool   `xml:"show_upt_rec,omitempty"`
	ShowFareExpDate  bool   `xml:"show_fareexpdate,omitempty"`
	ShowEt           bool   `xml:"show_et,omitempty"`
	ShowNBlanks      bool   `xml:"show_n_blanks,omitempty"`
	ShowUPT18Cat     bool   `xml:"show_cat18,omitempty"`
	ShowTimeLimit    bool   `xml:"show_tml,omitempty"`
	ShowBrandInfo    bool   `xml:"show_brand_info,omitempty"`
	Regroup          bool   `xml:"regroup,omitempty"`
	ReturnDate       bool   `xml:"return_date,omitempty"`
	MarkCityPort     bool   `xml:"mark_cityport,omitempty"`
	Lang             string `xml:"lang,omitempty"`
	Curr             string `xml:"curr,omitempty"`
}

PricingAnswerParams is a <answer_params> section in <pricing> request

type PricingAnswerPrice

type PricingAnswerPrice struct {
	Brand             string                  `xml:"brand,attr"`
	Baggage           string                  `xml:"baggage,attr"`
	ValidatingAirline string                  `xml:"validating_company,attr"`
	OriginalPaxType   string                  `xml:"orig_code,attr"`
	Currency          string                  `xml:"currency,attr"`
	PassengerID       int                     `xml:"passenger-id,attr"`
	PaxType           string                  `xml:"code,attr"`
	IsRoundTrip       bool                    `xml:"rt,attr,omitempty"`
	FormPay           FormPay                 `xml:"fop,attr,omitempty"`
	Upt               PriceUpt                `xml:"upt"`
	Fare              *PricingAnswerPriceFare `xml:"fare"`
	Taxes             []PricingAnswerPriceTax `xml:"tax"`
	Vat               *Vat                    `xml:"vat"`
	Total             float64                 `xml:"total"`
	UPT18CatText      string                  `xml:"cat18_text,omitempty"`
}

func (*PricingAnswerPrice) GetFare added in v1.3.0

type PricingAnswerPriceFare

type PricingAnswerPriceFare struct {
	Remark      string  `xml:"remark,attr"`
	FareExpDate string  `xml:"fare_expdate,attr"`
	Code        string  `xml:"code,attr"`
	BaseCode    string  `xml:"base_code,attr"`
	Total       float64 `xml:",chardata"`
}

type PricingAnswerPriceTax

type PricingAnswerPriceTax struct {
	Code  string  `xml:"code,attr"`
	Owner string  `xml:"owner,attr"`
	Total float64 `xml:",chardata"`
}

type PricingAnswerPricing

type PricingAnswerPricing struct {
	Variants []PricingAnswerVariant `xml:"variant"`
	Flights  []*PricingAnswerFlight `xml:"flight"`
	Error    *Error                 `xml:"error,omitempty"`
}

type PricingAnswerVariant

type PricingAnswerVariant struct {
	FlightGroups []PricingAnswerVariantFlightGroup `xml:"flights"`
	Directions   []PricingAnswerVariantDirection   `xml:"direction"`
	Total        PricingAnswerVariantTotal         `xml:"variant_total"`
}

func (*PricingAnswerVariant) GetDirectionsFlights added in v1.3.0

func (p *PricingAnswerVariant) GetDirectionsFlights(directionNum int) [][]PricingAnswerVariantFlight

func (*PricingAnswerVariant) GetPaxBaseCost added in v1.3.0

func (p *PricingAnswerVariant) GetPaxBaseCost(paxType string) *float64

GetPaxBaseCost func return base cost of variant for transferred passenger type

func (*PricingAnswerVariant) GetPaxTaxesCost added in v1.3.0

func (p *PricingAnswerVariant) GetPaxTaxesCost(paxType string) *float64

GetPaxTaxesCost func return taxes cost of variant for transferred passenger type

func (*PricingAnswerVariant) GetPaxTaxesRow added in v1.3.0

func (p *PricingAnswerVariant) GetPaxTaxesRow(paxType string) []PricingAnswerPriceTax

GetPaxTaxesRow func return row taxes slice of variant for transferred passenger type

func (*PricingAnswerVariant) GetPaxTotalCost added in v1.3.0

func (p *PricingAnswerVariant) GetPaxTotalCost(paxType string) *float64

GetPaxTotalCost func return total cost of variant for transferred passenger type

func (*PricingAnswerVariant) GetPaxVatsRow added in v1.3.0

func (p *PricingAnswerVariant) GetPaxVatsRow(paxType string) []*Vat

GetPaxVatsRow func return row vats slice of variant for transferred passenger type

func (*PricingAnswerVariant) GetVariantBaseCost added in v1.3.0

func (p *PricingAnswerVariant) GetVariantBaseCost() *float64

GetVariantBaseCost func return base cost of variant for all variant

func (*PricingAnswerVariant) GetVariantDirections added in v1.3.0

func (p *PricingAnswerVariant) GetVariantDirections() []PricingAnswerVariantDirection

func (*PricingAnswerVariant) GetVariantPriceCurrency added in v1.3.0

func (p *PricingAnswerVariant) GetVariantPriceCurrency() string

func (*PricingAnswerVariant) GetVariantTaxesCost added in v1.3.0

func (p *PricingAnswerVariant) GetVariantTaxesCost() *float64

GetVariantTaxesCost func return taxes cost of variant for all variant

func (*PricingAnswerVariant) GetVariantTotalCost added in v1.3.0

func (p *PricingAnswerVariant) GetVariantTotalCost() *PricingAnswerVariantTotal

type PricingAnswerVariantDirection

type PricingAnswerVariantDirection struct {
	Num            int                   `xml:"num,attr"`
	RequestedBrand string                `xml:"requested_brand,attr,omitempty"`
	Prices         []*PricingAnswerPrice `xml:"price"`
}

func (*PricingAnswerVariantDirection) GetDirectionsFlightGroups added in v1.3.0

func (p *PricingAnswerVariantDirection) GetDirectionsFlightGroups(variant *PricingAnswerVariant) [][]PricingAnswerVariantFlight

func (*PricingAnswerVariantDirection) GetDirectionsFlights added in v1.3.0

func (*PricingAnswerVariantDirection) GetDirectionsVariants added in v1.3.0

func (p *PricingAnswerVariantDirection) GetDirectionsVariants(variant *PricingAnswerVariant) [][]PricingAnswerVariantFlight

type PricingAnswerVariantFlight

type PricingAnswerVariantFlight struct {
	ID         string `xml:"id,attr"`
	Num        int    `xml:"num,attr"`
	Class      string `xml:"class,attr"`
	SubClass   string `xml:"subclass,attr"`
	BaseClass  string `xml:"baseclass,attr"`
	Available  int    `xml:"available,attr"`
	SegmentNum string `xml:"iSegmentNum,attr"`
	Cabin      string `xml:"cabin,attr"`
}

func (*PricingAnswerVariantFlight) GetDirectionBrand added in v1.3.0

func (f *PricingAnswerVariantFlight) GetDirectionBrand(variant PricingAnswerVariant, paxType string) string

func (*PricingAnswerVariantFlight) GetFlightInfo added in v1.3.0

func (*PricingAnswerVariantFlight) GetPaxInfoFromFlight added in v1.3.0

func (f *PricingAnswerVariantFlight) GetPaxInfoFromFlight(variants []PricingAnswerVariant, paxType string) *PricingAnswerPrice

func (*PricingAnswerVariantFlight) GetVariantPricing added in v1.3.0

func (f *PricingAnswerVariantFlight) GetVariantPricing(variant PricingAnswerVariant, paxType string) *PricingAnswerPrice

type PricingAnswerVariantFlightGroup

type PricingAnswerVariantFlightGroup struct {
	BookingTimeLimit      string                       `xml:"utc_timelimit,attr,omitempty"`
	NeedLatinRegistration bool                         `xml:"latin_registration,attr,omitempty"`
	ETPossible            bool                         `xml:"et_possible,attr,omitempty"`
	ETBlanks              bool                         `xml:"et_blanks,attr,omitempty"`
	Flight                []PricingAnswerVariantFlight `xml:"flight"`
}

func (*PricingAnswerVariantFlightGroup) GetBrandChecked added in v1.3.0

func (p *PricingAnswerVariantFlightGroup) GetBrandChecked(variant PricingAnswerVariant, paxType string) bool

type PricingAnswerVariantTotal

type PricingAnswerVariantTotal struct {
	Currency string  `xml:"currency,attr"`
	Total    float64 `xml:",chardata"`
}

type PricingFlightAnswer

type PricingFlightAnswer struct {
	Pricing *PricingAnswerPricing `xml:"pricing_flight"`
}

PricingFlightAnswer is an <answer> entry in <pricing_flight> response

type PricingFlightRequest

type PricingFlightRequest struct {
	Query   PricingFlightRequestQuery `xml:"query"`
	XMLName xml.Name                  `xml:"sirena"`
}

PricingFlightRequest is a <pricing> request

type PricingFlightRequestQuery

type PricingFlightRequestQuery struct {
	Pricing Pricing `xml:"pricing_flight"`
}

PricingFlightRequestQuery is a <query> section in <pricing> request

type PricingFlightResponse

type PricingFlightResponse struct {
	Answer PricingFlightAnswer `xml:"answer"`
}

PricingFlightResponse is a Sirena response to <pricing_flight> request

type PricingMonobrand

type PricingMonobrand struct {
	Segments      []PricingRequestSegment   `xml:"segment"`
	Passenger     []PricingRequestPassenger `xml:"passenger"`
	RequestParams PricingRequestParams      `xml:"request_params"`
	AnswerParams  PricingAnswerParams       `xml:"answer_params"`
}

PricingMonobrand is a <pricing_mono_brand> entry in <pricing_mono_brand> response

type PricingMonobrandRequest

type PricingMonobrandRequest struct {
	Query   PricingMonobrandRequestQuery `xml:"query"`
	XMLName xml.Name                     `xml:"sirena"`
}

PricingMonobrandRequest is a <pricing_mono_brand> request

type PricingMonobrandRequestQuery

type PricingMonobrandRequestQuery struct {
	PricingMonobrand PricingMonobrand `xml:"pricing_mono_brand"`
}

PricingMonobrandRequestQuery is a <query> section in <pricing_mono_brand> request

type PricingRequest

type PricingRequest struct {
	Query   PricingRequestQuery `xml:"query"`
	XMLName xml.Name            `xml:"sirena"`
}

PricingRequest is a <pricing> request

type PricingRequestFormpay

type PricingRequestFormpay struct {
	Type  string  `xml:"type,attr"`
	Num   string  `xml:"num,attr"`
	Value FormPay `xml:",chardata"`
}

PricingRequestFormpay is a <formpay> element in <request_params>

type PricingRequestIgnoredAirline

type PricingRequestIgnoredAirline struct {
	Name   string `xml:"name,attr"`
	Flight string `xml:"flight"`
}

PricingRequestIgnoredAirline is an <acomp> element in <pricing> request

type PricingRequestParams

type PricingRequestParams struct {
	MinResults        string                 `xml:"min_results,omitempty"`
	MaxResults        int                    `xml:"max_results,omitempty"`
	MixScls           bool                   `xml:"mix_scls,omitempty"`
	MixAc             bool                   `xml:"mix_ac,omitempty"`
	FingeringOrder    string                 `xml:"fingering_order,omitempty"`
	TickSer           string                 `xml:"tick_ser,omitempty"`
	PriceChildAAA     bool                   `xml:"price_child_aaa,omitempty"`
	AsynchronousFares bool                   `xml:"asynchronous_fares,omitempty"`
	Timeout           int                    `xml:"timeout,omitempty"`
	EtIfPossible      bool                   `xml:"et_if_possible,omitempty"`
	Formpay           *PricingRequestFormpay `xml:"formpay,omitempty"`
	ShowBaggageInfo   bool                   `xml:"show_tmb,omitempty"`
}

PricingRequestParams is a <request_params> section in <pricing> request

type PricingRequestPassenger

type PricingRequestPassenger struct {
	Code  string `xml:"code"`
	Count int    `xml:"count"`
	Age   int    `xml:"age,omitempty"`
	Doc   string `xml:"doc,omitempty"`
	Doc2  string `xml:"doc2,omitempty"`
}

PricingRequestPassenger is a <passenger> section in <pricing> request

type PricingRequestQuery

type PricingRequestQuery struct {
	Pricing Pricing `xml:"pricing"`
}

PricingRequestQuery is a <query> section in <pricing> request

type PricingRequestSegment

type PricingRequestSegment struct {
	ID          int                            `xml:"id,omitempty"`
	JointID     int                            `xml:"joint_id,omitempty"`
	Departure   string                         `xml:"departure"`
	Arrival     string                         `xml:"arrival"`
	Date        string                         `xml:"date"`
	Company     string                         `xml:"company,omitempty"`
	Flight      string                         `xml:"flight,omitempty"`
	Num         string                         `xml:"num,omitempty"`
	Subclass    string                         `xml:"subclass,omitempty"`
	Class       []string                       `xml:"class,omitempty"`
	Direct      bool                           `xml:"direct"`
	Connections string                         `xml:"connections,omitempty"`
	TimeFrom    int                            `xml:"time_from,omitempty"`
	TimeTill    int                            `xml:"time_till,omitempty"`
	Ignore      []PricingRequestIgnoredAirline `xml:"ignore>acomp,omitempty"`
}

PricingRequestSegment is a <segment> section in <pricing> request

type PricingResponse

type PricingResponse struct {
	Answer PricingAnswer `xml:"answer"`
}

type PricingRoute

type PricingRoute struct {
	Segments      []PricingRouteRequestSegment   `xml:"segment"`
	Passenger     []PricingRouteRequestPassenger `xml:"passenger"`
	RequestParams PricingRouteRequestParams      `xml:"request_params"`
	AnswerParams  PricingRouteAnswerParams       `xml:"answer_params"`
}

PricingRoute is a <pricing_route> section

type PricingRouteAnswer

type PricingRouteAnswer struct {
	PricingRoute *PricingRouteAnswerPricingRoute `xml:"pricing_route,omitempty"`
}

type PricingRouteAnswerFlight

type PricingRouteAnswerFlight struct {
	Price       Price                      `xml:"price"`
	ID          int                        `xml:"id,attr"`
	Company     string                     `xml:"company"`
	Num         int                        `xml:"num"`
	Flight      string                     `xml:"flight"`
	Origin      PricingRouteAnswerLocation `xml:"origin"`
	Destination PricingRouteAnswerLocation `xml:"destination"`
	DeptDate    string                     `xml:"deptdate"`
	ArrvDate    string                     `xml:"arrvdate"`
	DeptTime    string                     `xml:"depttime"`
	ArrvTime    string                     `xml:"arrvtime"`
	Airplane    string                     `xml:"airplane"`
	FlightTime  string                     `xml:"flightTime"`
}

type PricingRouteAnswerLocation

type PricingRouteAnswerLocation struct {
	City     string `xml:"city,attr"`
	Terminal string `xml:"terminal,attr"`
	Value    string `xml:",chardata"`
}

type PricingRouteAnswerParams

type PricingRouteAnswerParams struct {
	Lang             string `xml:"lang,omitempty"`
	Curr             string `xml:"curr,omitempty"`
	ShowAvailable    bool   `xml:"show_available,omitempty"`
	ShowIOMatching   bool   `xml:"show_io_matching,omitempty"`
	ShowFlightTime   bool   `xml:"show_flighttime,omitempty"`
	ShowVariantTotal bool   `xml:"show_varianttotal,omitempty"`
	ShowBaseClass    bool   `xml:"show_baseclass,omitempty"`
	ShowRegLatin     bool   `xml:"show_reg_latin,omitempty"`
	ShowUptRec       bool   `xml:"show_upt_rec,omitempty"`
	ShowFareExpDate  bool   `xml:"show_fareexpdate,omitempty"`
	ShowEt           bool   `xml:"show_et,omitempty"`
	ShowNBlanks      bool   `xml:"show_n_blanks,omitempty"`
	Regroup          bool   `xml:"regroup,omitempty"`
	ReturnDate       bool   `xml:"return_date,omitempty"`
	MarkCityPort     bool   `xml:"mark_cityport,omitempty"`
	ShowBrandInfo    bool   `xml:"show_brand_info"`
}

PricingRouteAnswerParams is a <answer_params> section in <pricing_route> request

type PricingRouteAnswerPrice

type PricingRouteAnswerPrice struct {
	Brand    string                       `xml:"brand"`
	OrigCode string                       `xml:"orig_code,attr"`
	Fare     *PricingRouteAnswerPriceFare `xml:"fare"`
	Taxes    []PricingRouteAnswerPriceTax `xml:"tax"`
}

type PricingRouteAnswerPriceFare

type PricingRouteAnswerPriceFare struct {
	Remark      string  `xml:"remark,attr"`
	FareExpDate string  `xml:"fare_expdate,attr"`
	Code        string  `xml:"code,attr"`
	BaseCode    string  `xml:"base_code,attr"`
	Total       float64 `xml:",chardata"`
}

type PricingRouteAnswerPriceTax

type PricingRouteAnswerPriceTax struct {
	Code  string  `xml:"code,attr"`
	Owner string  `xml:"owner,attr"`
	Total float64 `xml:",chardata"`
}

type PricingRouteAnswerPricingRoute

type PricingRouteAnswerPricingRoute struct {
	BrandInfo []BrandInfo                 `xml:"brand_info"`
	Variants  []PricingRouteAnswerVariant `xml:"variant"`
	Flights   []*PricingRouteAnswerFlight `xml:"flight"`
	Error     *Error                      `xml:"error,omitempty"`
}

type PricingRouteAnswerVariant

type PricingRouteAnswerVariant struct {
	Flight []PricingRouteAnswerVariantFlight `xml:"flight"`
	Total  PricingRouteAnswerVariantTotal    `xml:"variant_total"`
}

type PricingRouteAnswerVariantDirection

type PricingRouteAnswerVariantDirection struct {
	Num    int                        `xml:"num,attr"`
	Prices []*PricingRouteAnswerPrice `xml:"price"`
}

type PricingRouteAnswerVariantFlight

type PricingRouteAnswerVariantFlight struct {
	Price     Price  `xml:"price"`
	ID        int    `xml:"id,attr"`
	Num       int    `xml:"num,attr"`
	SubClass  string `xml:"subclass,attr"`
	BaseClass string `xml:"baseclass,attr"`
	Available int    `xml:"available,attr"`
}

type PricingRouteAnswerVariantFlightGroup

type PricingRouteAnswerVariantFlightGroup struct {
	Flight []PricingRouteAnswerVariantFlight `xml:"flight"`
}

type PricingRouteAnswerVariantTotal

type PricingRouteAnswerVariantTotal struct {
	Currency string  `xml:"currency,attr"`
	Total    float64 `xml:",chardata"`
}

type PricingRouteRequest

type PricingRouteRequest struct {
	Query   PricingRouteRequestQuery `xml:"query"`
	XMLName xml.Name                 `xml:"sirena"`
}

PricingRouteRequest is a <pricing_route> request

type PricingRouteRequestFormpay

type PricingRouteRequestFormpay struct {
	Type  string `xml:"type,attr"`
	Num   string `xml:"num,attr"`
	Value string `xml:",chardata"`
}

PricingRouteRequestFormpay is a <formpay> element in <request_params>

type PricingRouteRequestParams

type PricingRouteRequestParams struct {
	MinResults        string                      `xml:"min_results,omitempty"`
	MaxResults        string                      `xml:"max_results,omitempty"`
	MixScls           bool                        `xml:"mix_scls,omitempty"`
	MixAc             bool                        `xml:"mix_ac,omitempty"`
	FingeringOrder    string                      `xml:"fingering_order,omitempty"`
	TickSer           string                      `xml:"tick_ser,omitempty"`
	PriceChildAAA     bool                        `xml:"price_child_aaa,omitempty"`
	AsynchronousFares bool                        `xml:"asynchronous_fares,omitempty"`
	Timeout           int                         `xml:"timeout,omitempty"`
	EtIfPossible      bool                        `xml:"et_if_possible,omitempty"`
	Formpay           *PricingRouteRequestFormpay `xml:"formpay,omitempty"`
}

PricingRouteRequestParams is a <request_params> section in <pricing_route> request

type PricingRouteRequestPassenger

type PricingRouteRequestPassenger struct {
	Code  string `xml:"code"`
	Count int    `xml:"count"`
	Age   int    `xml:"age,omitempty"`
	Doc   string `xml:"doc,omitempty"`
	Doc2  string `xml:"doc2,omitempty"`
}

PricingRouteRequestPassenger is a <passenger> section in <pricing_route> request

type PricingRouteRequestQuery

type PricingRouteRequestQuery struct {
	PricingRoute PricingRoute `xml:"pricing_route"`
}

PricingRouteRequestQuery is a <query> section in <pricing_route> request

type PricingRouteRequestSegment

type PricingRouteRequestSegment struct {
	ID          int    `xml:"id,omitempty"`
	JointID     int    `xml:"joint_id,omitempty"`
	Departure   string `xml:"departure"`
	Arrival     string `xml:"arrival"`
	Date        string `xml:"date"`
	Company     string `xml:"company,omitempty"`
	Flight      string `xml:"flight,omitempty"`
	Num         int    `xml:"num,omitempty"`
	Subclass    string `xml:"subclass,omitempty"`
	Class       string `xml:"class,omitempty"`
	Direct      bool   `xml:"direct"`
	Connections string `xml:"connections,omitempty"`
	TimeFrom    int    `xml:"time_from,omitempty"`
	TimeTill    int    `xml:"time_till,omitempty"`
}

PricingRouteRequestSegment is a <segment> section in <pricing_route> request

type PricingRouteResponse

type PricingRouteResponse struct {
	Answer PricingRouteAnswer `xml:"answer"`
}

type Rate added in v1.3.0

type Rate struct {
	Text     string `xml:",chardata"`
	Currency string `xml:"currency,attr"`
}

type RefundAnswer

type RefundAnswer struct {
	Pult   string               `xml:"pult,attr,omitempty"`
	Refund RefundAnswerResponse `xml:"payment-ext-auth"`
}

RefundAnswer is an <answer> section in Sirena <payment-ext-auth:refund> response

type RefundAnswerPNR

type RefundAnswerPNR struct {
	Prices []RefundAnswerPNRPrice `xml:"prices>price"`
}

RefundAnswerPNR is a <pnr> section in Sirena <payment-ext-auth:refund> response

type RefundAnswerPNRPrice

type RefundAnswerPNRPrice struct {
	SegmentID   int                      `xml:"segment-id,attr,omitempty"`
	PassengerID int                      `xml:"passenger-id,attr,omitempty"`
	Currency    string                   `xml:"currency,attr,omitempty"`
	Ticket      string                   `xml:"ticket,attr"`
	AcCode      string                   `xml:"accode,attr"`
	Fare        PayRefAnswerPNRPriceFare `xml:"fare"`
	Total       float64                  `xml:"total"`
	Taxes       RefundTaxes              `xml:"taxes"`
}

RefundAnswerPNRPrice is a <price> subsection in Sirena <payment-ext-auth:refund> response

type RefundAnswerResponse

type RefundAnswerResponse struct {
	PNR    RefundAnswerPNR `xml:"pnr"`
	Regnum string          `xml:"regnum,attr,omitempty"`
	Action string          `xml:"action,attr,omitempty"`
	Mode   string          `xml:"mode,attr,omitempty"`
	Cost   struct {
		Currency string  `xml:"curr,attr"`
		Value    float64 `xml:",chardata"`
	} `xml:"cost"`
	Ok    *struct{} `xml:"ok,omitempty"`
	Error *Error    `xml:"error,omitempty"`
}

RefundAnswerResponse is an <payment-ext-auth> section in Sirena <payment-ext-auth:refund> response

type RefundPassenger

type RefundPassenger struct {
	Name    string `xml:"name,omitempty"`
	Surname string `xml:"surname,omitempty"`
}

RefundPassenger is a <passenger> section in <payment-ext-auth:refund> request

type RefundRequest

type RefundRequest struct {
	Query   RefundRequestQuery `xml:"query"`
	XMLName xml.Name           `xml:"sirena"`
}

RefundRequest is a <payment-ext-auth:refund> request

type RefundRequestAnswerParams

type RefundRequestAnswerParams struct {
	ShowPaydoc       bool `xml:"show_paydoc,omitempty"`
	ShowPriceDetails bool `xml:"show_price_details,omitempty"`
}

RefundRequestAnswerParams is a <answer_params> section in <payment-ext-auth:refund> request

type RefundRequestBody

type RefundRequestBody struct {
	Regnum        string                     `xml:"regnum"`
	Surname       string                     `xml:"surname"`
	Action        string                     `xml:"action"`
	Mode          string                     `xml:"mode,omitempty"`
	Passenger     *RefundPassenger           `xml:"passenger,omitempty"`
	Cost          *Cost                      `xml:"cost,omitempty"`
	RequestParams *RefundRequestParams       `xml:"request_params,omitempty"`
	AnswerParams  *RefundRequestAnswerParams `xml:"answer_params,omitempty"`
}

RefundRequestBody is a body of <payment-ext-auth:refund> request

type RefundRequestParams

type RefundRequestParams struct {
	Pretend          bool `xml:"pretend,omitempty"`
	CheckForCash     bool `xml:"check_for_cash"`
	ShowPriceDetails bool `xml:"show_price_details"`
	ShowPaydoc       bool `xml:"show_paydoc"`
}

RefundRequestParams is a <request_params> section in <payment-ext-auth:refund> request

type RefundRequestQuery

type RefundRequestQuery struct {
	Refund RefundRequestBody `xml:"payment-ext-auth"`
}

RefundRequestQuery is a <query> section in <payment-ext-auth:refund> request

type RefundResponse

type RefundResponse struct {
	Answer  RefundAnswer `xml:"answer"`
	XMLName xml.Name     `xml:"sirena" json:"-"`
}

RefundResponse is a Sirena response to <payment-ext-auth:refund> request

type RefundTaxes added in v1.3.0

type RefundTaxes struct {
	Tax []Tax `xml:"tax"`
}

type Regions

type Regions struct {
	Data string `xml:"data"`
	Code string `xml:"code,omitempty"`
}

Regions is a <describe> section in all regions request

type RegionsAnswer

type RegionsAnswer struct {
	Regions RegionsAnswerDetails `xml:"describe"`
}

RegionsAnswer is an <answer> section in all regions response

type RegionsAnswerData

type RegionsAnswerData struct {
	Code    []RegionsAnswerDataCode    `xml:"code" json:"code"`
	Name    []RegionsAnswerDataName    `xml:"name" json:"name"`
	Country []RegionsAnswerDataCountry `xml:"country" json:"country"`
}

RegionsAnswerData is a <data> section in all regions response

type RegionsAnswerDataCode

type RegionsAnswerDataCode struct {
	Lang  string `xml:"lang,attr" json:"lang"`
	Value string `xml:",chardata" json:"value"`
}

RegionsAnswerDataCode represents <code> entry in <data> section

type RegionsAnswerDataCountry

type RegionsAnswerDataCountry struct {
	Lang  string `xml:"lang,attr" json:"lang"`
	Value string `xml:",chardata" json:"value"`
}

RegionsAnswerDataCountry represents <country> entry in <data> section

type RegionsAnswerDataName

type RegionsAnswerDataName struct {
	Lang  string `xml:"lang,attr" json:"lang"`
	Value string `xml:",chardata" json:"value"`
}

RegionsAnswerDataName represents <name> entry in <data> section

type RegionsAnswerDetails

type RegionsAnswerDetails struct {
	Data  []RegionsAnswerData `xml:"data"`
	Error *Error              `xml:"error,omitempty"`
}

RegionsAnswerDetails is a <describe> section in all regions response

type RegionsRequest

type RegionsRequest struct {
	Query   RegionsRequestQuery `xml:"query"`
	XMLName xml.Name            `xml:"sirena"`
}

RegionsRequest is a <describe> request

type RegionsRequestQuery

type RegionsRequestQuery struct {
	Regions Regions `xml:"describe"`
}

RegionsRequestQuery is a <query> section in <describe> request

type RegionsResponse

type RegionsResponse struct {
	Answer  RegionsAnswer `xml:"answer"`
	XMLName xml.Name      `xml:"sirena" json:"-"`
}

RegionsResponse is a response to all regions request

type ReleaseSeatsAnswer

type ReleaseSeatsAnswer struct {
	Pult         string                 `xml:"pult,attr,omitempty"`
	ReleaseSeats ReleaseSeatsAnswerBody `xml:"release_seats"`
}

ReleaseSeatsAnswer is an <answer> section in Sirena <release_seats> response

type ReleaseSeatsAnswerBody

type ReleaseSeatsAnswerBody struct {
	Orders []ReleaseSeatsAnswerOrder `xml:"orders"`
	Error  *Error                    `xml:"error,omitempty"`
}

ReleaseSeatsAnswerBody is a <release_seats> section in Sirena <release_seats> response

type ReleaseSeatsAnswerOrder

type ReleaseSeatsAnswerOrder struct {
	Regnum       string `xml:"regnum"`
	BookTime     string `xml:"book_time"`
	Agn          string `xml:"agn,omitempty"`
	PPR          string `xml:"ppr,omitempty"`
	NSeats       int    `xml:"nseats"`
	NSeg         int    `xml:"nseg"`
	NPax         int    `xml:"npax"`
	CommonStatus string `xml:"common_status"`
}

ReleaseSeatsAnswerOrder is an <order> entry in Sirena <release_seats> response

type ReleaseSeatsRequest

type ReleaseSeatsRequest struct {
	Query   ReleaseSeatsRequestQuery `xml:"query"`
	XMLName xml.Name                 `xml:"sirena"`
}

ReleaseSeatsRequest is a <release_seats> request

type ReleaseSeatsRequestBody

type ReleaseSeatsRequestBody struct {
	Regnum    string                       `xml:"regnum"`
	Surname   string                       `xml:"surname"`
	Passenger ReleaseSeatsRequestPassenger `xml:"passenger"`
}

ReleaseSeatsRequestBody is a body of <release_seats> request

type ReleaseSeatsRequestPassenger

type ReleaseSeatsRequestPassenger struct {
	Name    string `xml:"name"`
	Surname string `xml:"surname"`
}

ReleaseSeatsRequestPassenger is a <passenger> entry in <release_seats> request

type ReleaseSeatsRequestQuery

type ReleaseSeatsRequestQuery struct {
	ReleaseSeats ReleaseSeatsRequestBody `xml:"release_seats"`
}

ReleaseSeatsRequestQuery is a <query> section in <release_seats> request

type ReleaseSeatsResponse

type ReleaseSeatsResponse struct {
	Answer  ReleaseSeatsAnswer `xml:"answer"`
	XMLName xml.Name           `xml:"sirena" json:"-"`
}

ReleaseSeatsResponse is a Sirena response to <release_seats> request

type RequestParams added in v1.3.0

type RequestParams struct {
	UseDag               bool `xml:"use_dag"`
	UseIak               bool `xml:"use_iak"`
	CheckTchRestrictions bool `xml:"check_tch_restrictions"`
}

type SSR

type SSR struct {
	Data string `xml:"data"`
	Code string `xml:"code,omitempty"`
}

SSR is a <describe> section in all special requests request

type SSRAnswer

type SSRAnswer struct {
	SSR SSRAnswerDetails `xml:"describe"`
}

SSRAnswer is an <answer> section in all special requests response

type SSRAnswerData

type SSRAnswerData struct {
	Code              []SSRAnswerDataCode `xml:"code" json:"code"`
	Name              []SSRAnswerDataName `xml:"name" json:"name"`
	Category          int                 `xml:"category" json:"category"`
	ForSegment        int                 `xml:"for_segment" json:"for_segment"`
	ForPassenger      int                 `xml:"for_passenger" json:"for_passenger"`
	FreeText          int                 `xml:"free_text" json:"free_text"`
	TravelPortAllowed bool                `xml:"travelport_allowed" json:"travelport_allowed"`
}

SSRAnswerData is a <data> section in all special requests response

type SSRAnswerDataCode

type SSRAnswerDataCode struct {
	Lang  string `xml:"lang,attr" json:"lang"`
	Value string `xml:",chardata" json:"value"`
}

SSRAnswerDataCode represents <code> entry in <data> section

type SSRAnswerDataName

type SSRAnswerDataName struct {
	Lang  string `xml:"lang,attr" json:"lang"`
	Value string `xml:",chardata" json:"value"`
}

SSRAnswerDataName represents <name> entry in <data> section

type SSRAnswerDetails

type SSRAnswerDetails struct {
	Data  []SSRAnswerData `xml:"data"`
	Error *Error          `xml:"error,omitempty"`
}

SSRAnswerDetails is a <describe> section in all special requests response

type SSRRequest

type SSRRequest struct {
	Query   SSRRequestQuery `xml:"query"`
	XMLName xml.Name        `xml:"sirena"`
}

SSRRequest is a Sirena <describe> request for all special requests

type SSRRequestQuery

type SSRRequestQuery struct {
	SSR SSR `xml:"describe"`
}

SSRRequestQuery is a <query> section in all special requests request

type SSRResponse

type SSRResponse struct {
	Answer  SSRAnswer `xml:"answer"`
	XMLName xml.Name  `xml:"sirena" json:"-"`
}

SSRResponse is a response to all special requests request

type SetAgentDiscount

type SetAgentDiscount struct {
	Regnum        *SetAgentDiscountRegnum        `xml:"regnum"`
	Unit          []*SetAgentDiscountUnit        `xml:"unit"`
	RequestParams *SetAgentDiscountRequestParams `xml:"request_params,omitempty"`
	AnswerParams  *BookingAnswerParams           `xml:"answer_params,omitempty"`
}

SetAgentDiscount is a body of set_agent_discount request

type SetAgentDiscountAnswer

type SetAgentDiscountAnswer struct {
	SetAgentDiscount *SetAgentDiscountAnswerBody `xml:"set_agent_discount"`
}

SetAgentDiscountAnswer is an <answer> section in Sirena set_agent_discount response

type SetAgentDiscountAnswerBody

type SetAgentDiscountAnswerBody struct {
	Regnum string                     `xml:"regnum,attr"`
	PNR    *SetAgentDiscountAnswerPNR `xml:"pnr"`
	Error  *Error                     `xml:"error,omitempty"`
}

SetAgentDiscountAnswerBody is an <set_agent_discount> section in Sirena set_agent_discount response

type SetAgentDiscountAnswerPNR

type SetAgentDiscountAnswerPNR struct {
	Prices *BookingAnswerPNRPrices `xml:"prices"`
}

SetAgentDiscountAnswerPNR is a <pnr> section in Sirena set_agent_discount response

type SetAgentDiscountFare

type SetAgentDiscountFare struct {
	Discount string `xml:"discount,attr"`
	Brand    string `xml:"brand,attr,omitempty"`
	Value    string `xml:",chardata"`
}

SetAgentDiscountFare is a fare element in set_agent_discount request

type SetAgentDiscountQuery

type SetAgentDiscountQuery struct {
	SetAgentDiscount *SetAgentDiscount `xml:"set_agent_discount"`
}

SetAgentDiscountQuery is a <query> section in set_agent_discount request

type SetAgentDiscountRegnum

type SetAgentDiscountRegnum struct {
	Version int    `xml:"version,attr"`
	Value   string `xml:",chardata"`
}

SetAgentDiscountRegnum is a Regnum (PNR number and version) in set_agent_discount request

type SetAgentDiscountRequest

type SetAgentDiscountRequest struct {
	Query   SetAgentDiscountQuery `xml:"query"`
	XMLName xml.Name              `xml:"sirena"`
}

SetAgentDiscountRequest is a set_agent_discount request

type SetAgentDiscountRequestParams

type SetAgentDiscountRequestParams struct {
	TickSer string `xml:"tick_ser"`
}

SetAgentDiscountRequestParams is a <request_params> section in set_agent_discount request

type SetAgentDiscountResponse

type SetAgentDiscountResponse struct {
	Answer  SetAgentDiscountAnswer `xml:"answer"`
	XMLName xml.Name               `xml:"sirena" json:"-"`
}

SetAgentDiscountResponse is a Sirena response to set_agent_discount request

type SetAgentDiscountUnit

type SetAgentDiscountUnit struct {
	PassengerID          int                   `xml:"passenger-id,attr"`
	SegmentID            int                   `xml:"segment-id,attr"`
	FC                   string                `xml:"fc,attr"`
	SetAgentDiscountFare *SetAgentDiscountFare `xml:"fare"`
}

SetAgentDiscountUnit is a <unit> element of the set_agent_discount request

type SirenaTime added in v1.3.0

type SirenaTime struct {
	time.Time
}

func (*SirenaTime) UnmarshalXML added in v1.3.0

func (c *SirenaTime) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Ssr

type Ssr struct {
	Type   string `xml:"type,attr"`
	Text   string `xml:"text,attr,omitempty"`
	PassId int    `xml:"pass_id,attr,omitempty"`
	SegId  int    `xml:"seg_id,attr,omitempty"`
	Key    string `xml:"key,attr"`
}

type Subclass added in v1.3.0

type Subclass struct {
	Value string `xml:",chardata"`
	Count string `xml:"count,attr"`
}

type Tax added in v1.3.0

type Tax struct {
	Code  string `xml:"code"`
	Value Value  `xml:"value"`
}

type Taxes

type Taxes struct {
	Data string `xml:"data"`
	Code string `xml:"code,omitempty"`
}

Taxes is a <describe> section in all taxes request

type TaxesAnswer

type TaxesAnswer struct {
	Taxes TaxesAnswerDetails `xml:"describe"`
}

TaxesAnswer is an <answer> section in all taxes response

type TaxesAnswerData

type TaxesAnswerData struct {
	Code []TaxesAnswerDataCode `xml:"code" json:"code"`
	Name []TaxesAnswerDataName `xml:"name" json:"name"`
}

TaxesAnswerData is a <data> section in all taxes response

type TaxesAnswerDataCode

type TaxesAnswerDataCode struct {
	Lang  string `xml:"lang,attr" json:"lang"`
	Value string `xml:",chardata" json:"value"`
}

TaxesAnswerDataCode represents <code> entry in <data> section

type TaxesAnswerDataCountry

type TaxesAnswerDataCountry struct {
	Lang  string `xml:"lang,attr" json:"lang"`
	Value string `xml:",chardata" json:"value"`
}

TaxesAnswerDataCountry represents <country> entry in <data> section

type TaxesAnswerDataName

type TaxesAnswerDataName struct {
	Lang  string `xml:"lang,attr" json:"lang"`
	Value string `xml:",chardata" json:"value"`
}

TaxesAnswerDataName represents <name> entry in <data> section

type TaxesAnswerDetails

type TaxesAnswerDetails struct {
	Data  []TaxesAnswerData `xml:"data"`
	Error *Error            `xml:"error,omitempty"`
}

TaxesAnswerDetails is a <describe> section in all taxes response

type TaxesRequest

type TaxesRequest struct {
	Query   TaxesRequestQuery `xml:"query"`
	XMLName xml.Name          `xml:"sirena"`
}

TaxesRequest is a Sirena <describe> request for all taxes

type TaxesRequestQuery

type TaxesRequestQuery struct {
	Taxes Taxes `xml:"describe"`
}

TaxesRequestQuery is a <query> section in all taxes request

type TaxesResponse

type TaxesResponse struct {
	Answer  TaxesAnswer `xml:"answer"`
	XMLName xml.Name    `xml:"sirena" json:"-"`
}

TaxesResponse is a response to all taxes request

type TicketForm added in v1.3.0

type TicketForm struct {
	IssueDate       string `xml:"issue_date"`
	CRTime          string `xml:"cr_time,attr"`
	PassengerID     string `xml:"pass_id,attr"`
	NameOfPassenger string `xml:"name_of_passenger"`
	DocOfPassenger  string `xml:"doc_of_passenger"`
	Total           string `xml:"total"`
	SerialNumber    string `xml:"form_and_serial_number"`
}

type Upt added in v1.3.0

type Upt struct {
	Value string `xml:",chardata"`
}

type Value added in v1.3.0

type Value struct {
	Currency string `xml:"currency"`
	Value    string `xml:",chardata"`
}

type Vat added in v1.3.0

type Vat struct {
	Fare string `xml:"fare,attr"`
	Vats []xml.Attr
}

func (*Vat) UnmarshalXML added in v1.3.0

func (v *Vat) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Vehicles

type Vehicles struct {
	Data string `xml:"data"`
	Code string `xml:"code,omitempty"`
}

Vehicles is a <describe> section in all vehicles request

type VehiclesAnswer

type VehiclesAnswer struct {
	Vehicles VehiclesAnswerDetails `xml:"describe"`
}

VehiclesAnswer is an <answer> section in all vehicles response

type VehiclesAnswerData

type VehiclesAnswerData struct {
	Code []VehiclesAnswerDataCode `xml:"code" json:"code"`
	Name []VehiclesAnswerDataName `xml:"name" json:"name"`
}

VehiclesAnswerData is a <data> section in all vehicles response

type VehiclesAnswerDataCode

type VehiclesAnswerDataCode struct {
	Lang  string `xml:"lang,attr" json:"lang"`
	Value string `xml:",chardata" json:"value"`
}

VehiclesAnswerDataCode represents <code> entry in <data> section

type VehiclesAnswerDataName

type VehiclesAnswerDataName struct {
	Lang  string `xml:"lang,attr" json:"lang"`
	Value string `xml:",chardata" json:"value"`
}

VehiclesAnswerDataName represents <name> entry in <data> section

type VehiclesAnswerDetails

type VehiclesAnswerDetails struct {
	Data  []VehiclesAnswerData `xml:"data"`
	Error *Error               `xml:"error,omitempty"`
}

VehiclesAnswerDetails is a <describe> section in all vehicles response

type VehiclesRequest

type VehiclesRequest struct {
	Query   VehiclesRequestQuery `xml:"query"`
	XMLName xml.Name             `xml:"sirena"`
}

VehiclesRequest is a Sirena <describe> request for all vehicles

type VehiclesRequestQuery

type VehiclesRequestQuery struct {
	Vehicles Vehicles `xml:"describe"`
}

VehiclesRequestQuery is a <query> section in all vehicles request

type VehiclesResponse

type VehiclesResponse struct {
	Answer  VehiclesAnswer `xml:"answer"`
	XMLName xml.Name       `xml:"sirena" json:"-"`
}

VehiclesResponse is a response to all vehicles request

type ViewFlowSegment added in v1.3.0

type ViewFlowSegment struct {
	ID     string `xml:"id,attr"`
	Ticket string `xml:"ticket,attr"`
	EcStat string `xml:"ec_stat,attr"`
}

type ViewFlownStatus added in v1.3.0

type ViewFlownStatus struct {
	Regnum  string `xml:"regnum"`
	Surname string `xml:"surname"`
}

type ViewFlownStatusAnswer added in v1.3.0

type ViewFlownStatusAnswer struct {
	ViewFlownStatus ViewFlownStatusResp `xml:"view_flown_status"`
}

type ViewFlownStatusQuery added in v1.3.0

type ViewFlownStatusQuery struct {
	ViewFlownStatus ViewFlownStatus `xml:"view_flown_status"`
}

type ViewFlownStatusRequest added in v1.3.0

type ViewFlownStatusRequest struct {
	Query   ViewFlownStatusQuery `xml:"query"`
	XMLName xml.Name             `xml:"sirena"`
}

type ViewFlownStatusResp added in v1.3.0

type ViewFlownStatusResp struct {
	Passengers []Passenger `xml:"passenger"`
}

type ViewFlownStatusResponse added in v1.3.0

type ViewFlownStatusResponse struct {
	Answer  ViewFlownStatusAnswer `xml:"answer"`
	XMLName xml.Name              `xml:"sirena" json:"-"`
}

type VoidTickets

type VoidTickets struct {
	Regnum        string                   `xml:"regnum"`
	Surname       string                   `xml:"surname"`
	RequestParams VoidTicketsRequestParams `xml:"request_params"`
}

VoidTickets is a body of <void_tickets> request

type VoidTicketsAnswer

type VoidTicketsAnswer struct {
	Pult        string                 `xml:"pult,attr,omitempty"`
	VoidTickets VoidTicketsAnswerQuery `xml:"void_tickets"`
}

VoidTicketsAnswer is an <answer> section in Sirena <void_tickets> response

type VoidTicketsAnswerQuery

type VoidTicketsAnswerQuery struct {
	TicketsReturned bool   `xml:"tickets_returned"`
	Error           *Error `xml:"error,omitempty"`
}

VoidTicketsAnswerQuery is an <order> section in Sirena order response

type VoidTicketsRequest

type VoidTicketsRequest struct {
	Query   VoidTicketsRequestQuery `xml:"query"`
	XMLName xml.Name                `xml:"sirena"`
}

VoidTicketsRequest is a <void_tickets> request

type VoidTicketsRequestParams

type VoidTicketsRequestParams struct {
	ReturnSeats bool `xml:"return_seats"`
}

VoidTicketsRequestParams is a <request_params> section in <order> request

type VoidTicketsRequestQuery

type VoidTicketsRequestQuery struct {
	VoidTickets VoidTickets `xml:"void_tickets"`
}

VoidTicketsRequestQuery is a <query> section in <void_tickets> request

type VoidTicketsResponse

type VoidTicketsResponse struct {
	Answer  VoidTicketsAnswer `xml:"answer"`
	XMLName xml.Name          `xml:"sirena" json:"-"`
}

VoidTicketsResponse is a Sirena response to <void_tickets> request

Source Files

Jump to

Keyboard shortcuts

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