Documentation
¶
Overview ¶
Package tripit is a Go API library for accessing the TripIt service. The API supports two forms of authorization - simple web authorization and OAuth. The library uses TripIt's JSON interface, and has structs representing all of the TripIt types. Within these structs, elements ending in an underscore have access functions that set or get the value in a more pleasant form for use in Go programs.
Index ¶
- Constants
- type ActivityObject
- type ActivityObjectPtrVector
- type Address
- type AirObject
- type AirObjectPtrVector
- type AirSegment
- type AirSegmentPtrVector
- type Authorizable
- type CarObject
- type CarObjectPtrVector
- type ClosenessMatch
- type ClosenessMatchAttributes
- type ClosenessMatchVector
- type ClosenessMatches
- type ConnectionRequest
- type CruiseObject
- type CruiseObjectPtrVector
- type CruiseSegment
- type CruiseSegmentPtrVector
- type DateTime
- type DirectionsObject
- type DirectionsObjectPtrVector
- type Error
- type ErrorVector
- type FlightStatus
- type Group
- type GroupMemberships
- type GroupVector
- type Image
- type ImagePtrVector
- type Invitation
- type Invitee
- type InviteeAttributes
- type InviteeVector
- type LodgingObject
- type LodgingObjectPtrVector
- type MapObject
- type MapObjectPtrVector
- type NoteObject
- type NoteObjectPtrVector
- type OAuthConsumerCredential
- func NewOAuth2LeggedCredential(consumerKey string, consumerSecret string, requestorId string) *OAuthConsumerCredential
- func NewOAuth3LeggedCredential(consumerKey string, consumerSecret string, token string, tokenSecret string) *OAuthConsumerCredential
- func NewOAuthRequestCredential(consumerKey string, consumerSecret string) *OAuthConsumerCredential
- func (a *OAuthConsumerCredential) Authorize(request *http.Request, args map[string]string)
- func (a *OAuthConsumerCredential) GetSessionParameters(redirectUrl string, action string) string
- func (a *OAuthConsumerCredential) OAuthConsumerKey() string
- func (a *OAuthConsumerCredential) OAuthConsumerSecret() string
- func (a *OAuthConsumerCredential) OAuthOAuthToken() string
- func (a *OAuthConsumerCredential) OAuthRequestorId() string
- func (a *OAuthConsumerCredential) OAuthTokenSecret() string
- func (a *OAuthConsumerCredential) ValidateSignature(url_ string) bool
- type PointsProgram
- type PointsProgramActivity
- type PointsProgramActivityVector
- type PointsProgramExpiration
- type PointsProgramExpirationVector
- type PointsProgramVector
- type Profile
- type ProfileAttributes
- type ProfileEmailAddress
- type ProfileEmailAddressVector
- type ProfileEmailAddresses
- type ProfileVector
- type RailObject
- type RailObjectPtrVector
- type RailSegment
- type RailSegmentPtrVector
- type Request
- type Response
- type RestaurantObject
- type RestaurantObjectPtrVector
- type TransportObject
- type TransportObjectPtrVector
- type TransportSegment
- type TransportSegmentPtrVector
- type Traveler
- type TravelerPtrVector
- type Trip
- type TripCrsRemark
- type TripCrsRemarkVector
- type TripCrsRemarks
- type TripInvitees
- type TripIt
- func (t *TripIt) Create(r *Request) (*Response, error)
- func (t *TripIt) Delete(objectType string, objectId uint) (*Response, error)
- func (t *TripIt) Get(objectType string, objectId uint) (*Response, error)
- func (t *TripIt) GetAccessToken() (map[string]string, error)
- func (t *TripIt) GetRequestToken() (map[string]string, error)
- func (t *TripIt) List(objectType string, filterParms map[string]string) (*Response, error)
- func (t *TripIt) Replace(objectType string, objectId uint, r *Request) (*Response, error)
- type TripPtrVector
- type TripShare
- type Warning
- type WarningVector
- type WeatherObject
- type WeatherObjectVector
- type WebAuthCredential
Constants ¶
const ( ApiUrl = "https://api.tripit.com" ApiVersion = "v1" )
TripIt API information
const ( ListTrip = "trip" ListObject = "object" ListPointsProgram = "points_program" )
List objects
const ( FilterNone = "" // valid on trip, object, points_program FilterTraveler = "traveler" // valid on trip, object. Values: true, false, all FilterPast = "past" // valid on trip, object. Values: true, false FilterModifiedSince = "modified_since" // valid on trip, object. Values: integer FilterIncludeObjects = "include_objects" // valid on trip. Values: true, false FilterTripId = "trip_id" // valid on object. Values: integer trip id FilterType = "type" // valid on object. Values: all object types )
Filter Parameters
const ( UrlObtainRequestToken = "/oauth/request_token" // POST UrlObtainUserAuthorization = "https://www.tripit.com/oauth/authorize?oauth_token=%s&oauth_callback=%s" // Redirect UrlObtainUserAuthorizationMobile = "https://m.tripit.com/oauth/authorize?oauth_token=%s&oauth_callback=%s" // Redirect UrlObtainAccessToken = "/oauth/access_token" // POST )
TripIt API URLs for OAuth
const ( OAUTH_SIGNATURE_METHOD = "HMAC-SHA1" OAUTH_VERSION = "1.0" )
Signature method and version
const ( ObjectTypeAir = "air" ObjectTypeActivity = "activity" ObjectTypeCar = "car" ObjectTypeCruise = "cruise" ObjectTypeDirections = "directions" ObjectTypeLodging = "lodging" ObjectTypeMap = "map" ObjectTypeNote = "note" ObjectTypeRail = "rail" ObjectTypeRestaurant = "restaurant" ObjectTypeTransport = "transport" ObjectTypeTrip = "trip" )
TripIt Object Types
const ( FlightStatusNotMonitorable = 100 FlightStatusNotMonitored = 200 FlightStatusScheduled = 300 FlightStatusOnTime = 301 FlightStatusInFlightOnTime = 302 FlightStatusArrivedOnTime = 303 FlightStatusCancelled = 400 FlightStatusDelayed = 401 FlightStatusInFlightLate = 402 FlightStatusArrivedLate = 403 FlightStatusDiverted = 404 )
Flight status values
const ( TransportDetailTypeFerry = "F" TransportDetailTypeGroundTransportation = "G" )
Transport Detail Types
const ( ActivityDetailTypeConcert = "C" ActivityDetailTypeTheatre = "H" ActivityDetailTypeMeeting = "M" ActivityDetailTypeTour = "T" )
Activity Detail Types
const (
CruiseDetailTypePortOfCall = "P"
)
Cruise Detail Types
const (
NoteDetailTypeArticle = "A"
)
Note Detail Types
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ActivityObject ¶
type ActivityObject struct {
Id string `json:"id,omitempty"` // optional, read-only
TripId string `json:"trip_id,omitempty"` // optional
IsClientTraveler bool `json:"is_client_traveler,string,omitempty"` // optional, read-only
RelativeUrl string `json:"relative_url,omitempty"` // optional, read-only
DisplayName string `json:"display_name,omitempty"` // optional
Image ImagePtrVector `json:"Image,omitempty"` // optional
CancellationDateTime *DateTime `json:"CancellationDateTime,omitempty"` // optional
BookingDate string `json:"booking_date,omitempty"` // optional, xs:date
BookingRate string `json:"booking_rate,omitempty"` // optional
BookingSiteConfNum string `json:"booking_site_conf_num,omitempty"` // optional
BookingSiteName string `json:"booking_site_name,omitempty"` // optional
BookingSitePhone string `json:"booking_site_phone,omitempty"` // optional
BookingSiteUrl string `json:"booking_site_url,omitempty"` // optional
RecordLocator string `json:"record_locator,omitempty"` // optional
SupplierConfNum string `json:"supplier_conf_num,omitempty"` // optional
SupplierContact string `json:"supplier_contact,omitempty"` // optional
SupplierEmailAddress string `json:"supplier_email_address,omitempty"` // optional
SupplierName string `json:"supplier_name,omitempty"` // optional
SupplierPhone string `json:"supplier_phone,omitempty"` // optional
SupplierUrl string `json:"supplier_url,omitempty"` // optional
IsPurchased bool `json:"is_purchased,string,omitempty"` // optional
Notes string `json:"notes,omitempty"` // optional
Restrictions string `json:"restrictions,omitempty"` // optional
TotalCost string `json:"total_cost,omitempty"` // optional
StartDateTime *DateTime `json:"StartDateTime,omitempty"` // optional
EndTime string `json:"end_time,omitempty"` // optional, xs:time
Address *Address `json:"Address,omitempty"` // optional
Participant TravelerPtrVector `json:"Participant,omitempty"` // optional
DetailTypeCode string `json:"detail_type_code,omitempty"` // optional
LocationName string `json:"location_name,omitempty"` // optional
}
ActivityObject contains details about activities like museum, theatre, and other events.
func (*ActivityObject) BookingTime ¶
func (r *ActivityObject) BookingTime() (time.Time, error)
BookingTime returns a time.Time object for BookingDate. Note: This won't have proper time zone information.
type ActivityObjectPtrVector ¶
type ActivityObjectPtrVector []*ActivityObject
ActivityObjectPtrVector is a specialization of Vector for *ActivityObject objects.
func (*ActivityObjectPtrVector) UnmarshalJSON ¶
func (p *ActivityObjectPtrVector) UnmarshalJSON(b []byte) error
UnmarshalJSON builds the vector from the JSON in b.
type Address ¶
type Address struct {
Address string `json:"address,omitempty" xml:"address"` // optional
Addr1 string `json:"addr1,omitempty" xml:"addr1"` // optional
Addr2 string `json:"addr2,omitempty" xml:"addr2"` // optional
City string `json:"city,omitempty" xml:"city"` // optional
State string `json:"state,omitempty" xml:"state"` // optional
Zip string `json:"zip,omitempty" xml:"zip"` // optional
Country string `json:"country,omitempty" xml:"country"` // optional
Latitude float64 `json:"latitude,string,omitempty" xml:"latitude"` // optional, read-only
Longitude float64 `json:"longitude,string,omitempty" xml:"longitude"` // optional, read-only
}
Address represents the address of a location. For create, use either: - address for single-line addresses. - addr1, addr2, city, state, zip, and country for multi-line addresses. Multi-line address will be ignored if single-line address is present. See documentation for more information.
type AirObject ¶
type AirObject struct {
Id string `json:"id,omitempty" xml:"id"` // optional, read-only
TripId string `json:"trip_id,omitempty" xml:"trip_id"` // optional
IsClientTraveler bool `json:"is_client_traveler,string,omitempty" xml:"is_client_traveler"` // optional, read-only
RelativeUrl string `json:"relative_url,omitempty" xml:"relative_url"` // optional, read-only
DisplayName string `json:"display_name,omitempty" xml:"display_name"` // optional
Image ImagePtrVector `json:"Image,omitempty" xml:"Image"` // optional
CancellationDateTime *DateTime `json:"CancellationDateTime,omitempty" xml:"CancellationDateTime"` // optional
BookingDate string `json:"booking_date,omitempty" xml:"booking_date"` // optional, xs:date
BookingRate string `json:"booking_rate,omitempty" xml:"booking_rate"` // optional
BookingSiteConfNum string `json:"booking_site_conf_num,omitempty" xml:"booking_site_conf_num"` // optional
BookingSiteName string `json:"booking_site_name,omitempty" xml:"booking_site_name"` // optional
BookingSitePhone string `json:"booking_site_phone,omitempty" xml:"booking_site_phone"` // optional
BookingSiteUrl string `json:"booking_site_url,omitempty" xml:"booking_site_url"` // optional
RecordLocator string `json:"record_locator,omitempty" xml:"record_locator"` // optional
SupplierConfNum string `json:"supplier_conf_num,omitempty" xml:"supplier_conf_num"` // optional
SupplierContact string `json:"supplier_contact,omitempty" xml:"supplier_contact"` // optional
SupplierEmailAddress string `json:"supplier_email_address,omitempty" xml:"supplier_email_address"` // optional
SupplierName string `json:"supplier_name,omitempty" xml:"supplier_name"` // optional
SupplierPhone string `json:"supplier_phone,omitempty" xml:"supplier_phone"` // optional
SupplierUrl string `json:"supplier_url,omitempty" xml:"supplier_url"` // optional
IsPurchased bool `json:"is_purchased,string,omitempty" xml:"is_purchased"` // optional
Notes string `json:"notes,omitempty" xml:"notes"` // optional
Restrictions string `json:"restrictions,omitempty" xml:"restrictions"` // optional
TotalCost string `json:"total_cost,omitempty" xml:"total_cost"` // optional
Segment AirSegmentPtrVector `json:"Segment,omitempty" xml:"Segment"`
Traveler TravelerPtrVector `json:"Traveler,omitempty" xml:"Traveler"` // optional
}
AirObject contains data about a flight.
type AirObjectPtrVector ¶
type AirObjectPtrVector []*AirObject
AirObjectPtrVector is a specialization of Vector for *AirObject objects.
func (*AirObjectPtrVector) UnmarshalJSON ¶
func (p *AirObjectPtrVector) UnmarshalJSON(b []byte) error
UnmarshalJSON builds the vector from the JSON in b.
type AirSegment ¶
type AirSegment struct {
Status *FlightStatus `json:"Status,omitempty" xml:"Status"` // optional
StartDateTime *DateTime `json:"StartDateTime,omitempty" xml:"StartDateTime"` // optional
EndDateTime *DateTime `json:"EndDateTime,omitempty" xml:"EndDateTime"` // optional
StartAirportCode string `json:"start_airport_code,omitempty" xml:"start_airport_code"` // optional
StartAirportLatitude float64 `json:"start_airport_latitude,string,omitempty" xml:"start_airport_latitude"` // optional, read-only
StartAirportLongitude float64 `json:"start_airport_longitude,string,omitempty" xml:"start_airport_longitude"` // optional, read-only
StartCityName string `json:"start_city_name,omitempty" xml:"start_city_name"` // optional
StartGate string `json:"start_gate,omitempty" xml:"start_gate"` // optional
StartTerminal string `json:"start_terminal,omitempty" xml:"start_terminal"` // optional
EndAirportCode string `json:"end_airport_code,omitempty" xml:"end_airport_code"` // optional
EndAirportLatitude float64 `json:"end_airport_latitude,string,omitempty" xml:"end_airport_latitude"` // optional, read-only
EndAirportLongitude float64 `json:"end_airport_longitude,string,omitempty" xml:"end_airport_longitude"` // optional, read-only
EndCityName string `json:"end_city_name,omitempty" xml:"end_city_name"` // optional
EndGate string `json:"end_gate,omitempty" xml:"end_gate"` // optional
EndTerminal string `json:"end_terminal,omitempty" xml:"end_terminal"` // optional
MarketingAirline string `json:"marketing_airline,omitempty" xml:"marketing_airline"` // optional
MarketingAirlineCode string `json:"marketing_airline_code,omitempty" xml:"marketing_airline_code"` // optional, read-only
MarketingFlightNumber string `json:"marketing_flight_number,omitempty" xml:"marketing_flight_number"` // optional
OperatingAirline string `json:"operating_airline,omitempty" xml:"operating_airline"` // optional
OperatingAirlineCode string `json:"operating_airline_code,omitempty" xml:"operating_airline_code"` // optional, read-only
OperatingFlightNumber string `json:"operating_flight_number,omitempty" xml:"operating_flight_number"` // optional
AlternativeFlightsUrl string `json:"alternate_flights_url,omitempty" xml:"alternate_flights_url"` // optional, read-only
Aircraft string `json:"aircraft,omitempty" xml:"aircraft"` // optional
AircraftDisplayName string `json:"aircraft_display_name,omitempty" xml:"aircraft_display_name"` // optional, read-only
Distance string `json:"distance,omitempty" xml:"distance"` // optional
Duration string `json:"duration,omitempty" xml:"duration"` // optional
Entertainment string `json:"entertainment,omitempty" xml:"entertainment"` // optional
Meal string `json:"meal,omitempty" xml:"meal"` // optional
Notes string `json:"notes,omitempty" xml:"notes"` // optional
OntimePerc string `json:"ontime_perc,omitempty" xml:"ontime_perc"` // optional
Seats string `json:"seats,omitempty" xml:"seats"` // optional
ServiceClass string `json:"service_class,omitempty" xml:"service_class"` // optional
Stops string `json:"stops,omitempty" xml:"stops"` // optional
BaggageClaim string `json:"baggage_claim,omitempty" xml:"baggage_claim"` // optional
CheckInUrl string `json:"check_in_url,omitempty" xml:"check_in_url"` // optional
ConflictResolutionUrl string `json:"conflict_resolution_url,omitempty" xml:"conflict_resolution_url"` // optional, read-only
IsHidden bool `json:"is_hidden,string,omitempty" xml:"is_hidden"` // optional, read-only
Id string `json:"id,omitempty" xml:"id"` // optional, read-only
}
AirSegment contains details about individual flights.
type AirSegmentPtrVector ¶
type AirSegmentPtrVector []*AirSegment
AirSegmentPtrVector is a specialization of Vector for *AirSegment objects.
func (*AirSegmentPtrVector) UnmarshalJSON ¶
func (p *AirSegmentPtrVector) UnmarshalJSON(b []byte) error
UnmarshalJSON builds the vector from the JSON in b.
type Authorizable ¶
Authorizable is the interface for authorization objects.
type CarObject ¶
type CarObject struct {
Id string `json:"id,omitempty" xml:"id"` // optional, read-only
TripId string `json:"trip_id,omitempty" xml:"trip_id"` // optional
IsClientTraveler bool `json:"is_client_traveler,string,omitempty" xml:"is_client_traveler"` // optional, read-only
RelativeUrl string `json:"relative_url,omitempty" xml:"relative_url"` // optional, read-only
DisplayName string `json:"display_name,omitempty" xml:"display_name"` // optional
Image ImagePtrVector `json:"Image,omitempty" xml:"Image"` // optional
CancellationDateTime *DateTime `json:"CancellationDateTime,omitempty" xml:"CancellationDateTime"` // optional
BookingDate string `json:"booking_date,omitempty" xml:"booking_date"` // optional, xs:date
BookingRate string `json:"booking_rate,omitempty" xml:"booking_rate"` // optional
BookingSiteConfNum string `json:"booking_site_conf_num,omitempty" xml:"booking_site_conf_num"` // optional
BookingSiteName string `json:"booking_site_name,omitempty" xml:"booking_site_name"` // optional
BookingSitePhone string `json:"booking_site_phone,omitempty" xml:"booking_site_phone"` // optional
BookingSiteUrl string `json:"booking_site_url,omitempty" xml:"booking_site_url"` // optional
RecordLocator string `json:"record_locator,omitempty" xml:"record_locator"` // optional
SupplierConfNum string `json:"supplier_conf_num,omitempty" xml:"supplier_conf_num"` // optional
SupplierContact string `json:"supplier_contact,omitempty" xml:"supplier_contact"` // optional
SupplierEmailAddress string `json:"supplier_email_address,omitempty" xml:"supplier_email_address"` // optional
SupplierName string `json:"supplier_name,omitempty" xml:"supplier_name"` // optional
SupplierPhone string `json:"supplier_phone,omitempty" xml:"supplier_phone"` // optional
SupplierUrl string `json:"supplier_url,omitempty" xml:"supplier_url"` // optional
IsPurchased bool `json:"is_purchased,string,omitempty" xml:"is_purchased"` // optional
Notes string `json:"notes,omitempty" xml:"notes"` // optional
Restrictions string `json:"restrictions,omitempty" xml:"restrictions"` // optional
TotalCost string `json:"total_cost,omitempty" xml:"total_cost"` // optional
StartDateTime *DateTime `json:"StartDateTime,omitempty" xml:"StartDateTime"` // optional
EndDateTime *DateTime `json:"EndDateTime,omitempty" xml:"EndDateTime"` // optional
StartLocationAddress *Address `json:"StartLocationAddress,omitempty" xml:"StartLocationAddress"` // optional
EndLocationAddress *Address `json:"EndLocationAddress,omitempty" xml:"EndLocationAddress"` // optional
Driver TravelerPtrVector `json:"Driver,omitempty" xml:"Driver"` // optional
StartLocationHours string `json:"start_location_hours,omitempty" xml:"start_location_hours"` // optional
StartLocationName string `json:"start_location_name,omitempty" xml:"start_location_name"` // optional
StartLocationPhone string `json:"start_location_phone,omitempty" xml:"start_location_phone"` // optional
EndLocationHours string `json:"end_location_hours,omitempty" xml:"end_location_hours"` // optional
EndLocationName string `json:"end_location_name,omitempty" xml:"end_location_name"` // optional
EndLocationPhone string `json:"end_location_phone,omitempty" xml:"end_location_phone"` // optional
CarDescription string `json:"car_description,omitempty" xml:"car_description"` // optional
CarType string `json:"car_type,omitempty" xml:"car_type"` // optional
MileageCharges string `json:"mileage_charges,omitempty" xml:"mileage_charges"` // optional
}
CarObject contains information about rental cars. car cancellation remarks should be in restrictions. car pickup instructions should be in notes. car daily rate should be in booking_rate.
type CarObjectPtrVector ¶
type CarObjectPtrVector []*CarObject
CarObjectPtrVector is a specialization of Vector for *CarObject objects.
func (*CarObjectPtrVector) UnmarshalJSON ¶
func (p *CarObjectPtrVector) UnmarshalJSON(b []byte) error
UnmarshalJSON builds the vector from the JSON in b.
type ClosenessMatch ¶
type ClosenessMatch struct {
Attributes ClosenessMatchAttributes `json:"_attributes" xml:"attributes"` // read-only, Use the profile_ref attribute to reference a Profile
}
ClosenessMatch refers to nearby users. All ClosenessMatch elements are read-only.
type ClosenessMatchAttributes ¶
type ClosenessMatchAttributes struct {
ProfileRef string `json:"profile_ref" xml:"profile_ref"` // read-only, Use the profile_ref attribute to reference a Profile
}
ClosenessMatchAttributes links to profiles of nearby users.
type ClosenessMatchVector ¶
type ClosenessMatchVector []ClosenessMatch
ClosenessMatchVector is a specialization of Vector for ClosenessMatch objects.
func (*ClosenessMatchVector) UnmarshalJSON ¶
func (p *ClosenessMatchVector) UnmarshalJSON(b []byte) error
UnmarshalJSON builds the vector from the JSON in b.
type ClosenessMatches ¶
type ClosenessMatches struct {
ClosenessMatch ClosenessMatchVector `json:"Match,omitempty" xml:"Match"` // optional, ClosenessMatches are read-only
}
ClosenessMatches are TripIt users who are near this trip.
type ConnectionRequest ¶
type ConnectionRequest struct {
}
ConnectionRequest stores connection request data.
type CruiseObject ¶
type CruiseObject struct {
Id string `json:"id,omitempty"` // optional, read-only
TripId string `json:"trip_id,omitempty"` // optional
IsClientTraveler bool `json:"is_client_traveler,string,omitempty"` // optional, read-only
RelativeUrl string `json:"relative_url,omitempty"` // optional, read-only
DisplayName string `json:"display_name,omitempty"` // optional
Image ImagePtrVector `json:"Image,omitempty"` // optional
CancellationDateTime *DateTime `json:"CancellationDateTime,omitempty"` // optional
BookingDate string `json:"booking_date,omitempty"` // optional, xs:date
BookingRate string `json:"booking_rate,omitempty"` // optional
BookingSiteConfNum string `json:"booking_site_conf_num,omitempty"` // optional
BookingSiteName string `json:"booking_site_name,omitempty"` // optional
BookingSitePhone string `json:"booking_site_phone,omitempty"` // optional
BookingSiteUrl string `json:"booking_site_url,omitempty"` // optional
RecordLocator string `json:"record_locator,omitempty"` // optional
SupplierConfNum string `json:"supplier_conf_num,omitempty"` // optional
SupplierContact string `json:"supplier_contact,omitempty"` // optional
SupplierEmailAddress string `json:"supplier_email_address,omitempty"` // optional
SupplierName string `json:"supplier_name,omitempty"` // optional
SupplierPhone string `json:"supplier_phone,omitempty"` // optional
SupplierUrl string `json:"supplier_url,omitempty"` // optional
IsPurchased bool `json:"is_purchased,string,omitempty"` // optional
Notes string `json:"notes,omitempty"` // optional
Restrictions string `json:"restrictions,omitempty"` // optional
TotalCost string `json:"total_cost,omitempty"` // optional
Segment CruiseSegmentPtrVector `json:"Segment,omitempty"`
Traveler TravelerPtrVector `json:"Traveler,omitempty"` // optional
CabinNumber string `json:"cabin_number,omitempty"` // optional
CabinType string `json:"cabin_type,omitempty"` // optional
Dining string `json:"dining,omitempty"` // optional
ShipName string `json:"ship_name,omitempty"` // optional
}
CruiseObject contains information about cruises.
func (*CruiseObject) BookingTime ¶
func (r *CruiseObject) BookingTime() (time.Time, error)
BookingTime returns a time.Time object for BookingDate. Note: This won't have proper time zone information.
type CruiseObjectPtrVector ¶
type CruiseObjectPtrVector []*CruiseObject
CruiseObjectPtrVector is a specialization of Vector for *CruiseObject objects.
func (*CruiseObjectPtrVector) UnmarshalJSON ¶
func (p *CruiseObjectPtrVector) UnmarshalJSON(b []byte) error
UnmarshalJSON builds the vector from the JSON in b.
type CruiseSegment ¶
type CruiseSegment struct {
StartDateTime *DateTime `json:"StartDateTime,omitempty"` // optional
EndDateTime *DateTime `json:"EndDateTime,omitempty"` // optional
LocationAddress *Address `json:"LocationAddress,omitempty"` // optional
LocationName string `json:"location_name,omitempty"` // optional
DetailTypeCode string `json:"detail_type_code,omitempty"` // optional
Id string `json:"id,omitempty"` // optional, read-only
}
CruiseSegment contains details about indivual cruise segments.
type CruiseSegmentPtrVector ¶
type CruiseSegmentPtrVector []*CruiseSegment
CruiseSegmentPtrVector is a specialization of Vector for *CruiseSegment objects.
func (*CruiseSegmentPtrVector) UnmarshalJSON ¶
func (p *CruiseSegmentPtrVector) UnmarshalJSON(b []byte) error
UnmarshalJSON builds the vector from the JSON in b.
type DateTime ¶
type DateTime struct {
Date string `json:"date,omitempty" xml:"date"` // optional, xs:date
Time string `json:"time,omitempty" xml:"time"` // optional, xs:time
Timezone string `json:"timezone,omitempty" xml:"timezone"` // optional, read-only
UtcOffset string `json:"utc_offset,omitempty" xml:"utc_offset"` // optional, read-only
}
DateTime Stores date and time zone information, for example:
{
"date":"2009-11-10",
"time":"14:00:00",
"timezone":"America\/Los_Angeles",
"utc_offset":"-08:00"
}
type DirectionsObject ¶
type DirectionsObject struct {
Id string `json:"id,omitempty"` // optional, read-only
TripId string `json:"trip_id,omitempty"` // optional
IsClientTraveler bool `json:"is_client_traveler,string,omitempty"` // optional, read-only
RelativeUrl string `json:"relative_url,omitempty"` // optional, read-only
DisplayName string `json:"display_name,omitempty"` // optional
Image ImagePtrVector `json:"Image,omitempty"` // optional
DateTime *DateTime `json:"DateTime,omitempty"` // optional
StartAddress *Address `json:"StartAddress,omitempty"` // optional
EndAddress *Address `json:"EndAddress,omitempty"` // optional
}
DirectionsObject contains addresses to show directions for on the trip.
type DirectionsObjectPtrVector ¶
type DirectionsObjectPtrVector []*DirectionsObject
DirectionsObjectPtrVector is a specialization of Vector for *DirectionsObject objects.
func (*DirectionsObjectPtrVector) UnmarshalJSON ¶
func (p *DirectionsObjectPtrVector) UnmarshalJSON(b []byte) error
UnmarshalJSON builds the vector from the JSON in b.
type Error ¶
type Error struct {
Code int `json:"code,string,omitempty" xml:"code"` // read-only
DetailedErrorCode float64 `json:"detailed_error_code,string,omitempty" xml:"detailed_error_code"` // optional, read-only
Description string `json:"description,omitempty" xml:"description"` // read-only
EntityType string `json:"entity_type,omitempty" xml:"entity_type"` // read-only
Timestamp string `json:"timestamp,omitempty" xml:"timestamp"` // read-only, xs:datetime
}
Error is returned from TripIt on error conditions.
type ErrorVector ¶
type ErrorVector []Error
ErrorVector is a specialization of Vector for Error objects.
func (*ErrorVector) UnmarshalJSON ¶
func (p *ErrorVector) UnmarshalJSON(b []byte) error
UnmarshalJSON builds the vector from the JSON in b.
type FlightStatus ¶
type FlightStatus struct {
ScheduledDepartureDateTime *DateTime `json:"ScheduledDepartureDateTime,omitempty" xml:"ScheduledDepartureDateTime"` // optional, read-only
EstimatedDepartureDateTime *DateTime `json:"EstimatedDepartureDateTime,omitempty" xml:"EstimatedDepartureDateTime"` // optional, read-only
ScheduledArrivalDateTime *DateTime `json:"ScheduledArrivalDateTime,omitempty" xml:"ScheduledArrivalDateTime"` // optional, read-only
EstimatedArrivalDateTime *DateTime `json:"EstimatedArrivalDateTime,omitempty" xml:"EstimatedArrivalDateTime"` // optional, read-only
FlightStatus int `json:"flight_status,string,omitempty" xml:"flight_status"` // optional, read-only
IsConnectionAtRisk bool `json:"is_connection_at_risk,string,omitempty" xml:"is_connection_at_risk"` // optional, read-only
DepartureTerminal string `json:"departure_terminal,omitempty" xml:"departure_terminal"` // optional, read-only
DepartureGate string `json:"departure_gate,omitempty" xml:"departure_gate"` // optional, read-only
ArrivalTerminal string `json:"arrival_terminal,omitempty" xml:"arrival_terminal"` // optional, read-only
ArrivalGate string `json:"arrival_gate,omitempty" xml:"arrival_gate"` // optional, read-only
LayoverMinutes string `json:"layover_minutes,omitempty" xml:"layover_minutes"` // optional, read-only
BaggageClaim string `json:"baggage_claim,omitempty" xml:"baggage_claim"` // optional, read-only
DivertedAirportCode string `json:"diverted_airport_code,omitempty" xml:"diverted_airport_code"` // optional, read-only
LastModified string `json:"last_modified,omitempty" xml:"last_modified"` // read-only
}
FlightStatus fields are read-only and only available for monitored TripIt Pro AirSegments.
func (*FlightStatus) LastModifiedTime ¶
func (fs *FlightStatus) LastModifiedTime() (time.Time, error)
LastModifiedTime returns a time.Time object for LastModified.
type Group ¶
type Group struct {
DisplayName string `json:"display_name,omitempty" xml:"display_name"` // read-only
Url string `json:"url" xml:"url"` // read-only
}
Group contains data about a group in TripIt. All Group elements are read-only.
type GroupMemberships ¶
type GroupMemberships struct {
Group GroupVector `json:"Group,omitempty" xml:"Group"` // optional, read-only
}
GroupMemberships contains a list of groups that the user is a member of.
type GroupVector ¶
type GroupVector []Group
GroupVector is a specialization of Vector for Group objects.
func (*GroupVector) UnmarshalJSON ¶
func (p *GroupVector) UnmarshalJSON(b []byte) error
UnmarshalJSON builds the vector from the JSON in b.
type Image ¶
type Image struct {
Caption string `json:"caption,omitempty" xml:"caption"` // optional
Url string `json:"url" xml:"url"`
}
Image stores information about images.
type ImagePtrVector ¶
type ImagePtrVector []*Image
ImagePtrVector is a specialization of Vector for *Image objects.
func (*ImagePtrVector) UnmarshalJSON ¶
func (p *ImagePtrVector) UnmarshalJSON(b []byte) error
UnmarshalJSON builds the vector from the JSON in b.
type Invitation ¶
type Invitation struct {
EmailAddresses []string `json:"EmailAddresses,omitempty" xml:"EmailAddresses"`
ConnectionRequest *ConnectionRequest `json:"ConnectionRequest,omitempty" xml:"ConnectionRequest"` // optional
Message string `json:"message,omitempty" xml:"message"` // optional
}
Invitation contains a list of users invited to see the trip.
type Invitee ¶
type Invitee struct {
IsReadOnly bool `json:"is_read_only,string,omitempty" xml:"is_read_only"` // read-only
IsTraveler bool `json:"is_traveler,string,omitempty" xml:"is_traveler"` // read-only
Attributes InviteeAttributes `json:"_attributes" xml:"attributes"` // read-only, Use the profile_ref attribute to reference a Profile
}
Invitee stores attributes about invitees to a trip. All Invitee elements are read-only.
type InviteeAttributes ¶
type InviteeAttributes struct {
ProfileRef string `json:"profile_ref" xml:"profile_ref"` // read-only, used to reference a profile
}
InviteeAttributes are used to link to user profiles.
type InviteeVector ¶
type InviteeVector []Invitee
InviteeVector is a specialization of Vector for Invitee objects.
func (*InviteeVector) UnmarshalJSON ¶
func (p *InviteeVector) UnmarshalJSON(b []byte) error
UnmarshalJSON builds the vector from the JSON in b.
type LodgingObject ¶
type LodgingObject struct {
Id string `json:"id,omitempty" xml:"id"` // optional, read-only
TripId string `json:"trip_id,omitempty" xml:"trip_id"` // optional
IsClientTraveler bool `json:"is_client_traveler,string,omitempty" xml:"is_client_traveler"` // optional, read-only
RelativeUrl string `json:"relative_url,omitempty" xml:"relative_url"` // optional, read-only
DisplayName string `json:"display_name,omitempty" xml:"display_name"` // optional
Image ImagePtrVector `json:"Image,omitempty" xml:"Image"` // optional
CancellationDateTime *DateTime `json:"CancellationDateTime,omitempty" xml:"CancellationDateTime"` // optional
BookingDate string `json:"booking_date,omitempty" xml:"booking_date"` // optional, xs:date
BookingRate string `json:"booking_rate,omitempty" xml:"booking_rate"` // optional
BookingSiteConfNum string `json:"booking_site_conf_num,omitempty" xml:"booking_site_conf_num"` // optional
BookingSiteName string `json:"booking_site_name,omitempty" xml:"booking_site_name"` // optional
BookingSitePhone string `json:"booking_site_phone,omitempty" xml:"booking_site_phone"` // optional
BookingSiteUrl string `json:"booking_site_url,omitempty" xml:"booking_site_url"` // optional
RecordLocator string `json:"record_locator,omitempty" xml:"record_locator"` // optional
SupplierConfNum string `json:"supplier_conf_num,omitempty" xml:"supplier_conf_num"` // optional
SupplierContact string `json:"supplier_contact,omitempty" xml:"supplier_contact"` // optional
SupplierEmailAddress string `json:"supplier_email_address,omitempty" xml:"supplier_email_address"` // optional
SupplierName string `json:"supplier_name,omitempty" xml:"supplier_name"` // optional
SupplierPhone string `json:"supplier_phone,omitempty" xml:"supplier_phone"` // optional
SupplierUrl string `json:"supplier_url,omitempty" xml:"supplier_url"` // optional
IsPurchased bool `json:"is_purchased,string,omitempty" xml:"is_purchased"` // optional
Notes string `json:"notes,omitempty" xml:"notes"` // optional
Restrictions string `json:"restrictions,omitempty" xml:"restrictions"` // optional
TotalCost string `json:"total_cost,omitempty" xml:"total_cost"` // optional
StartDateTime *DateTime `json:"StartDateTime,omitempty" xml:"StartDateTime"` // optional
EndDateTime *DateTime `json:"EndDateTime,omitempty" xml:"EndDateTime"` // optional
Address *Address `json:"Address,omitempty" xml:"Address"` // optional
Guest TravelerPtrVector `json:"Guest,omitempty" xml:"Guest"` // optional
NumberGuests string `json:"number_guests,omitempty" xml:"number_guests"` // optional
NumberRooms string `json:"number_rooms,omitempty" xml:"number_rooms"` // optional
RoomType string `json:"room_type,omitempty" xml:"room_type"` // optional
}
LodgingObject contains information about hotels or other lodging. hotel cancellation remarks should be in restrictions. hotel room description should be in notes. hotel average daily rate should be in booking_rate.
func (*LodgingObject) BookingTime ¶
func (r *LodgingObject) BookingTime() (time.Time, error)
BookingTime returns a time.Time object for BookingDate. Note: This won't have proper time zone information.
type LodgingObjectPtrVector ¶
type LodgingObjectPtrVector []*LodgingObject
LodgingObjectPtrVector is a specialization of Vector for *LodgingObject objects.
func (*LodgingObjectPtrVector) UnmarshalJSON ¶
func (p *LodgingObjectPtrVector) UnmarshalJSON(b []byte) error
UnmarshalJSON builds the vector from the JSON in b.
type MapObject ¶
type MapObject struct {
Id string `json:"id,omitempty"` // optional, read-only
TripId string `json:"trip_id,omitempty"` // optional
IsClientTraveler bool `json:"is_client_traveler,string,omitempty"` // optional, read-only
RelativeUrl string `json:"relative_url,omitempty"` // optional, read-only
DisplayName string `json:"display_name,omitempty"` // optional
Image ImagePtrVector `json:"Image,omitempty"` // optional
DateTime *DateTime `json:"DateTime,omitempty"` // optional
Address *Address `json:"Address,omitempty"` // optional
}
MapObject contains addresses to show on a map.
type MapObjectPtrVector ¶
type MapObjectPtrVector []*MapObject
MapObjectPtrVector is a specialization of Vector for *MapObject objects.
func (*MapObjectPtrVector) UnmarshalJSON ¶
func (p *MapObjectPtrVector) UnmarshalJSON(b []byte) error
UnmarshalJSON builds the vector from the JSON in b.
type NoteObject ¶
type NoteObject struct {
Id string `json:"id,omitempty"` // optional, read-only
TripId string `json:"trip_id,omitempty"` // optional
IsClientTraveler bool `json:"is_client_traveler,string,omitempty"` // optional, read-only
RelativeUrl string `json:"relative_url,omitempty"` // optional, read-only
DisplayName string `json:"display_name,omitempty"` // optional
Image ImagePtrVector `json:"Image,omitempty"` // optional
DateTime *DateTime `json:"DateTime,omitempty"` // optional
Address *Address `json:"Address,omitempty"` // optional
DetailTypeCode string `json:"detail_type_code,omitempty"` // optional
Source string `json:"source,omitempty"` // optional
Text string `json:"text,omitempty"` // optional
Url string `json:"url,omitempty"` // optional
Notes string `json:"notes,omitempty"` // optional
}
NoteObject contains information about notes added by the traveler.
type NoteObjectPtrVector ¶
type NoteObjectPtrVector []*NoteObject
NoteObjectPtrVector is a specialization of Vector for *NoteObject objects.
func (*NoteObjectPtrVector) UnmarshalJSON ¶
func (p *NoteObjectPtrVector) UnmarshalJSON(b []byte) error
UnmarshalJSON builds the vector from the JSON in b.
type OAuthConsumerCredential ¶
type OAuthConsumerCredential struct {
// contains filtered or unexported fields
}
OAuthConsumerCredential is the OAuth consumer credential for use with TripIt API.
func NewOAuth2LeggedCredential ¶
func NewOAuth2LeggedCredential(consumerKey string, consumerSecret string, requestorId string) *OAuthConsumerCredential
NewOAuth2LeggedCredential gets a 2 legged OAuth credential.
func NewOAuth3LeggedCredential ¶
func NewOAuth3LeggedCredential(consumerKey string, consumerSecret string, token string, tokenSecret string) *OAuthConsumerCredential
NewOAuth3LeggedCredential gets a 3 legged OAuth credential (request or authorized token).
func NewOAuthRequestCredential ¶
func NewOAuthRequestCredential(consumerKey string, consumerSecret string) *OAuthConsumerCredential
NewOAuthRequestCredential gets a credential with no token (to get a request token).
func (*OAuthConsumerCredential) Authorize ¶
func (a *OAuthConsumerCredential) Authorize(request *http.Request, args map[string]string)
Authorize adds the authorization header for OAuth to the request, including any additional arguments. Additional arguments are used in signature generation.
func (*OAuthConsumerCredential) GetSessionParameters ¶
func (a *OAuthConsumerCredential) GetSessionParameters(redirectUrl string, action string) string
GetSessionParameters returns the OAuth parameters for a given session.
func (*OAuthConsumerCredential) OAuthConsumerKey ¶
func (a *OAuthConsumerCredential) OAuthConsumerKey() string
OAuthConsumerKey returns the consumer key.
func (*OAuthConsumerCredential) OAuthConsumerSecret ¶
func (a *OAuthConsumerCredential) OAuthConsumerSecret() string
OAuthConsumerSecret returnss the consumer secret.
func (*OAuthConsumerCredential) OAuthOAuthToken ¶
func (a *OAuthConsumerCredential) OAuthOAuthToken() string
OAuthOAuthToken returns the OAuth token.
func (*OAuthConsumerCredential) OAuthRequestorId ¶
func (a *OAuthConsumerCredential) OAuthRequestorId() string
OAuthRequestorId returns the requestor ID.
func (*OAuthConsumerCredential) OAuthTokenSecret ¶
func (a *OAuthConsumerCredential) OAuthTokenSecret() string
OAuthTokenSecret returns the OAuth token secret.
func (*OAuthConsumerCredential) ValidateSignature ¶
func (a *OAuthConsumerCredential) ValidateSignature(url_ string) bool
ValidateSignature validates the URL's OAuth signature in the given url.
type PointsProgram ¶
type PointsProgram struct {
Id uint `json:"id,string,omitempty" xml:"id"` // read-only
Name string `json:"name,omitempty" xml:"name"` // optional, read-only
AccountNumber string `json:"account_number,omitempty" xml:"account_number"` // optional, read-only
AccountLogin string `json:"account_login,omitempty" xml:"account_login"` // optional, read-only
Balance string `json:"balance,omitempty" xml:"balance"` // optional, read-only
EliteStatus string `json:"elite_status,omitempty" xml:"elite_status"` // optional, read-only
EliteNextStatus string `json:"elite_next_status,omitempty" xml:"elite_next_status"` // optional, read-only
EliteYtdQualify string `json:"elite_ytd_qualify,omitempty" xml:"elite_ytd_qualify"` // optional, read-only
EliteNeedToEarn string `json:"elite_need_to_earn,omitempty" xml:"elite_need_to_earn"` // optional, read-only
LastModified string `json:"last_modified,omitempty" xml:"last_modified"` // read-only
TotalNumActivities int `json:"total_num_activities,string,omitempty" xml:"total_num_activities"` // read-only
TotalNumExpirations int `json:"total_num_expirations,string,omitempty" xml:"total_num_expirations"` // read-only
ErrorMessage string `json:"error_message,omitempty" xml:"error_message"` // optional, read-only
Activity PointsProgramActivityVector `json:"Activity,omitempty" xml:"Activity"` // optional, read-only
Expiration PointsProgramExpirationVector `json:"Expiration,omitempty" xml:"Expiration"` // optional, read-only
}
PointsProgram contains information about tracked travel programs for TripIt Pro users. All PointsProgram elements are read-only.
func (*PointsProgram) LastModifiedTime ¶
func (pp *PointsProgram) LastModifiedTime() (time.Time, error)
LastModifiedTime returns a time.Time object for LastModified.
type PointsProgramActivity ¶
type PointsProgramActivity struct {
Date string `json:"date,omitempty" xml:"date"` // read-only, xs:date
Description string `json:"description,omitempty" xml:"description"` // optional, read-only
Base string `json:"base,omitempty" xml:"base"` // optional, read-only
Bonus string `json:"bonus,omitempty" xml:"bonus"` // optional, read-only
Total string `json:"total,omitempty" xml:"total"` // optional, read-only
}
PointsProgramActivity contains program transactions All PointsProgramActivity elements are read-only
type PointsProgramActivityVector ¶
type PointsProgramActivityVector []PointsProgramActivity
PointsProgramActivityVector is a specialization of Vector for PointsProgramActivity objects.
func (*PointsProgramActivityVector) UnmarshalJSON ¶
func (p *PointsProgramActivityVector) UnmarshalJSON(b []byte) error
UnmarshalJSON builds the vector from the JSON in b.
type PointsProgramExpiration ¶
type PointsProgramExpiration struct {
Date string `json:"date,omitempty" xml:"date"` // read-only, xs:date
Amount string `json:"amount,omitempty" xml:"amount"` // optional, read-only
}
PointsProgramExpiration elements are read-only.
type PointsProgramExpirationVector ¶
type PointsProgramExpirationVector []PointsProgramExpiration
PointsProgramExpirationVector is a specialization of Vector for PointsProgramExpiration objects.
func (*PointsProgramExpirationVector) UnmarshalJSON ¶
func (p *PointsProgramExpirationVector) UnmarshalJSON(b []byte) error
UnmarshalJSON builds the vector from the JSON in b.
type PointsProgramVector ¶
type PointsProgramVector []PointsProgram
PointsProgramVector is a specialization of Vector for PointsProgram objects.
func (*PointsProgramVector) UnmarshalJSON ¶
func (p *PointsProgramVector) UnmarshalJSON(b []byte) error
UnmarshalJSON builds the vector from the JSON in b.
type Profile ¶
type Profile struct {
Attributes ProfileAttributes `json:"_attributes" xml:"attributes"` // read-only
ProfileEmailAddresses *ProfileEmailAddresses `json:"ProfileEmailAddresses,omitempty" xml:"ProfileEmailAddresses"` // optional, read-only
GroupMemberships *GroupMemberships `json:"GroupMemberships,omitempty" xml:"GroupMemberships"` // optional, read-only
IsClient bool `json:"is_client,string,omitempty" xml:"is_client"` // read-only
IsPro bool `json:"is_pro,string,omitempty" xml:"is_pro"` // read-only
ScreenName string `json:"screen_name,omitempty" xml:"screen_name"` // read-only
PublicDisplayName string `json:"public_display_name,omitempty" xml:"public_display_name"` // read-only
ProfileUrl string `json:"profile_url,omitempty" xml:"profile_url"` // read-only
HomeCity string `json:"home_city,omitempty" xml:"home_city"` // optional, read-only
Company string `json:"company,omitempty" xml:"company"` // optional, read-only
AboutMeInfo string `json:"about_me_info,omitempty" xml:"about_me_info"` // optional, read-only
PhotoUrl string `json:"photo_url,omitempty" xml:"photo_url"` // optional, read-only
ActivityFeedUrl string `json:"activity_feed_url,omitempty" xml:"activity_feed_url"` // optional, read-only
AlertsFeedUrl string `json:"alerts_feed_url,omitempty" xml:"alerts_feed_url"` // optional, read-only
IcalUrl string `json:"ical_url,omitempty" xml:"ical_url"` // optional, read-only
}
Profile contains user information. All Profile elements are read-only.
type ProfileAttributes ¶
type ProfileAttributes struct {
Ref string `json:"ref,omitempty" xml:"ref"` // read-only
}
ProfileAttributes represent links to profiles.
type ProfileEmailAddress ¶
type ProfileEmailAddress struct {
Address string `json:"address" xml:"address"` // read-only
IsAutoImport bool `json:"is_auto_import,string,omitempty" xml:"is_auto_import"` // read-only
IsConfirmed bool `json:"is_confirmed,string,omitempty" xml:"is_confirmed"` // read-only
IsPrimary bool `json:"is_primary,string,omitempty" xml:"is_primary"` // read-only
}
ProfileEmailAddress contains an email address and its properties. All ProfileEmailAddress elements are read-only.
type ProfileEmailAddressVector ¶
type ProfileEmailAddressVector []ProfileEmailAddress
ProfileEmailAddressVector is a specialization of Vector for ProfileEmailAddress objects.
func (*ProfileEmailAddressVector) UnmarshalJSON ¶
func (p *ProfileEmailAddressVector) UnmarshalJSON(b []byte) error
UnmarshalJSON builds the vector from the JSON in b.
type ProfileEmailAddresses ¶
type ProfileEmailAddresses struct {
ProfileEmailAddress ProfileEmailAddressVector `json:"ProfileEmailAddress,omitempty" xml:"ProfileEmailAddress"`
}
ProfileEmailAddresses contains the list of email addresses for a user.
type ProfileVector ¶
type ProfileVector []Profile
ProfileVector is a specialization of Vector for Profile objects.
func (*ProfileVector) UnmarshalJSON ¶
func (p *ProfileVector) UnmarshalJSON(b []byte) error
UnmarshalJSON builds the vector from the JSON in b.
type RailObject ¶
type RailObject struct {
Id string `json:"id,omitempty"` // optional, read-only
TripId string `json:"trip_id,omitempty"` // optional
IsClientTraveler bool `json:"is_client_traveler,string,omitempty"` // optional, read-only
RelativeUrl string `json:"relative_url,omitempty"` // optional, read-only
DisplayName string `json:"display_name,omitempty"` // optional
Image ImagePtrVector `json:"Image,omitempty"` // optional
CancellationDateTime *DateTime `json:"CancellationDateTime,omitempty"` // optional
BookingDate string `json:"booking_date,omitempty"` // optional, xs:date
BookingRate string `json:"booking_rate,omitempty"` // optional
BookingSiteConfNum string `json:"booking_site_conf_num,omitempty"` // optional
BookingSiteName string `json:"booking_site_name,omitempty"` // optional
BookingSitePhone string `json:"booking_site_phone,omitempty"` // optional
BookingSiteUrl string `json:"booking_site_url,omitempty"` // optional
RecordLocator string `json:"record_locator,omitempty"` // optional
SupplierConfNum string `json:"supplier_conf_num,omitempty"` // optional
SupplierContact string `json:"supplier_contact,omitempty"` // optional
SupplierEmailAddress string `json:"supplier_email_address,omitempty"` // optional
SupplierName string `json:"supplier_name,omitempty"` // optional
SupplierPhone string `json:"supplier_phone,omitempty"` // optional
SupplierUrl string `json:"supplier_url,omitempty"` // optional
IsPurchased bool `json:"is_purchased,string,omitempty"` // optional
Notes string `json:"notes,omitempty"` // optional
Restrictions string `json:"restrictions,omitempty"` // optional
TotalCost string `json:"total_cost,omitempty"` // optional
Segment RailSegmentPtrVector `json:"Segment,omitempty"`
Traveler TravelerPtrVector `json:"Traveler,omitempty"` // optional
}
RailObject contains information about trains.
func (*RailObject) BookingTime ¶
func (r *RailObject) BookingTime() (time.Time, error)
BookingTime returns a time.Time object for BookingDate. Note: This won't have proper time zone information.
type RailObjectPtrVector ¶
type RailObjectPtrVector []*RailObject
RailObjectPtrVector is a specialization of Vector for *RailObject objects.
func (*RailObjectPtrVector) UnmarshalJSON ¶
func (p *RailObjectPtrVector) UnmarshalJSON(b []byte) error
UnmarshalJSON builds the vector from the JSON in b.
type RailSegment ¶
type RailSegment struct {
StartDateTime *DateTime `json:"StartDateTime,omitempty"` // optional
EndDateTime *DateTime `json:"EndDateTime,omitempty"` // optional
StartStationAddress *Address `json:"StartStationAddress,omitempty"` // optional
EndStationAddress *Address `json:"EndStationAddress,omitempty"` // optional
StartStationName string `json:"start_station_name,omitempty"` // optional
EndStationName string `json:"end_station_name,omitempty"` // optional
CarrierName string `json:"carrier_name,omitempty"` // optional
CoachNumber string `json:"coach_number,omitempty"` // optional
ConfirmationNum string `json:"confirmation_num,omitempty"` // optional
Seats string `json:"seats,omitempty"` // optional
ServiceClass string `json:"service_class,omitempty"` // optional
TrainNumber string `json:"train_number,omitempty"` // optional
TrainType string `json:"train_type,omitempty"` // optional
Id string `json:"id,omitempty"` // optional, read-only
}
RailSegment contains details about an indivual train ride.
type RailSegmentPtrVector ¶
type RailSegmentPtrVector []*RailSegment
RailSegmentPtrVector is a specialization of Vector for *RailSegment objects.
func (*RailSegmentPtrVector) UnmarshalJSON ¶
func (p *RailSegmentPtrVector) UnmarshalJSON(b []byte) error
UnmarshalJSON builds the vector from the JSON in b.
type Request ¶
type Request struct {
Invitation []Invitation `json:"Invitation,omitempty"` // optional
Trip *Trip `json:"Trip,omitempty"` // optional
ActivityObject *ActivityObject `json:"ActivityObject,omitempty"` // optional
AirObject *AirObject `json:"AirObject,omitempty"` // optional
CarObject *CarObject `json:"CarObject,omitempty"` // optional
CruiseObject *CruiseObject `json:"CruiseObject,omitempty"` // optional
DirectionsObject *DirectionsObject `json:"DirectionsObject,omitempty"` // optional
LodgingObject *LodgingObject `json:"LodgingObject,omitempty"` // optional
MapObject *MapObject `json:"MapObject,omitempty"` // optional
NoteObject *NoteObject `json:"NoteObject,omitempty"` // optional
RailObject *RailObject `json:"RailObject,omitempty"` // optional
RestaurantObject *RestaurantObject `json:"RestaurantObject,omitempty"` // optional
TransportObject *TransportObject `json:"TransportObject,omitempty"` // optional
}
Request contains the objects that can be sent to TripIt in a request.
type Response ¶
type Response struct {
Timestamp string `json:"timestamp,omitempty" xml:"timestamp"`
NumBytes int `json:"num_bytes,string,omitempty" xml:"num_bytes"`
Error ErrorVector `json:"Error,omitempty" xml:"Error"` // optional
Warning WarningVector `json:"Warning,omitempty" xml:"Warning"` // optional
Trip TripPtrVector `json:"Trip,omitempty" xml:"Trip"` // optional
ActivityObject ActivityObjectPtrVector `json:"ActivityObject,omitempty" xml:"ActivityObject"` // optional
AirObject AirObjectPtrVector `json:"AirObject,omitempty" xml:"AirObject"` // optional
CarObject CarObjectPtrVector `json:"CarObject,omitempty" xml:"CarObject"` // optional
CruiseObject CruiseObjectPtrVector `json:"CruiseObject,omitempty" xml:"CruiseObject"` // optional
DirectionsObject DirectionsObjectPtrVector `json:"DirectionsObject,omitempty" xml:"DirectionsObject"` // optional
LodgingObject LodgingObjectPtrVector `json:"LodgingObject,omitempty" xml:"LodgingObject"` // optional
MapObject MapObjectPtrVector `json:"MapObject,omitempty" xml:"MapObject"` // optional
NoteObject NoteObjectPtrVector `json:"NoteObject,omitempty" xml:"NoteObject"` // optional
RailObject RailObjectPtrVector `json:"RailObject,omitempty" xml:"RailObject"` // optional
RestaurantObject RestaurantObjectPtrVector `json:"RestaurantObject,omitempty" xml:"RestaurantObject"` // optional
TransportObject TransportObjectPtrVector `json:"TransportObject,omitempty" xml:"TransportObject"` // optional
WeatherObject WeatherObjectVector `json:"WeatherObject,omitempty" xml:"WeatherObject"` // optional
PointsProgram PointsProgramVector `json:"PointsProgram,omitempty" xml:"PointsProgram"` // optional
Profile ProfileVector `json:"Profile,omitempty" xml:"Profile"` // optional
}
Response represents a TripIt API Response
type RestaurantObject ¶
type RestaurantObject struct {
Id string `json:"id,omitempty"` // optional, read-only
TripId string `json:"trip_id,omitempty"` // optional
IsClientTraveler bool `json:"is_client_traveler,string,omitempty"` // optional, read-only
RelativeUrl string `json:"relative_url,omitempty"` // optional, read-only
DisplayName string `json:"display_name,omitempty"` // optional
Image ImagePtrVector `json:"Image,omitempty"` // optional
CancellationDateTime *DateTime `json:"CancellationDateTime,omitempty"` // optional
BookingDate string `json:"booking_date,omitempty"` // optional, xs:date
BookingRate string `json:"booking_rate,omitempty"` // optional
BookingSiteConfNum string `json:"booking_site_conf_num,omitempty"` // optional
BookingSiteName string `json:"booking_site_name,omitempty"` // optional
BookingSitePhone string `json:"booking_site_phone,omitempty"` // optional
BookingSiteUrl string `json:"booking_site_url,omitempty"` // optional
RecordLocator string `json:"record_locator,omitempty"` // optional
SupplierConfNum string `json:"supplier_conf_num,omitempty"` // optional
SupplierContact string `json:"supplier_contact,omitempty"` // optional
SupplierEmailAddress string `json:"supplier_email_address,omitempty"` // optional
SupplierName string `json:"supplier_name,omitempty"` // optional
SupplierPhone string `json:"supplier_phone,omitempty"` // optional
SupplierUrl string `json:"supplier_url,omitempty"` // optional
IsPurchased bool `json:"is_purchased,string,omitempty"` // optional
Notes string `json:"notes,omitempty"` // optional
Restrictions string `json:"restrictions,omitempty"` // optional
TotalCost string `json:"total_cost,omitempty"` // optional
DateTime *DateTime `json:"DateTime,omitempty"` // optional
Address *Address `json:"Address,omitempty"` // optional
ReservationHolder *Traveler `json:"ReservationHolder,omitempty"` // optional
Cuisine string `json:"cuisine,omitempty"` // optional
DressCode string `json:"dress_code,omitempty"` // optional
Hours string `json:"hours,omitempty"` // optional
NumberPatrons string `json:"number_patrons,omitempty"` // optional
PriceRange string `json:"price_range,omitempty"` // optional
}
RestaurantObject contains details about dining reservations. restaurant name should be in supplier_name. restaurant notes should be in notes.
func (*RestaurantObject) BookingTime ¶
func (r *RestaurantObject) BookingTime() (time.Time, error)
BookingTime returns a time.Time object for BookingDate. Note: This won't have proper time zone information.
type RestaurantObjectPtrVector ¶
type RestaurantObjectPtrVector []*RestaurantObject
RestaurantObjectPtrVector is a specialization of Vector for *RestaurantObject objects.
func (*RestaurantObjectPtrVector) UnmarshalJSON ¶
func (p *RestaurantObjectPtrVector) UnmarshalJSON(b []byte) error
UnmarshalJSON builds the vector from the JSON in b.
type TransportObject ¶
type TransportObject struct {
Id string `json:"id,omitempty"` // optional, read-only
TripId string `json:"trip_id,omitempty"` // optional
IsClientTraveler bool `json:"is_client_traveler,string,omitempty"` // optional, read-only
RelativeUrl string `json:"relative_url,omitempty"` // optional, read-only
DisplayName string `json:"display_name,omitempty"` // optional
Image ImagePtrVector `json:"Image,omitempty"` // optional
CancellationDateTime *DateTime `json:"CancellationDateTime,omitempty"` // optional
BookingDate string `json:"booking_date,omitempty"` // optional, xs:date
BookingRate string `json:"booking_rate,omitempty"` // optional
BookingSiteConfNum string `json:"booking_site_conf_num,omitempty"` // optional
BookingSiteName string `json:"booking_site_name,omitempty"` // optional
BookingSitePhone string `json:"booking_site_phone,omitempty"` // optional
BookingSiteUrl string `json:"booking_site_url,omitempty"` // optional
RecordLocator string `json:"record_locator,omitempty"` // optional
SupplierConfNum string `json:"supplier_conf_num,omitempty"` // optional
SupplierContact string `json:"supplier_contact,omitempty"` // optional
SupplierEmailAddress string `json:"supplier_email_address,omitempty"` // optional
SupplierName string `json:"supplier_name,omitempty"` // optional
SupplierPhone string `json:"supplier_phone,omitempty"` // optional
SupplierUrl string `json:"supplier_url,omitempty"` // optional
IsPurchased bool `json:"is_purchased,string,omitempty"` // optional
Notes string `json:"notes,omitempty"` // optional
Restrictions string `json:"restrictions,omitempty"` // optional
TotalCost string `json:"total_cost,omitempty"` // optional
Segment TransportSegmentPtrVector `json:"Segment,omitempty"`
Traveler TravelerPtrVector `json:"Traveler,omitempty"` // optional
}
TransportObject contains details about other forms of transport like bus rides.
func (*TransportObject) BookingTime ¶
func (r *TransportObject) BookingTime() (time.Time, error)
BookingTime returns a time.Time object for BookingDate. Note: This won't have proper time zone information
type TransportObjectPtrVector ¶
type TransportObjectPtrVector []*TransportObject
TransportObjectPtrVector is a specialization of Vector for *TransportObject objects.
func (*TransportObjectPtrVector) UnmarshalJSON ¶
func (p *TransportObjectPtrVector) UnmarshalJSON(b []byte) error
UnmarshalJSON builds the vector from the JSON in b.
type TransportSegment ¶
type TransportSegment struct {
StartDateTime *DateTime `json:"StartDateTime,omitempty"` // optional
EndDateTime *DateTime `json:"EndDateTime,omitempty"` // optional
StartLocationAddress *Address `json:"StartLocationAddress,omitempty"` // optional
EndLocationAddress *Address `json:"EndLocationAddress,omitempty"` // optional
StartLocationName string `json:"start_location_name,omitempty"` // optional
EndLocationName string `json:"end_location_name,omitempty"` // optional
DetailTypeCode string `json:"detail_type_code,omitempty"` // optional
CarrierName string `json:"carrier_name,omitempty"` // optional
ConfirmationNum string `json:"confirmation_num,omitempty"` // optional
NumberPassengers string `json:"number_passengers,omitempty"` // optional
VehicleDescription string `json:"vehicle_description,omitempty"` // optional
Id string `json:"id,omitempty"` // optional, read-only
}
TransportSegment contains details about indivual transport rides.
type TransportSegmentPtrVector ¶
type TransportSegmentPtrVector []*TransportSegment
TransportSegmentPtrVector is a specialization of Vector for *TransportSegment objects.
func (*TransportSegmentPtrVector) UnmarshalJSON ¶
func (p *TransportSegmentPtrVector) UnmarshalJSON(b []byte) error
UnmarshalJSON builds the vector from the JSON in b.
type Traveler ¶
type Traveler struct {
FirstName string `json:"first_name,omitempty" xml:"first_name"` // optional
MiddleName string `json:"middle_name,omitempty" xml:"middle_name"` // optional
LastName string `json:"last_name,omitempty" xml:"last_name"` // optional
FrequentTravelerNum string `json:"frequent_traveler_num,omitempty" xml:"frequent_traveler_num"` // optional
FrequentTravelerSupplier string `json:"frequent_traveler_supplier,omitempty" xml:"frequent_traveler_supplier"` // optional
MealPreference string `json:"meal_preference,omitempty" xml:"meal_preference"` // optional
SeatPreference string `json:"seat_preference,omitempty" xml:"seat_preference"` // optional
TicketNum string `json:"ticket_num,omitempty" xml:"ticket_num"` //optional
}
Traveler contains information about a traveler.
type TravelerPtrVector ¶
type TravelerPtrVector []*Traveler
TravelerPtrVector is a specialization of Vector for *Traveler objects.
func (*TravelerPtrVector) UnmarshalJSON ¶
func (p *TravelerPtrVector) UnmarshalJSON(b []byte) error
UnmarshalJSON builds the vector from the JSON in b.
type Trip ¶
type Trip struct {
ClosenessMatches *ClosenessMatches `json:"ClosenessMatches,omitempty" xml:"ClosenessMatches"` // optional, ClosenessMatches are read-only
TripInvitees *TripInvitees `json:"TripInvitees,omitempty" xml:"TripInvitees"` // optional, TripInvitees are read-only
TripCrsRemarks *TripCrsRemarks `json:"TripCrsRemarks,omitempty" xml:"TripCrsRemarks"` // optional, TripCrsRemarks are read-only
Id string `json:"id,omitempty" xml:"id"` // optional, id is a read-only field
RelativeUrl string `json:"relative_url,omitempty" xml:"relative_url"` // optional, relative_url is a read-only field
StartDate string `json:"start_date,omitempty" xml:"start_date"` // optional, xs:date
EndDate string `json:"end_date,omitempty" xml:"end_date"` // optional, xs:date
Description string `json:"description,omitempty" xml:"description"` // optional
DisplayName string `json:"display_name,omitempty" xml:"display_name"` // optional
ImageUrl string `json:"image_url,omitempty" xml:"image_url"` // optional
IsPrivate bool `json:"is_private,string,omitempty" xml:"is_private"` // optional
PrimaryLocation string `json:"primary_location,omitempty" xml:"primary_location"` // optional
PrimaryLocationAddress *Address `json:"primary_location_address,omitempty" xml:"primary_location_address"` // optional, PrimaryLocationAddress is a read-only field
}
Trip represents a trip in the TripIt model.
type TripCrsRemark ¶
type TripCrsRemark struct {
RecordLocator string `json:"record_locator,omitempty" xml:"record_locator"` // read-only
Notes string `json:"notes,omitempty" xml:"notes"` // read-only
}
TripCrsRemark is a reservation system remark. All TripCrsRemark elements are read-only.
type TripCrsRemarkVector ¶
type TripCrsRemarkVector []TripCrsRemark
TripCrsRemarkVector is a specialization of Vector for TripCrsRemark objects.
func (*TripCrsRemarkVector) UnmarshalJSON ¶
func (p *TripCrsRemarkVector) UnmarshalJSON(b []byte) error
UnmarshalJSON builds the vector from the JSON in b.
type TripCrsRemarks ¶
type TripCrsRemarks struct {
TripCrsRemark TripCrsRemarkVector `json:"TripCrsRemark,omitempty" xml:"TripCrsRemark"` // optional, TripCrsRemarks are read-only
}
TripCrsRemarks are remarks from a reservation system.
type TripInvitees ¶
type TripInvitees struct {
Invitee InviteeVector `json:"Invitee,omitempty" xml:"Invitee"` // optional, TripInvitees are read-only
}
TripInvitees are people invited to view a trip.
type TripIt ¶
type TripIt struct {
// contains filtered or unexported fields
}
TripIt class to used to communicate with the API.
func (*TripIt) Create ¶
Create creates an object in TripIt based on the given Request, returning the Response object from TripIt. supports: air, activity, car, cruise, directions, lodging, map, note, rail, restaurant, transport, trip
func (*TripIt) Delete ¶
Delete deletes the object of the given type and ID from TripIt, and returns the Response object from TripIt. supports: air, activity, car, cruise, directions, lodging, map, note, rail, restaurant, transport, trip
func (*TripIt) Get ¶
Get gets an Object of the given type and ID, and returns the Response object from TripIt. supports: air, activity, car, cruise, directions, lodging, map, note, rail, restaurant, transport, trip
func (*TripIt) GetAccessToken ¶
GetAccessToken gets the final OAuth token and token secret for an authenticated user. These should be saved with the user's ID for future used of the API on the user's behalf.
func (*TripIt) GetRequestToken ¶
GetRequestToken is step 1 of the OAuth process. The function returns the token and secret from TripIt that is used in subsequent authentication requests. This token and secret is not the permanent one - if the user aborts the authentication process, these can be discarded.
func (*TripIt) List ¶
List lists objects of the given type, filtered by the given filter parameters. Returns the response object from TripIt. To understand filter parameters and which filters can be combined, see the TripIt API documentation. supports: trip, object, points_program
type TripPtrVector ¶
type TripPtrVector []*Trip
TripPtrVector is a specialization of Vector for *Trip objects.
func (*TripPtrVector) UnmarshalJSON ¶
func (p *TripPtrVector) UnmarshalJSON(b []byte) error
UnmarshalJSON builds the vector from the JSON in b.
type TripShare ¶
type TripShare struct {
}
TripShare contains information about which users a trip is shared with.
type Warning ¶
type Warning struct {
Description string `json:"description,omitempty"` // read-only
EntityType string `json:"entity_type,omitempty"` // read-only
Timestamp string `json:"timestamp,omitempty"` // read-only, xs:datetime
}
Warning is returned from TripIt to indicate warning conditions
type WarningVector ¶
type WarningVector []Warning
WarningVector is a specialization of Vector for Warning objects.
func (*WarningVector) UnmarshalJSON ¶
func (p *WarningVector) UnmarshalJSON(b []byte) error
UnmarshalJSON builds the vector from the JSON in b.
type WeatherObject ¶
type WeatherObject struct {
Id string `json:"id,omitempty"` // optional, read-only
TripId string `json:"trip_id,omitempty"` // optional
IsClientTraveler bool `json:"is_client_traveler,string,omitempty"` // optional, read-only
RelativeUrl string `json:"relative_url,omitempty"` // optional, read-only
DisplayName string `json:"display_name,omitempty"` // optional
Image ImagePtrVector `json:"Image,omitempty"` // optional
Date string `json:"date,omitempty"` // optional, read-only, xs:date
Location string `json:"location,omitempty"` // optional, read-only
AvgHighTempC float64 `json:"avg_high_temp_c,string,omitempty"` // optional, read-only
AvgLowTempC float64 `json:"avg_low_temp_c,string,omitempty"` // optional, read-only
AvgWindSpeedKn float64 `json:"avg_wind_speed_kn,string,omitempty"` // optional, read-only
AvgPrecipitationCm float64 `json:"avg_precipitation_cm,string,omitempty"` // optional, read-only
AvgSnowDepthCm float64 `json:"avg_snow_depth_cm,string,omitempty"` // optional, read-only
}
WeatherObject contains information about the weather at a particular destination. Weather is read-only.
type WeatherObjectVector ¶
type WeatherObjectVector []WeatherObject
WeatherObjectVector is a specialization of Vector for WeatherObject objects.
func (*WeatherObjectVector) UnmarshalJSON ¶
func (p *WeatherObjectVector) UnmarshalJSON(b []byte) error
UnmarshalJSON builds the vector from the JSON in b.
type WebAuthCredential ¶
type WebAuthCredential struct {
// contains filtered or unexported fields
}
WebAuthCredential us used for web authorization. Web authorization is for testing and needs to be enabled on your TripIt account.
func (*WebAuthCredential) Authorize ¶
func (a *WebAuthCredential) Authorize(request *http.Request, args map[string]string)
Authorize adds the authorization header to the HTTP request, including any additional arguments. Note that web authorization ignores extra arguments.
func (*WebAuthCredential) Password ¶
func (a *WebAuthCredential) Password() string
Password returns the password.
func (*WebAuthCredential) Username ¶
func (a *WebAuthCredential) Username() string
Username returns the user name.
Source Files
¶
- activityobjectptrvector.go
- airobjectptrvector.go
- airsegmentptrvector.go
- carobjectptrvector.go
- closenessmatchvector.go
- cruiseobjectptrvector.go
- cruisesegmentptrvector.go
- directionsobjectptrvector.go
- errorvector.go
- groupvector.go
- http.go
- imageptrvector.go
- inviteevector.go
- lodgingobjectptrvector.go
- mapobjectptrvector.go
- noteobjectptrvector.go
- oauth.go
- pointsprogramactivityvector.go
- pointsprogramexpirationvector.go
- pointsprogramvector.go
- profileemailaddressvector.go
- profilevector.go
- railobjectptrvector.go
- railsegmentptrvector.go
- restaurantobjectptrvector.go
- transportobjectptrvector.go
- transportsegmentptrvector.go
- travelerptrvector.go
- tripcrsremarkvector.go
- tripit.go
- tripptrvector.go
- warningvector.go
- weatherobjectvector.go
- webauth.go
