models

package
v0.0.0-...-64e79c0 Latest Latest
Warning

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

Go to latest
Published: Apr 18, 2024 License: MIT Imports: 3 Imported by: 0

Documentation

Index

Constants

View Source
const (
	OperationTypeRequest  = "Request"
	OperationTypeResponse = "Response"
	OperationTypeError    = "Error"
	OperationTypeMessage  = "Message"

	LanguageUs = "us"
	LanguageEs = "es"
	LanguageHr = "hr"
	LanguageSk = "sk"
	LanguageBg = "bg"
	LanguagePl = "pl"
	LanguageRu = "ru"
	LanguageUa = "ua"
	LanguageFr = "fr"
	LanguageIt = "it"
	LanguageLv = "lv"
	LanguageRo = "ro"
	LanguageCz = "cz"
	LanguageHu = "hu"
	LanguageDe = "de"
	LanguageSi = "si"
	LanguageTr = "tr"
	LanguageRs = "rs"
	LanguageIl = "il"
	LanguagePt = "pt"
	LanguageZh = "zh"
	LanguageKr = "kr"
	LanguageBr = "br"

	//RoomBasisBb BED AND BREAKFAST
	RoomBasisBb = "BB"
	//RoomBasisBb2 BED AND BREAKFAST UP TO 2
	RoomBasisBb2 = "BB2"
	//RoomBasisCb CONTINENTAL BREAKFAST
	RoomBasisCb = "CB"
	//RoomBasisAi ALL-INCLUSIVE
	RoomBasisAi = "AI"
	//RoomBasisFb FULL-BOARD
	RoomBasisFb = "FB"
	//RoomBasisHb HALF-BOARD
	RoomBasisHb = "HB"
	//RoomBasisRo ROOM ONLY
	RoomBasisRo = "RO"
	//RoomBasisBd BED AND DINNER
	RoomBasisBd = "BD"

	//Start1 1 star
	Start1 = 1
	//Start1point5 1.5 stars
	Start1point5 = 2
	//Start2 2 stars
	Start2 = 3
	//Start2point5 2.5 stars
	Start2point5 = 4
	//Start3 3 stars
	Start3 = 5
	//Start3point5 3.5 stars
	Start3point5 = 6
	//Start4 4 stars
	Start4 = 7
	//Start4point5 4.5 star
	Start4point5 = 8
	//Start5 5 stars
	Start5 = 9
	//Start5point5 5.5 stars
	Start5point5 = 10
	//Start6 6 stars
	Start6 = 11

	//SortByPriceAsc first lowest prices
	SortByPriceAsc = "1"
	//SortByPriceDesc first high prices
	SortByPriceDesc = "2" //S
	//SortByCxlAsc first smallest dates
	SortByCxlAsc = "3"
	//SortByCxlDesc first latest dates
	SortByCxlDesc = "4"

	//StatusRequested Request for Booking was received - status not final, pending confirmation (C) or RJ
	StatusRequested = "RQ"
	//StatusConfirmed Booking is finalized and active
	StatusConfirmed = "C"
	//StatusReqCancellation Cancellation Request was received - status not final, expect either X, C, VI or XF
	StatusReqCancellation = "RX"
	//StatusCancelled Booking canceled FOC
	StatusCancelled = "X"
	//StatusCancelledWithPenalty Cancelled with Penalty Charges
	StatusCancelledWithPenalty = "XP"
	//StatusRejected Booking was rejected
	StatusRejected = "RJ"
	//StatusVoucherIssued Issued	Booking is finalized, confirmed and the voucher was issued
	StatusVoucherIssued = "VCH"
	//StatusVoucherReq	Booking is finalized, confirmed and request for voucher was issued
	StatusVoucherReq = "VRQ"

	AmendmentCategoryStandard    = "STANDARD"
	AmendmentCategorySuperior    = "SUPERIOR"
	AmendmentCategoryDeluxe      = "DELUXE"
	AmendmentCategoryLuxury      = "LUXURY"
	AmendmentCategoryPremium     = "PREMIUM"
	AmendmentCategoryJuniorSuite = "JUNIOR SUITE"
	AmendmentCategorySuite       = "SUITE"
	AmendmentCategoryMiniSuite   = "MINI SUITE"
	AmendmentCategoryStudio      = "STUDIO"
	AmendmentCategoryExecutive   = "EXECUTIVE"

	CancellationPolicyModePercent = "PCT"
	CancellationPolicyModeFix     = "FLAT"
)
View Source
const (
	BookingRemarksAgent  = "Agent"
	BookingRemarksTariff = "Tariff"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type AdvBookingSearchBooking

type AdvBookingSearchBooking struct {
	XMLName xml.Name `xml:"Booking"`
	//The Go booking code
	GoBookingCode string `xml:"GoBookingCode"`
	//The Go Reference
	GoReference string `xml:"GoReference"`
	//The client booking code
	ClientBookingCode string `xml:"ClientBookingCode"`
	//Date of creation (yyyy-MM-dd HH:mm)
	CreatedDate string `xml:"CreatedDate"`
	//Id of Agency - usually same as credentials
	AgencyID int64 `xml:"AgencyID"`
	//Name of agency - usually belonging to the credentials
	AgencyName string `xml:"AgencyName"`
	//The status of the booking RQ, X, C etc.
	BookingStatus string `xml:"BookingStatus"`
	//The total client price
	TotalPrice float64 `xml:"TotalPrice"`
	//Currency
	Currency string `xml:"Currency"`
	//The total agent price
	GrossPrice GrossPrice `xml:"GrossPrice,omitempty"`
	//The Comm flat value - with IncludeCommission
	Commission Commission `xml:"Commission,omitempty"`
	//Name of the Hotel
	HotelName string `xml:"HotelName,omitempty"`
	//Hotel city code
	CityCode string `xml:"CityCode,omitempty"`
	//Hotel search code
	HotelSearchCode string `xml:"HotelSearchCode,omitempty"`
	//DEPRECATED
	RoomType string `xml:"RoomType,omitempty"`
	//BoardBasis
	RoomBasis string `xml:"RoomBasis,omitempty"`
	//Check-in Date (yyyy-MM-dd)
	ArrivalDate string `xml:"ArrivalDate,omitempty"`
	//Transfer Country
	Country string `xml:"Country,omitempty"`
	//Description of Transfer
	TransferName string `xml:"TransferName,omitempty"`
	//Location of Pickup
	PickupLocation string `xml:"PickupLocation,omitempty"`
	//Location of Dropoff
	DropOffLocation string `xml:"DropOffLocation,omitempty"`
	//Pickup Date and time (yyyy-MM-dd HH:mm)
	PickupDate string `xml:"PickupDate,omitempty"`
	//Cancellaton deadline date
	CancellationDeadline string `xml:"CancellationDeadline"`
	//Number of nights
	Nights int64 `xml:"Nights,omitempty"`
	//No Alternative Hotel Returned
	NoAlternativeHotel int64 `xml:"NoAlternativeHotel,omitempty"`
	//The LeadPax of the booking
	Leader Leader `xml:"Leader"`
	//The Pax Nationality as provided on avail step
	Nationality string `xml:"Nationality,omitempty"`
	//Rooms
	Rooms BookingSearchRoomsResponse `xml:"Rooms"`
	//PaymentTransactions
	PaymentTransactions PaymentTransactions `xml:"PaymentTransactions"`
	//Additional Preferences Requested
	Preferences Preferences `xml:"Preferences"`
	// Vehicle
	Vehicle Vehicle `xml:"Vehicle"`
	//Free Text remarks to pass in the booking, like special requests	Req. Wine in Room
	Remark string `xml:"Remark"`
}

type AdvBookingSearchMainResponse

type AdvBookingSearchMainResponse struct {
	XMLName  xml.Name                 `xml:"Main"`
	Bookings AdvBookingSearchResponse `xml:"Bookings"`

	ErrorResponse
}

type AdvBookingSearchRequest

type AdvBookingSearchRequest struct {
	XMLName xml.Name `xml:"Main"`
	//Attribute to define request version
	Version string `xml:"Version,attr"`
	//Attribute to request payments in response - default false
	IncludePayments bool `xml:"IncludePayments,attr,omitempty"`
	//Attribute to request commission in response - default false
	IncludeCommission bool `xml:"IncludeCommission,attr,omitempty"`
	//Search also hierarchy agencies
	IncludeSubAgencies bool `xml:"IncludeSubAgencies,omitempty"`
	//Return full (default) or short (no rooms/pax) details
	DetailLevel string `xml:"DetailLevel,omitempty"`
	//Any passenger name (or part of)
	PaxName string `xml:"PaxName,omitempty"`
	//Code of the city
	CityCode int64 `xml:"CityCode,omitempty"`
	//Earliest arrival date (YYYY-mm-dd)
	ArrivalDateRangeFrom string `xml:"ArrivalDateRangeFrom,omitempty"`
	//Latest arrival date (YYYY-mm-dd)
	ArrivalDateRangeTo string `xml:"ArrivalDateRangeTo,omitempty"`
	//Match exact date (deprecated)	(YYYY-mm-dd)
	ArrivalDate string `xml:"ArrivalDate,omitempty"`
	//Single Date of booking creation (YYYY-mm-dd)
	CreatedDate string `xml:"CreatedDate,omitempty"`
	//Earliest Date of booking creation	(YYYY-mm-dd)
	CreatedDateRangeFrom string `xml:"CreatedDateRangeFrom,omitempty"`
	//Latest Date of booking creation (YYYY-mm-dd)
	CreatedDateRangeTo string `xml:"CreatedDateRangeTo,omitempty"`
	//Agent Ref as provided in the booking request
	ClientBookingCode string `xml:"ClientBookingCode,omitempty"`
	//No. of nights
	Nights int64 `xml:"Nights,omitempty"`
	//The Hotel Search Code
	HotelSearchCode string `xml:"HotelSearchCode,omitempty"`
	//Hotel name
	HotelName string `xml:"HotelName,omitempty"`
}

type AdvBookingSearchResponse

type AdvBookingSearchResponse struct {
	XMLName xml.Name                  `xml:"Bookings"`
	Booking []AdvBookingSearchBooking `xml:"Booking"`
}

type AdvBookingSearchRoot

type AdvBookingSearchRoot struct {
	XMLName xml.Name                     `xml:"Root"`
	Header  Header                       `xml:"Header"`
	Main    AdvBookingSearchMainResponse `xml:"Main"`
}

func (AdvBookingSearchRoot) CheckError

func (r AdvBookingSearchRoot) CheckError() error

func (AdvBookingSearchRoot) GetResponse

type Body

type Body struct {
	XMLName     xml.Name `xml:"Body"`
	MakeRequest MakeRequest
}

type BodyResponse

type BodyResponse struct {
	XMLName             xml.Name `xml:"Body"`
	MakeRequestResponse MakeRequestResponse
}

type BookInsertMainResponse

type BookInsertMainResponse struct {
	XMLName xml.Name `xml:"Main"`
	BookingInsertResponse
	ErrorResponse
}

type BookValuationMainResponse

type BookValuationMainResponse struct {
	XMLName xml.Name `xml:"Main"`
	BookValuationResponse

	ErrorResponse
}

type BookValuationRate

type BookValuationRate struct {
	XMLName  xml.Name `xml:"Rates"`
	Currency string   `xml:"Currency,attr"`
	Value    float64  `xml:",chardata"`
}

type BookValuationRequest

type BookValuationRequest struct {
	XMLName xml.Name `xml:"Main"`
	//Attribute to define request version 2.0
	Version string `xml:"Version,attr"`
	//The Hotel Search Code
	HotelSearchCode string `xml:"HotelSearchCode"`
	//Check-in Date (yyyy-MM-dd)
	ArrivalDate string `xml:"ArrivalDate"`
	//Attribute to request TotalTax and RoomRate when available - default false
	ReturnTaxData bool `xml:"ReturnTaxData,attr,omitempty"`
}

type BookValuationResponse

type BookValuationResponse struct {
	HotelSearchCode      string               `xml:"HotelSearchCode"`
	ArrivalDate          string               `xml:"ArrivalDate"`
	CancellationDeadline string               `xml:"CancellationDeadline"`
	Remarks              string               `xml:"Remarks"`
	Rates                BookValuationRate    `xml:"Rates"`
	TotalTax             float64              `xml:"TotalTax"`
	RoomRate             float64              `xml:"RoomRate"`
	CancellationPolicies CancellationPolicies `xml:"CancellationPolicies"`
}

type BookValuationRoot

type BookValuationRoot struct {
	XMLName xml.Name                  `xml:"Root"`
	Header  Header                    `xml:"Header"`
	Main    BookValuationMainResponse `xml:"Main"`
}

func (BookValuationRoot) CheckError

func (r BookValuationRoot) CheckError() error

func (BookValuationRoot) GetResponse

func (r BookValuationRoot) GetResponse() BookValuationResponse

type BookingAmendmentMainResponse

type BookingAmendmentMainResponse struct {
	XMLName xml.Name `xml:"Main"`

	ErrorResponse
	BookingAmendmentResponse
}

BookingAmendmentMainResponse If the Main tag is empty, the amendment request was RECEIVED correctly, else, an exception message will be returned.

type BookingAmendmentRequest

type BookingAmendmentRequest struct {
	XMLName xml.Name `xml:"Main"`
	//Check In Date	2013-10-08
	ArrivalDate string `xml:"ArrivalDate"`
	//Number of nights
	Nights int64 `xml:"Nights"`
	//Room List
	Rooms BookingInfoForAmendmenRoomsResponse `xml:"Rooms"`
	//Remark List
	Remarks BookingInfoForAmendmenRemarks `xml:"Remarks"`
}

type BookingAmendmentResponse

type BookingAmendmentResponse struct {
}

type BookingAmendmentRoot

type BookingAmendmentRoot struct {
	XMLName xml.Name                     `xml:"Root"`
	Header  Header                       `xml:"Header"`
	Main    BookingAmendmentMainResponse `xml:"Main"`
}

func (BookingAmendmentRoot) CheckError

func (r BookingAmendmentRoot) CheckError() error

func (BookingAmendmentRoot) GetResponse

type BookingCancelMainResponse

type BookingCancelMainResponse struct {
	XMLName xml.Name `xml:"Main"`
	BookingCancelResponse
	ErrorResponse
}

type BookingCancelRequest

type BookingCancelRequest struct {
	XMLName xml.Name `xml:"Main"`
	//The GOBookingCode
	GoBookingCode string `xml:"GoBookingCode"`
}

type BookingCancelResponse

type BookingCancelResponse struct {
	//The Go booking code
	GoBookingCode string `xml:"GoBookingCode"`
	//The status of the booking RX, X, C etc.
	BookingStatus string `xml:"BookingStatus"`
}

type BookingCancelRoot

type BookingCancelRoot struct {
	XMLName xml.Name                  `xml:"Root"`
	Header  Header                    `xml:"Header"`
	Main    BookingCancelMainResponse `xml:"Main"`
}

func (BookingCancelRoot) CheckError

func (r BookingCancelRoot) CheckError() error

func (BookingCancelRoot) GetResponse

func (r BookingCancelRoot) GetResponse() BookingCancelResponse

type BookingInfoForAmendmenPerson

type BookingInfoForAmendmenPerson struct {
	XMLName xml.Name `xml:"PersonName"`
	//Attribute - A unique Person ID for the booking - incremental
	PersonID int64 `xml:"PersonID,attr"`
	//Attribute - Pax Title - Version 2+ only
	Title string `xml:"Title,attr"`
	//Attribute - Adult First Name - Version 2+ only
	FirstName string `xml:"FirstName,attr"`
	//Attribute - Adult Last Name - Version 2+ only
	LastName string `xml:"LastName,attr"`
	//Pax Age (Required for child)
	Age int64 `xml:"Age,omitempty"`
}

type BookingInfoForAmendmenRemark

type BookingInfoForAmendmenRemark struct {
	XMLName xml.Name `xml:"Remark"`
	//Id of the remark
	Id int64 `xml:"Id,attr"`
	//Remark text
	Text []BookingRemark `xml:",chardata"`
}

type BookingInfoForAmendmenRemarks

type BookingInfoForAmendmenRemarks struct {
	XMLName xml.Name        `xml:"Remarks"`
	Remark  []BookingRemark `xml:"Remark"`
}

type BookingInfoForAmendmenRoomResponse

type BookingInfoForAmendmenRoomResponse struct {
	XMLName xml.Name `xml:"Room"`
	//Attribute - A unique room ID for each type - incremental
	RoomId int64 `xml:"RoomID,attr"`
	//Attribute - booked room description
	Category string `xml:"Category,attr"`
	//Attribute - The number of cots for the given room type
	Cots     int64                        `xml:"Cots,attr,omitempty"`
	Person   BookingInfoForAmendmenPerson `xml:"Person"`
	ExtraBed ExtraBed                     `xml:"ExtraBed"`
}

type BookingInfoForAmendmenRoomTypeResponse

type BookingInfoForAmendmenRoomTypeResponse struct {
	XMLName xml.Name `xml:"RoomType"`
	//Attribute - Number of adults in a room
	Adults int64 `xml:"Adults,attr"`
	//Group to specify pax per room in group - can be more then one
	Room []BookingInfoForAmendmenRoomResponse `xml:"Room"`
}

type BookingInfoForAmendmenRoomsResponse

type BookingInfoForAmendmenRoomsResponse struct {
	XMLName  xml.Name                                 `xml:"Rooms"`
	RoomType []BookingInfoForAmendmenRoomTypeResponse `xml:"RoomType"`
}

type BookingInfoForAmendmentMainResponse

type BookingInfoForAmendmentMainResponse struct {
	XMLName xml.Name `xml:"Main"`
	BookingInfoForAmendmentResponse
	ErrorResponse
}

type BookingInfoForAmendmentRequest

type BookingInfoForAmendmentRequest struct {
	XMLName xml.Name `xml:"Main"`
	//The Reservation ref#/code
	GoBookingCode string `xml:"GoBookingCode"`
}

type BookingInfoForAmendmentResponse

type BookingInfoForAmendmentResponse struct {
	//Check In Date	2013-10-08
	ArrivalDate string `xml:"ArrivalDate"`
	//Number of nights
	Nights int64 `xml:"Nights"`
	//Room List
	Rooms BookingInfoForAmendmenRoomsResponse `xml:"Rooms"`
	//Remark List
	Remarks BookingInfoForAmendmenRemarks `xml:"Remarks"`
}

type BookingInfoForAmendmentRoot

type BookingInfoForAmendmentRoot struct {
	XMLName xml.Name                            `xml:"Root"`
	Header  Header                              `xml:"Header"`
	Main    BookingInfoForAmendmentMainResponse `xml:"Main"`
}

func (BookingInfoForAmendmentRoot) CheckError

func (r BookingInfoForAmendmentRoot) CheckError() error

func (BookingInfoForAmendmentRoot) GetResponse

type BookingInsertRequest

type BookingInsertRequest struct {
	XMLName xml.Name `xml:"Main"`
	//Attribute to define request version	2.3
	Version string `xml:"Version,attr"`
	//Attribute to request payments in response - default false
	IncludePayments bool `xml:"IncludePayments,attr,omitempty"`
	//Attribute to request commission in response - default false
	IncludeCommission bool `xml:"IncludeCommission,attr,omitempty"`
	//Attribute to request TotalTax and RoomRate when available - default false
	ReturnTaxData bool `xml:"ReturnTaxData,attr,omitempty"`
	//Agent Reference
	AgentReference string `xml:"AgentReference"`
	//The Hotel search code of the chosen hotel
	HotelSearchCode string `xml:"HotelSearchCode"`
	//Check-in Date (yyyy-MM-dd)
	ArrivalDate string `xml:"ArrivalDate"`
	//Number of nights
	Nights int64 `xml:"Nights"`
	//Indicates whether client wants to be advised on alternates if his room is unavailable for booking (1=no alternatives)
	NoAlternativeHotel int64 `xml:"NoAlternativeHotel"`
	//The lead pax of the booking
	Leader Leader `xml:"Leader"`
	//Group to specify room search criteria
	Rooms RoomsRequest `xml:"Rooms"`
	//Additional Preferences Requested
	Preferences Preferences `xml:"Preferences,omitempty"`
	//Free Text remarks to pass in the booking, like special requests
	Remark string `xml:"Remark,omitempty"`
	//Base64 Encoded details for the credit card to use for payment}
	PaymentCreditCard string `xml:"PaymentCreditCard,omitempty"`
}

type BookingInsertResponse

type BookingInsertResponse struct {
	//The GoGlobal booking code
	GoBookingCode string `xml:"GoBookingCode"`
	//The GoGlobal Reference
	GoReference string `xml:"GoReference"`
	//The client booking code
	ClientBookingCode string `xml:"ClientBookingCode"`
	//The status of the booking RQ, X, C etc.
	BookingStatus string `xml:"BookingStatus"`
	//The total booking price
	TotalPrice float64 `xml:"TotalPrice"`
	//Currency
	Currency string `xml:"Currency"`
	// Total Tax for booking
	TotalTax float64 `xml:"TotalTax"`
	// Total without tax
	RoomRate float64 `xml:"RoomRate"`
	//The Comm flat value - with IncludeCommission
	Commission Commission `xml:"Commission"`
	//Id of the Hotel - Version 2+ Only
	HotelId int64 `xml:"HotelId"`
	//Name of the Hotel
	HotelName string `xml:"HotelName"`
	//Hotel Search code
	HotelSearchCode string `xml:"HotelSearchCode"`
	//DEPRECATED Ignore it
	RoomType string `xml:"RoomType"`
	//RoomBasis
	RoomBasis string `xml:"RoomBasis"`
	//Check-in Date (yyyy-MM-dd)
	ArrivalDate string `xml:"ArrivalDate"`
	//CXL deadline date
	CancellationDeadline string `xml:"CancellationDeadline"`
	//Number of nights
	Nights int64 `xml:"Nights"`
	//Don't return alternative
	NoAlternativeHotel string `xml:"NoAlternativeHotel"`
	//The LeadPax of the booking
	Leader Leader `xml:"Leader"`
	//
	PaymentTransactions string `xml:"PaymentTransactions"`
	//Group to specify room search criteria
	Rooms RoomsResponse `xml:"Rooms"`
	//Additional Preferences Requested
	Preferences Preferences `xml:"Preferences"`
	//Free Text remarks to pass in the booking, like special requests	Req. Wine in Room	Y
	Remark string `xml:"Remark"`
	//Payment Details if opted to pay on booking
	PaymentInfo PaymentInfo `xml:"PaymentInfo"`
}

type BookingInsertRoot

type BookingInsertRoot struct {
	XMLName xml.Name               `xml:"Root"`
	Header  Header                 `xml:"Header"`
	Main    BookInsertMainResponse `xml:"Main"`
}

func (BookingInsertRoot) CheckError

func (r BookingInsertRoot) CheckError() error

func (BookingInsertRoot) GetResponse

func (r BookingInsertRoot) GetResponse() BookingInsertResponse

type BookingRemark

type BookingRemark struct {
	XMLName xml.Name `xml:"Remark"`
	Value   string   `xml:",cdata"`
}

type BookingRemarks

type BookingRemarks struct {
	XMLName xml.Name `xml:"BookingRemarks"`
	//Attribute - Type of remark group - Version 2+ only
	Type string `xml:"Type,attr"`
	//Remarks data - list - Version 2+ only
	Remark []BookingRemark `xml:"Remark"`
}

type BookingSearchMainResponse

type BookingSearchMainResponse struct {
	XMLName xml.Name `xml:"Main"`

	BookingSearchResponse
	ErrorResponse
}

type BookingSearchRequest

type BookingSearchRequest struct {
	XMLName xml.Name `xml:"Main"`
	//Attribute to request payments in response - default false
	IncludePayments bool `xml:"IncludePayments,attr,omitempty"`
	//Attribute to request commission in response - default false
	IncludeCommission bool `xml:"IncludeCommission,attr,omitempty"`
	//The GOBookingCode or GORef
	GoBookingCode string `xml:"GoBookingCode"`
}

type BookingSearchResponse

type BookingSearchResponse struct {
	//The Go booking code
	GoBookingCode string `xml:"GoBookingCode"`
	//The Go Reference
	GoReference string `xml:"GoReference"`
	//The client booking code
	ClientBookingCode string `xml:"ClientBookingCode"`
	//The status of the booking RQ, X, C etc.
	BookingStatus string `xml:"BookingStatus"`
	//The total client price
	TotalPrice float64 `xml:"TotalPrice"`
	//Currency
	Currency string `xml:"Currency"`
	//The total agent price
	GrossPrice GrossPrice `xml:"GrossPrice,omitempty"`
	//The Comm flat value - with IncludeCommission
	Commission Commission `xml:"Commission"`
	//Id of the booked hotel
	HotelId int64 `xml:"HotelId"`
	//Name of the Hotel
	HotelName string `xml:"HotelName,omitempty"`
	//Hotel search code
	HotelSearchCode string `xml:"HotelSearchCode,omitempty"`
	//Hotel city code
	CityCode int64 `xml:"CityCode,omitempty"`
	//DEPRECATED
	RoomType string `xml:"RoomType,omitempty"`
	//BoardBasis
	RoomBasis string `xml:"RoomBasis,omitempty"`
	//Check-in Date (yyyy-MM-dd)
	ArrivalDate string `xml:"ArrivalDate,omitempty"`
	//Transfer Country
	Country string `xml:"Country,omitempty"`
	//Description of Transfer
	TransferName string `xml:"TransferName,omitempty"`
	//Location of Pickup
	PickupLocation string `xml:"PickupLocation,omitempty"`
	//Location of Dropoff
	DropOffLocation string `xml:"DropOffLocation,omitempty"`
	//Pickup Date and time (yyyy-MM-dd HH:mm)
	PickupDate string `xml:"PickupDate,omitempty"`
	//Cancellaton deadline date
	CancellationDeadline string `xml:"CancellationDeadline"`
	//Number of nights
	Nights int64 `xml:"Nights,omitempty"`
	//No Alternative Hotel Returned
	NoAlternativeHotel int64 `xml:"NoAlternativeHotel,omitempty"`
	//The LeadPax of the booking
	Leader Leader `xml:"Leader"`
	//The Pax Nationality as provided on avail step
	Nationality string `xml:"Nationality,omitempty"`
	//Rooms
	Rooms BookingSearchRoomsResponse `xml:"Rooms"`
	//PaymentTransactions
	PaymentTransactions PaymentTransactions `xml:"PaymentTransactions"`
	//Additional Preferences Requested
	Preferences Preferences `xml:"Preferences"`
	// Vehicle
	Vehicle Vehicle `xml:"Vehicle"`
	//Free Text remarks to pass in the booking, like special requests	Req. Wine in Room
	Remark string `xml:"Remark"`
}

type BookingSearchRoomResponse

type BookingSearchRoomResponse struct {
	XMLName xml.Name `xml:"Room"`
	//Attribute - A unique room ID for each type - incremental
	RoomId int64 `xml:"RoomID,attr"`
	//Attribute - booked room description
	Category string `xml:"Category,attr"`
	//Attribute - The number of cots for the given room type
	Cots       int64                     `xml:"Cots,attr,omitempty"`
	PersonName []PersonNameBookingSearch `xml:"PersonName"`
	ExtraBed   []ExtraBed                `xml:"ExtraBed"`
}

type BookingSearchRoomTypeResponse

type BookingSearchRoomTypeResponse struct {
	XMLName xml.Name `xml:"RoomType"`
	//Attribute - Number of adults in a room
	Adults int64 `xml:"Adults,attr"`
	//Group to specify pax per room in group - can be more then one
	Room []BookingSearchRoomResponse `xml:"Room"`
}

type BookingSearchRoomsResponse

type BookingSearchRoomsResponse struct {
	XMLName  xml.Name                        `xml:"Rooms"`
	RoomType []BookingSearchRoomTypeResponse `xml:"RoomType"`
}

type BookingSearchRoot

type BookingSearchRoot struct {
	XMLName xml.Name                  `xml:"Root"`
	Header  Header                    `xml:"Header"`
	Main    BookingSearchMainResponse `xml:"Main"`
}

func (BookingSearchRoot) CheckError

func (r BookingSearchRoot) CheckError() error

func (BookingSearchRoot) GetResponse

func (r BookingSearchRoot) GetResponse() BookingSearchResponse

type BookingStatusMainResponse

type BookingStatusMainResponse struct {
	XMLName xml.Name `xml:"Main"`

	BookingStatusResponse
	ErrorResponse
}

type BookingStatusRequest

type BookingStatusRequest struct {
	XMLName xml.Name `xml:"Main"`
	//The GOBookingCode or GORef
	GoBookingCode string `xml:"GoBookingCode"`
}

type BookingStatusResponse

type BookingStatusResponse struct {
	GoBookingCode GoBookingCode `xml:"GoBookingCode"`
}

type BookingStatusRoot

type BookingStatusRoot struct {
	XMLName xml.Name                  `xml:"Root"`
	Header  Header                    `xml:"Header"`
	Main    BookingStatusMainResponse `xml:"Main"`
}

func (BookingStatusRoot) CheckError

func (r BookingStatusRoot) CheckError() error

func (BookingStatusRoot) GetResponse

func (r BookingStatusRoot) GetResponse() BookingStatusResponse

type CancellationPolicies

type CancellationPolicies struct {
	XMLName xml.Name             `xml:"CancellationPolicies"`
	Policy  []CancellationPolicy `xml:"Policy"`
}

type CancellationPolicy

type CancellationPolicy struct {
	//Policy Index starting at 1
	Id int64 `json:"Id" xml:"Id,attr"`
	//Date when policy takes affect	(dd/mm/yyyy)
	Starting string `json:"Starting" xml:"Starting,attr"`
	//How to Apply the penalty
	BasedOn string `json:"BasedOn" xml:"BasedOn,attr"`
	//Is value %(PCT|FLAT)
	Mode string `json:"Mode" xml:"Mode,attr"`
	//Penalty Value to apply
	Value string `json:"Value" xml:",chardata"`
}

type Commission

type Commission struct {
	XMLName xml.Name `xml:"Commission"`
	//Attribute - The Comm % value - with IncludeCommission
	Pct   float64 `xml:"pct,attr"`
	Value string  `xml:",chardata"`
}

type EnvelopeRequest

type EnvelopeRequest struct {
	XMLName  xml.Name `xml:"http://schemas.xmlsoap.org/soap/envelope/ Envelope"`
	XsiType  string   `xml:"http://www.w3.org/2001/XMLSchema-instance type,attr,omitempty"`
	XmlnsXsi string   `xml:"xmlns xsi,attr,omitempty"`

	Body Body
}

type EnvelopeResponse

type EnvelopeResponse struct {
	XMLName  xml.Name `xml:"http://schemas.xmlsoap.org/soap/envelope/ Envelope"`
	XsiType  string   `xml:"http://www.w3.org/2001/XMLSchema-instance type,attr,omitempty"`
	XmlnsXsi string   `xml:"xmlns xsi,attr,omitempty"`

	Body BodyResponse
}

type ErrorResponse

type ErrorResponse struct {
	Error      GoGlobalError      `json:"Error"`
	DebugError GoGlobalDebugError `json:"DebugError"`
}

type ExtraBed

type ExtraBed struct {
	XMLName xml.Name `xml:"ExtraBed"`
	//Attribute - A unique Person ID for the booking - incremental - with adults
	PersonID int64 `xml:"PersonID,attr"`
	//Attribute - Child First Name - Version 2+ only
	FirstName string `xml:"FirstName,attr"`
	//Attribute - Child Last Name - Version 2+ only
	LastName string `xml:"LastName,attr"`
	//Attribute - The age of the child. Version 2.2 and above, supporting child age 1 - 18. Before 2.2, ages 2 - 10.
	ChildAge int64 `xml:"ChildAge,attr"`
}

type GeoCodes

type GeoCodes struct {
	XMLName xml.Name `xml:"GeoCodes"`
	//Longitude (in req 61 only)
	Longitude float64 `xml:"Longitude"`
	//Latitude (in req 61 only)
	Latitude float64 `xml:"Latitude"`
}

type GoBookingCode

type GoBookingCode struct {
	XMLName xml.Name `xml:"GoBookingCode"`
	//	The status of the booking RQ, X, C etc.	RQ
	Status string `xml:"Status,attr"`
	//	The Go Reference
	GoReference string `xml:"GoReference,attr"`
	//	The total booking price
	TotalPrice float64 `xml:"TotalPrice,attr"`
	//	Currency
	Currency string `xml:"Currency,attr"`
	//The Go booking code
	Code string `xml:",chardata"`
}

type GoGlobalDebugError

type GoGlobalDebugError struct {
	XMLName     xml.Name `xml:"DebugError" json:"-"`
	Incident    int64    `xml:"incident,attr" json:"Incident"`
	TimeStamp   string   `xml:"timestamp,attr" json:"TimeStamp"`
	Message     string   `xml:",cdata" json:"Message"`
	FinalAction string   `json:"finalAction"`
}

type GoGlobalError

type GoGlobalError struct {
	XMLName xml.Name `xml:"Error" json:"-"`
	Code    int64    `xml:"code,attr" json:"Code"`
	Message string   `xml:",cdata" json:"Message"`
}

func (GoGlobalError) Error

func (e GoGlobalError) Error() string

type GrossPrice

type GrossPrice struct {
	XMLName  xml.Name `xml:"GrossPrice"`
	Currency string   `xml:"Currency,attr"`
	Value    string   `xml:",chardata"`
}
type Header struct {
	XMLName xml.Name `xml:"Header"`
	//Agency/Client Identification
	Agency json.Number `xml:"Agency" json:"Agency"`
	//UserName
	User string `xml:"User" json:"User"`
	//User password
	Password string `xml:"Password" json:"Password"`
	//Operation Name (Header) based of the RequestType
	Operation string `xml:"Operation" json:"Operation"`
	//Type of operation
	OperationType string `xml:"OperationType" json:"OperationType"`
	// In response - search stats
	Stats SearchStats `xml:"-" json:"Stats"`
}

type HotelInfoMainResponse

type HotelInfoMainResponse struct {
	XMLName xml.Name `xml:"Main"`

	HotelInfoResponse
	ErrorResponse
}

type HotelInfoRequest

type HotelInfoRequest struct {
	XMLName xml.Name `xml:"Main"`
	//Attribute to define request version
	Version string `xml:"Version,attr"`
	//Unique Hotel Id
	InfoHotelId int64 `xml:"InfoHotelId,omitempty"`
	//Hotel search code
	HotelSearchCode string `xml:"HotelSearchCode,omitempty"`
	//Lower Case 2 Letter ISO Language Code
	InfoLanguage string `xml:"InfoLanguage,omitempty"`
}

HotelInfoRequest receive addition information about hotel Only 1 of either InfoHotelId or HotelSearchCode must be specified in each request.

type HotelInfoResponse

type HotelInfoResponse struct {
	//Hotel code	12345/3243212345/53
	HotelSearchCode string `xml:"HotelSearchCode"`
	//Name of the Hotel	AC
	HotelName string `xml:"HotelName"`
	//Hotel Code/Id (Version 2.2+)
	HotelId int64 `xml:"HotelId"`
	//Address
	Address string `xml:"Address"`
	//City code
	CityCode int64 `xml:"CityCode"`
	//Holds Geocodes. (in req 61 only)
	GeoCodes GeoCodes `xml:"GeoCodes"`
	//Phone
	Phone string `xml:"Phone"`
	//Fax
	Fax string `xml:"Fax"`
	//Category
	Category string `xml:"Category"`
	//Description
	Description string `xml:"Description"`
	//Hotel Facilities
	HotelFacilities string `xml:"HotelFacilities"`
	//Room Facilities
	RoomFacilities string `xml:"RoomFacilities"`
	//Number of rooms
	RoomCount int64    `xml:"RoomCount"`
	Pictures  Pictures `xml:"Pictures"`
}

type HotelInfoRoot

type HotelInfoRoot struct {
	XMLName xml.Name              `xml:"Root"`
	Header  Header                `xml:"Header"`
	Main    HotelInfoMainResponse `xml:"Main"`
}

func (HotelInfoRoot) CheckError

func (r HotelInfoRoot) CheckError() error

func (HotelInfoRoot) GetResponse

func (r HotelInfoRoot) GetResponse() HotelInfoResponse

type HotelSearchOffer

type HotelSearchOffer struct {
	//Unique Code session code - used for subsequent requests
	HotelSearchCode string `json:"HotelSearchCode"`
	//Cancellation Deadline
	CxlDeadline string `json:"CxlDeadline"`
	//Indication of Refundability
	NonRef bool `json:"NonRef"`
	//array of roomNames
	Rooms []string `json:"Rooms"`
	//BoardBasis - BB, RO
	RoomBasis string `json:"RoomBasis"`
	//1- Hotel is Available , 0 - NotAvailable
	Availability int `json:"Availability"`
	//Total Price
	TotalPrice float64 `json:"TotalPrice"`
	//ISO Currency code
	Currency string `json:"Currency"`
	// Total Tax for booking
	TotalTax float64 `json:"TotalTax"`
	// Total without tax
	RoomRate float64 `json:"RoomRate"`
	//The Comm flat value
	CommPercent *float64 `json:"CommPercent"`
	//The Comm % value
	CommValue *float64 `json:"CommValue"`
	//Star Rating of the Hotel
	Category string `json:"Category"`
	//Free text remark
	Remark string `json:"Remark"`
	//Special remarks
	Special string `json:"Special"`
	//Is Best buy
	Preferred            bool                 `json:"Preferred"`
	CancellationPolicies []CancellationPolicy `json:"CancellationPolicies"`
}

type HotelSearchRequest

type HotelSearchRequest struct {
	XMLName xml.Name `xml:"Main"`
	//Attribute to define request version	2.3
	Version string `xml:"Version,attr"`
	//Attribute to return response with JSON
	ResponseFormat string `xml:"ResponseFormat,attr,omitempty"`
	//Attribute to request geo coordinates - default true
	IncludeGeo bool `xml:"IncludeGeo,attr,omitempty"`
	//Attribute to request Max Hotels - default all
	MaxHotels int64 `xml:"MaxHotels,attr,omitempty"`
	//Attribute to request Max offers per hotel - default all
	MaxOffers int64 `xml:"MaxOffers,attr,omitempty"`
	//Attribute to request currency (eg. EUR, GBP, USD) only if set in profile - default per profile/destination
	Currency string `xml:"Currency,attr,omitempty"`
	//Attribute to request commission in response - default false
	IncludeCommission bool `xml:"IncludeCommission,attr,omitempty"`
	//Attribute to request TotalTax and RoomRate when available - default false
	ReturnTaxData bool `xml:"ReturnTaxData,attr,omitempty"`
	//Attribute to request general hotel facilities in response - default false
	HotelFacilities string `xml:"HotelFacilities,attr,omitempty"`
	//Attribute to request general room facilities in response - default false
	RoomFacilities string `xml:"RoomFacilities,attr,omitempty"`
	//Sorts results of hotels search
	SortOrder string `xml:"SortOrder"`
	//Minimum price for hotels to include in the results
	FilterPriceMin *float64 `xml:"FilterPriceMin,omitempty"`
	//Maximum price for hotels to include in the results
	FilterPriceMax *float64 `xml:"FilterPriceMax,omitempty"`
	//Maximum wait time (in seconds) for response (using this may return less results than we have available on our system)
	MaximumWaitTime int64 `xml:"MaximumWaitTime,omitempty"`
	//How many search results to include (number) in response after sorting - def 1000 when not set	1000
	MaxResponses int64 `xml:"MaxResponses,omitempty"`
	//Group to filter only a specific room basis
	FilterRoomBasises SearchFilterRoomBasises `xml:"FilterRoomBasises,omitempty"`
	//Passport Nationality ISO Code of the Lead Pax	GB
	Nationality string `xml:"Nationality"`
	//Code of the city
	CityCode []int64 `xml:"CityCode,omitempty"`
	//Group to search for hotel by ID
	Hotels SearchHotels `xml:"Hotels,omitempty"`
	//Check-in Date (yyyy-MM-dd)
	ArrivalDate string `xml:"ArrivalDate"`
	//Number of nights
	Nights int64 `xml:"Nights"`
	//Single Stars Code/ID to filter results - from the list here Or Group for Stars Range Filter
	Stars SearchStars `xml:"Stars,omitempty"`
	//Search only for apartment hotels
	Apartments bool `xml:"Apartments,omitempty"`
	//Group to specify room search criteria
	Rooms SearchRooms `xml:"Rooms"`
}

type HotelSearchResponse

type HotelSearchResponse struct {
	Header Header                    `json:"Header"`
	Hotels []HotelSearchResponseItem `json:"Hotels"`
	//Fill only if error occurred
	Main ErrorResponse `json:"Main,omitempty"`
}

region response

type HotelSearchResponseItem

type HotelSearchResponseItem struct {
	//Name of Hotel
	HotelName string `json:"HotelName"`
	//Unique HotelID code for the hote
	HotelCode int `json:"HotelCode"`
	//Country Id of hotel
	CountryId int `json:"CountryId"`
	//City Id of hotel
	CityId int `json:"CityId"`
	//Text Location of the Hotel - City Centre, Airport, etc.
	Location string `json:"Location"`
	//Location Code
	LocationCode string `json:"LocationCode"`
	//Thumbnail images of hotel
	Thumbnail string `json:"Thumbnail"`
	//Longitude
	Longitude float64 `json:"Longitude"`
	//Latitude
	Latitude float64 `json:"Latitude"`
	//Hotel Rank in Destination
	BestSellerRank string `json:"BestSellerRank"`
	//Large High Quality Thumbnail
	HotelImage string `json:"HotelImage"`
	//array of HotelFacilities
	HotelFacilities []string `json:"HotelFacilities"`
	//array of RoomFacilities
	RoomFacilities []string           `json:"RoomFacilities"`
	Offers         []HotelSearchOffer `json:"Offers"`
}

type Leader

type Leader struct {
	XMLName        xml.Name `xml:"Leader"`
	LeaderPersonID int64    `xml:"LeaderPersonID,attr"`
}

type MakeRequest

type MakeRequest struct {
	XMLName     xml.Name `xml:"http://www.goglobal.travel/ MakeRequest"`
	RequestType int64    `xml:"requestType"`
	XmlRequest  XmlRequestCdata
}

type MakeRequestResponse

type MakeRequestResponse struct {
	XMLName           xml.Name `xml:"http://www.goglobal.travel/ MakeRequestResponse"`
	MakeRequestResult MakeRequestResult
}

type MakeRequestResult

type MakeRequestResult struct {
	XMLName xml.Name `xml:"MakeRequestResult"`
	Data    []byte   `xml:",chardata"`
}

type PaymentInfo

type PaymentInfo struct {
	XMLName xml.Name `xml:"PaymentInfo"`
	//Payment transaction details
	PaymentResult PaymentResult `xml:"PaymentResult"`
	//Refund transaction details
	RefundResult RefundResult `xml:"RefundResult"`
}

type PaymentResult

type PaymentResult struct {
	XMLName xml.Name `xml:"PaymentResult"`
	//Indication if the payment completed correctly
	Successful bool `xml:"Successful"`
	//Amount charged for the booking
	Amount float64 `xml:"Amount"`
	//Currency used to pay for the booking - booking currency
	Currency string `xml:"Currency"`
	//Confirmation code for the transaction
	ApprovalCode string `xml:"ApprovalCode"`
	//If payment was not successful, will hold the reason for failure
	ErrorMessage string `xml:"ErrorMessage"`
}

type PaymentTransactions

type PaymentTransactions struct {
	XMLName     xml.Name      `xml:"PaymentTransactions"`
	Transaction []Transaction `xml:"Transaction"`
}

type PersonName

type PersonName struct {
	XMLName xml.Name `xml:"PersonName"`
	//Attribute - A unique Person ID for the booking - incremental
	PersonID int64 `xml:"PersonID,attr"`
	//Attribute - Pax Title - Version 2+ only
	Title string `xml:"Title,attr"`
	//Attribute - Adult First Name - Version 2+ only
	FirstName string `xml:"FirstName,attr"`
	//Attribute - Adult Last Name - Version 2+ only
	LastName string `xml:"LastName,attr"`
}

type PersonNameBookingSearch

type PersonNameBookingSearch struct {
	XMLName xml.Name `xml:"PersonName"`
	//Attribute - A unique Person ID for the booking - incremental
	PersonID int64 `xml:"PersonID,attr"`
	//Pax Title - Version 2+ only
	Title string `xml:"Title"`
	//Adult First Name - Version 2+ only
	FirstName string `xml:"FirstName"`
	//Adult Last Name - Version 2+ only
	LastName string `xml:"LastName"`
}

type Picture

type Picture struct {
	XMLName xml.Name `xml:"Picture"`
	//Image Description, When Exists
	Description string `xml:"Description,omitempty"`
	//Image URL in CDATA
	Value string `xml:",cdata"`
}

type Pictures

type Pictures struct {
	XMLName xml.Name  `xml:"Pictures"`
	Picture []Picture `xml:"Picture"`
}

type Preferences

type Preferences struct {
	XMLName xml.Name `xml:"Preferences"`
	//Adjoining Rooms
	AdjoiningRooms int64 `xml:"AdjoiningRooms,omitempty"`
	//Connecting Rooms
	ConnectingRooms int64 `xml:"ConnectingRooms,omitempty"`
	//Non-Smoking Rooms
	NonSmokingRooms int64 `xml:"NonSmokingRooms,omitempty"`
	//Late Arrival Time (HH:mm)
	LateArrival string `xml:"LateArrival,omitempty"`
}

type PriceBreakdown

type PriceBreakdown struct {
	XMLName xml.Name `xml:"PriceBreakdown"`
	//Break-down starting date (YYYY-mm-dd)
	FromDate string `xml:"FromDate"`
	//Break-down ending date(YYYY-mm-dd)
	ToDate string `xml:"ToDate"`
	//Price per 1 night	234.5
	Price float64 `xml:"Price"`
	//
	Currency string
}

type PriceBreakdownMainResponse

type PriceBreakdownMainResponse struct {
	XMLName xml.Name `xml:"Main"`

	PriceBreakdownResponse
	ErrorResponse
}

type PriceBreakdownRequest

type PriceBreakdownRequest struct {
	XMLName xml.Name `xml:"Main"`
	//The Hotel Search Code
	HotelSearchCode string `xml:"HotelSearchCode"`
}

type PriceBreakdownResponse

type PriceBreakdownResponse struct {
	//The selected hotel
	HotelName string               `xml:"HotelName"`
	Room      []PriceBreakdownRoom `xml:"Room"`
}

type PriceBreakdownRoom

type PriceBreakdownRoom struct {
	XMLName xml.Name `xml:"Room"`
	//Search Type of this room Twin, Room for 2 Adults, etc
	RoomType string `xml:"RoomType"`
	//Number of children
	Children int64 `xml:"Children"`
	//Includes an Infant	0 or 1
	Cots           int64            `xml:"Cots"`
	PriceBreakdown []PriceBreakdown `xml:"PriceBreakdown"`
}

type PriceBreakdownRoot

type PriceBreakdownRoot struct {
	XMLName xml.Name                   `xml:"Root"`
	Header  Header                     `xml:"Header"`
	Main    PriceBreakdownMainResponse `xml:"Main"`
}

func (PriceBreakdownRoot) CheckError

func (r PriceBreakdownRoot) CheckError() error

func (PriceBreakdownRoot) GetResponse

type RefundResult

type RefundResult struct {
	XMLName xml.Name `xml:"RefundResult"`
	//Indication if the refund completed correctly
	Successful bool `xml:"Successful"`
	//Confirmation code for the transaction
	ApprovalCode string `xml:"ApprovalCode"`
	//If refund was not successful, will hold the reason for failure
	ErrorMessage string `xml:"ErrorMessage"`
}

type RequestRoot

type RequestRoot struct {
	XMLName xml.Name `xml:"Root"`

	Header Header
	Main   []byte `xml:",innerxml"`
}

type ResponseRoot

type ResponseRoot[T any] interface {
	CheckError() error
	GetResponse() T
}

type RoomRequest

type RoomRequest struct {
	XMLName xml.Name `xml:"Room"`
	//Attribute - A unique room ID for each type - incremental
	RoomId     int64        `xml:"RoomID,attr"`
	PersonName []PersonName `xml:"PersonName"`
	ExtraBed   []ExtraBed   `xml:"ExtraBed"`
}

type RoomResponse

type RoomResponse struct {
	XMLName xml.Name `xml:"Room"`
	//Attribute - A unique room ID for each type - incremental
	RoomId int64 `xml:"RoomID,attr"`
	//Attribute - booked room description
	Category   string       `xml:"Category,attr"`
	PersonName []PersonName `xml:"PersonName"`
	ExtraBed   []ExtraBed   `xml:"ExtraBed"`
}

type RoomTypeRequest

type RoomTypeRequest struct {
	XMLName xml.Name `xml:"RoomType"`
	//Attribute - Number of adults in a room
	Adults int64 `xml:"Adults,attr"`
	//Attribute - The number of cots for the given room type
	Cots int64 `xml:"Cots,attr,omitempty"`
	//Group to specify pax per room in group - can be more then one
	Room []RoomRequest `xml:"Room"`
}

type RoomTypeResponse

type RoomTypeResponse struct {
	XMLName xml.Name `xml:"RoomType"`
	//Attribute - Number of adults in a room
	Adults int64 `xml:"Adults,attr"`
	//Attribute - The number of cots for the given room type
	Cots int64 `xml:"Cots,attr,omitempty"`
	//Group to specify pax per room in group - can be more then one
	Room []RoomResponse `xml:"Room"`
}

type RoomsRequest

type RoomsRequest struct {
	XMLName  xml.Name          `xml:"Rooms"`
	RoomType []RoomTypeRequest `xml:"RoomType"`
}

type RoomsResponse

type RoomsResponse struct {
	XMLName  xml.Name           `xml:"Rooms"`
	RoomType []RoomTypeResponse `xml:"RoomType"`
}

type SearchFilterRoomBasises

type SearchFilterRoomBasises struct {
	//Code of Room basis - from RoomBasisList
	FilterRoomBasis []string `xml:"FilterRoomBasis"`
}

type SearchHotels

type SearchHotels struct {
	//Hotel ID - you can get it from the static data. Up to 500 Ids (can be multi-city)
	HotelId []int64 `xml:"HotelId"`
}

type SearchRoom

type SearchRoom struct {
	// Attribute for number of adults in a room
	Adults int64 `xml:"Adults,attr"`
	// Attribute for number of rooms for a given criteria
	RoomCount int64 `xml:"RoomCount,attr"`
	// Attribute for number of children in the room. Including Babies/Infants.
	ChildCount int64 `xml:"ChildCount,attr"`
	// Attribute for number of cots in the room. Only 1 cot is allowed per room
	CotCount int64 `xml:"CotCount,attr,omitempty"`
	// If specified - age of child in this room.
	ChildAge []int64 `xml:"ChildAge,omitempty"`
}

type SearchRooms

type SearchRooms struct {
	//Group to specify room search criteria - can be more then one
	Room []SearchRoom `xml:"Room"`
}

type SearchStars

type SearchStars struct {
	//Attribute for the minimum Stars Code/Id to filter
	MinStar string `xml:"MinStar,attr,omitempty"`
	//Attribute for the maximum Stars Code/Id to filter
	MaxStar string `xml:"MaxStar,attr,omitempty"`
}

type SearchStats

type SearchStats struct {
	//Number of hotels returned
	HotelQty int `json:"HotelQty"`
	//Number of results returned
	ResultsQty int `json:"ResultsQty"`
}

type Transaction

type Transaction struct {
	XMLName xml.Name `xml:"Transaction"`
	//Attribute - Date of the transaction (format: 2022-11-01 00:00:00)
	Date string `xml:"Date,attr"`
	//Attribute - Type of the transaction: Payment|Refund
	Type string `xml:"Type,attr"`
	//Attribute - Transaction Category: Reservation|Refund
	Category string `xml:"Category,attr"`
	//Attribute - Form of payment: BANK_TRANSFER, CREDITCARD, etc.
	Method string `xml:"Method,attr"`
	//Attribute - Paid amount in local currency
	PaidAmount float64 `xml:"PaidAmount,attr"`
	//Attribute - Currency of the paid amount - ISO Code
	PaidCurrency string `xml:"PaidCurrency,attr"`
	//Attribute - Paid amount in Booking Currency
	BookingAmount float64 `xml:"BookingAmount"`
	//Attribute - Currency of the booking - ISO Code
	BookingCurrency string `xml:"BookingCurrency"`
	//Attribute - Local to Booking exchange rate at time of transaction
	ExchangeRate float64 `xml:"ExchangeRate"`
}

type Vehicle

type Vehicle struct {
	XMLName xml.Name `xml:"Vehicle"`
	//Code of Transfer Vehicle - may be empty
	VehicleCode string `xml:"VehicleCode,omitempty"`
	//Type of Vehicle
	VehicleName string `xml:"VehicleName,omitempty"`
	//Max # of pax
	MaximumPassengers int64 `xml:"MaximumPassengers,omitempty"`
	//Actual # of pax
	NumberOfPassengers int64 `xml:"NumberOfPassengers"`
}

type VoucherDetailsMainResponse

type VoucherDetailsMainResponse struct {
	XMLName xml.Name `xml:"Main"`

	VoucherDetailsResponse
	ErrorResponse
}

type VoucherDetailsRequest

type VoucherDetailsRequest struct {
	XMLName xml.Name `xml:"Main"`
	//The GOBookingCode
	GoBookingCode string `xml:"GoBookingCode"`
	//Return emergency contact phone
	GetEmergencyPhone bool `xml:"GetEmergencyPhone"`
}

type VoucherDetailsResponse

type VoucherDetailsResponse struct {
	//The Go booking code	162345
	GoBookingCode string `xml:"GoBookingCode"`
	//Hotel name
	HotelName string `xml:"HotelName"`
	//Hotel address
	Address string `xml:"Address"`
	//Hotel phome
	Phone string `xml:"Phone"`
	//Hotel fax
	Fax string `xml:"Fax"`
	//checkin date (03/Mar/11)
	CheckInDate string `xml:"CheckInDate"`
	//Room bassis
	RoomBasis string `xml:"RoomBasis"`
	//Number of nights
	Nights int64 `xml:"Nights"`
	//Room and Pax details
	Rooms string `xml:"Rooms"`
	//Remark
	Remarks string `xml:"Remarks"`
	//Url for a PDF version of the vouche
	VoucherDownloadURL string `xml:"VoucherDownloadURL"`
	//Group of booking remarks per type - Version 2+ only
	BookingRemarks BookingRemarks `xml:"BookingRemarks,omitempty"`
	//Hotel supplier
	BookedAndPayableBy string `xml:"BookedAndPayableBy"`
	//Supplier booking code
	SupplierReferenceNumber string `xml:"SupplierReferenceNumber"`
	//Contact phone in case of Emergency
	EmergencyPhone string `xml:"EmergencyPhone"`
}

type VoucherDetailsRoot

type VoucherDetailsRoot struct {
	XMLName xml.Name                   `xml:"Root"`
	Header  Header                     `xml:"Header"`
	Main    VoucherDetailsMainResponse `xml:"Main"`
}

func (VoucherDetailsRoot) CheckError

func (r VoucherDetailsRoot) CheckError() error

func (VoucherDetailsRoot) GetResponse

type XmlRequestCdata

type XmlRequestCdata struct {
	XMLName xml.Name `xml:"xmlRequest"`
	Text    string   `xml:",cdata"`
}

Jump to

Keyboard shortcuts

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