Documentation
¶
Index ¶
- Constants
- func CachedSearchURL(origin, dest string, cabin Cabin, startDate, endDate string) (string, error)
- func TripSearchURL(id string) (string, error)
- type AvailabilityData
- type AvailabilitySegment
- type BookingLink
- type Cabin
- type CachedSearchData
- type CachedSearchResponse
- type Coordinates
- type Route
- type SeatsAeroClient
- type Trip
Constants ¶
View Source
const ( API_URL = "https://seats.aero/partnerapi" SEARCH_URL = API_URL + "/search" TRIP_URL = API_URL + "/trips" )
View Source
const AirportRegex = `^([A-Z]{3})(,[A-Z]{3})*$`
Variables ¶
This section is empty.
Functions ¶
func CachedSearchURL ¶
func TripSearchURL ¶
Types ¶
type AvailabilityData ¶
type AvailabilityData struct { ID string `json:"ID"` RouteID string `json:"RouteID"` AvailabilityID string `json:"AvailabilityID"` AvailabilitySegments []AvailabilitySegment `json:"AvailabilitySegments"` TotalDuration int `json:"TotalDuration"` Stops int `json:"Stops"` Carriers string `json:"Carriers"` RemainingSeats int `json:"RemainingSeats"` MileageCost int `json:"MileageCost"` TotalTaxes int `json:"TotalTaxes"` TaxesCurrency string `json:"TaxesCurrency"` TaxesCurrencySymbol string `json:"TaxesCurrencySymbol"` AllianceCost int `json:"AllianceCost"` TotalSegmentDistance int `json:"TotalSegmentDistance"` FlightNumbers string `json:"FlightNumbers"` DepartsAt time.Time `json:"DepartsAt"` Cabin string `json:"Cabin"` ArrivesAt time.Time `json:"ArrivesAt"` CreatedAt time.Time `json:"CreatedAt"` UpdatedAt time.Time `json:"UpdatedAt"` Source string `json:"Source"` Filtered bool `json:"Filtered"` }
type AvailabilitySegment ¶
type AvailabilitySegment struct { ID string `json:"ID"` RouteID string `json:"RouteID"` AvailabilityID string `json:"AvailabilityID"` AvailabilityTripID string `json:"AvailabilityTripID"` FlightNumber string `json:"FlightNumber"` Distance int `json:"Distance"` FareClass string `json:"FareClass"` AircraftName string `json:"AircraftName"` AircraftCode string `json:"AircraftCode"` OriginAirport string `json:"OriginAirport"` DestinationAirport string `json:"DestinationAirport"` DepartsAt time.Time `json:"DepartsAt"` ArrivesAt time.Time `json:"ArrivesAt"` CreatedAt time.Time `json:"CreatedAt"` UpdatedAt time.Time `json:"UpdatedAt"` Source string `json:"Source"` Cabin string `json:"Cabin"` Order int `json:"Order"` }
type BookingLink ¶
type CachedSearchData ¶
type CachedSearchData struct { ID string `json:"ID"` RouteID string `json:"RouteID"` Route Route `json:"Route"` Date string `json:"Date"` ParsedDate time.Time `json:"ParsedDate"` YAvailable bool `json:"YAvailable"` WAvailable bool `json:"WAvailable"` JAvailable bool `json:"JAvailable"` FAvailable bool `json:"FAvailable"` YMileageCost string `json:"YMileageCost"` WMileageCost string `json:"WMileageCost"` JMileageCost string `json:"JMileageCost"` FMileageCost string `json:"FMileageCost"` YMileageCostRaw int `json:"YMileageCostRaw"` WMileageCostRaw int `json:"WMileageCostRaw"` JMileageCostRaw int `json:"JMileageCostRaw"` FMileageCostRaw int `json:"FMileageCostRaw"` TaxesCurrency string `json:"TaxesCurrency"` YTotalTaxes int `json:"YTotalTaxes"` WTotalTaxes int `json:"WTotalTaxes"` JTotalTaxes int `json:"JTotalTaxes"` FTotalTaxes int `json:"FTotalTaxes"` YRemainingSeats int `json:"YRemainingSeats"` WRemainingSeats int `json:"WRemainingSeats"` JRemainingSeats int `json:"JRemainingSeats"` FRemainingSeats int `json:"FRemainingSeats"` YAirlines string `json:"YAirlines"` WAirlines string `json:"WAirlines"` JAirlines string `json:"JAirlines"` FAirlines string `json:"FAirlines"` Source string `json:"Source"` CreatedAt time.Time `json:"CreatedAt"` UpdatedAt time.Time `json:"UpdatedAt"` AvailabilityTrips string `json:"AvailabilityTrips"` }
type CachedSearchResponse ¶
type CachedSearchResponse struct { Data []CachedSearchData `json:"data"` Count int `json:"count"` HasMore bool `json:"hasMore"` Cursor int64 `json:"cursor"` }
type Coordinates ¶
type Route ¶
type Route struct { ID string `json:"ID"` OriginAirport string `json:"OriginAirport"` OriginRegion string `json:"OriginRegion"` DestinationAirport string `json:"DestinationAirport"` DestinationRegion string `json:"DestinationRegion"` NumDaysOut int `json:"NumDaysOut"` Distance int `json:"Distance"` Source string `json:"Source"` }
type SeatsAeroClient ¶
type SeatsAeroClient struct {
// contains filtered or unexported fields
}
func New ¶
func New(apiKey string) *SeatsAeroClient
func (*SeatsAeroClient) CachedSearch ¶
func (c *SeatsAeroClient) CachedSearch(origin, dest string, cabin Cabin, startDate, endDate string) (CachedSearchResponse, error)
func (*SeatsAeroClient) TripSearch ¶
func (c *SeatsAeroClient) TripSearch(id string) (Trip, error)
type Trip ¶
type Trip struct { Data []AvailabilityData `json:"data"` OriginCoordinates Coordinates `json:"origin_coordinates"` DestinationCoordinates Coordinates `json:"destination_coordinates"` BookingLinks []BookingLink `json:"booking_links"` RevalidationID string `json:"revalidation_id"` }
Click to show internal directories.
Click to hide internal directories.