-
Notifications
You must be signed in to change notification settings - Fork 0
/
struct_booking_details.go
189 lines (188 loc) · 10.3 KB
/
struct_booking_details.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
package main
// BookingDetails is the listing information that comes back when we query it.
type BookingDetails struct {
PdpListingBookingDetails []struct {
Available bool `json:"available"`
AverageRateWithoutTaxUsd int `json:"average_rate_without_tax_usd"`
BasePriceBreakdown []struct {
Amount float64 `json:"amount"`
AmountMicros float64 `json:"amount_micros"`
AmountFormatted string `json:"amount_formatted"`
IsMicrosAccuracy bool `json:"is_micros_accuracy"`
Currency string `json:"currency"`
} `json:"base_price_breakdown"`
CanInstantBook bool `json:"can_instant_book"`
CancellationPolicies []struct {
CancellationSectionPlacement interface{} `json:"cancellation_section_placement"`
CleaningFee interface{} `json:"cleaning_fee"`
FreeCancellationUpsellBody interface{} `json:"free_cancellation_upsell_body"`
FreeCancellationUpsellPlacement interface{} `json:"free_cancellation_upsell_placement"`
FreeCancellationUpsellTitle interface{} `json:"free_cancellation_upsell_title"`
Link string `json:"link"`
LinkText string `json:"link_text"`
ServiceFee interface{} `json:"service_fee"`
SubtitleRootForPlus interface{} `json:"subtitle_root_for_plus"`
SubtitleShort interface{} `json:"subtitle_short"`
Subtitles []string `json:"subtitles"`
Timeline interface{} `json:"timeline"`
Title string `json:"title"`
Milestones []struct {
Titles []string `json:"titles"`
Subtitles []string `json:"subtitles"`
Type string `json:"type"`
Color string `json:"color"`
TimelineLengthPercentage float64 `json:"timeline_length_percentage"`
TimelineWidthPercentage interface{} `json:"timeline_width_percentage"`
IsDated interface{} `json:"is_dated"`
} `json:"milestones"`
Disclaimer string `json:"disclaimer"`
FreeCancellationUpsellTitleMobile interface{} `json:"free_cancellation_upsell_title_mobile"`
FreeCancellationUpsellMessageBookItModule interface{} `json:"free_cancellation_upsell_message_book_it_module"`
LocalizedCancellationPolicyName string `json:"localized_cancellation_policy_name"`
CancellationPolicyLabel string `json:"cancellation_policy_label"`
CancellationPolicyPriceType interface{} `json:"cancellation_policy_price_type"`
CancellationPolicyPriceFactor float64 `json:"cancellation_policy_price_factor"`
CancellationPolicyID int `json:"cancellation_policy_id"`
BookItModuleTooltip string `json:"book_it_module_tooltip"`
} `json:"cancellation_policies"`
CancellationPolicyLabel string `json:"cancellation_policy_label"`
CheckIn string `json:"check_in"`
CheckOut string `json:"check_out"`
CleaningFeeAsGuest int `json:"cleaning_fee_as_guest"`
DepositUpsellMessageData struct {
UpsellEligible bool `json:"upsell_eligible"`
Message string `json:"message"`
} `json:"deposit_upsell_message_data"`
DiscountData string `json:"discount_data"`
ExtraGuestFee struct {
Amount float64 `json:"amount"`
AmountMicros float64 `json:"amount_micros"`
AmountFormatted string `json:"amount_formatted"`
IsMicrosAccuracy bool `json:"is_micros_accuracy"`
Currency string `json:"currency"`
} `json:"extra_guest_fee"`
GuestDetails struct {
NumberOfAdults int `json:"number_of_adults"`
NumberOfChildren int `json:"number_of_children"`
NumberOfInfants int `json:"number_of_infants"`
LocalizedDescription string `json:"localized_description"`
} `json:"guest_details"`
Guests int `json:"guests"`
ID string `json:"id"`
LocalizedCancellationPolicyName string `json:"localized_cancellation_policy_name"`
LocalizedUnavailabilityMessage string `json:"localized_unavailability_message"`
Nights int `json:"nights"`
P3CancellationSection struct {
CancellationSectionPlacement interface{} `json:"cancellation_section_placement"`
CleaningFee interface{} `json:"cleaning_fee"`
FreeCancellationUpsellBody interface{} `json:"free_cancellation_upsell_body"`
FreeCancellationUpsellPlacement interface{} `json:"free_cancellation_upsell_placement"`
FreeCancellationUpsellTitle interface{} `json:"free_cancellation_upsell_title"`
Link string `json:"link"`
LinkText string `json:"link_text"`
ServiceFee interface{} `json:"service_fee"`
SubtitleRootForPlus interface{} `json:"subtitle_root_for_plus"`
SubtitleShort interface{} `json:"subtitle_short"`
Subtitles []string `json:"subtitles"`
Timeline interface{} `json:"timeline"`
Title string `json:"title"`
Milestones []struct {
Titles []string `json:"titles"`
Subtitles []string `json:"subtitles"`
Type string `json:"type"`
Color string `json:"color"`
TimelineLengthPercentage float64 `json:"timeline_length_percentage"`
TimelineWidthPercentage interface{} `json:"timeline_width_percentage"`
IsDated interface{} `json:"is_dated"`
} `json:"milestones"`
Disclaimer string `json:"disclaimer"`
FreeCancellationUpsellTitleMobile interface{} `json:"free_cancellation_upsell_title_mobile"`
FreeCancellationUpsellMessageBookItModule interface{} `json:"free_cancellation_upsell_message_book_it_module"`
LocalizedCancellationPolicyName string `json:"localized_cancellation_policy_name"`
CancellationPolicyLabel string `json:"cancellation_policy_label"`
CancellationPolicyPriceType interface{} `json:"cancellation_policy_price_type"`
CancellationPolicyPriceFactor float64 `json:"cancellation_policy_price_factor"`
CancellationPolicyID int `json:"cancellation_policy_id"`
BookItModuleTooltip string `json:"book_it_module_tooltip"`
} `json:"p3_cancellation_section"`
P3DisplayRate struct {
Amount float64 `json:"amount"`
AmountMicros float64 `json:"amount_micros"`
AmountFormatted string `json:"amount_formatted"`
IsMicrosAccuracy bool `json:"is_micros_accuracy"`
Currency string `json:"currency"`
} `json:"p3_display_rate"`
P3MessageData struct {
MessageType string `json:"message_type"`
Message struct {
Icon string `json:"icon"`
Headline string `json:"headline"`
Body string `json:"body"`
ContextualMessage interface{} `json:"contextualMessage"`
} `json:"message"`
Action struct {
ConfirmationMessageType interface{} `json:"confirmation_message_type"`
Label interface{} `json:"label"`
Payload struct {
CheckIn interface{} `json:"check_in"`
CheckOut interface{} `json:"check_out"`
} `json:"payload"`
Type interface{} `json:"type"`
} `json:"action"`
} `json:"p3_message_data"`
P3PercentageRecommended interface{} `json:"p3_percentage_recommended"`
Price struct {
DiscountData struct {
TieredPricingDiscountData interface{} `json:"tiered_pricing_discount_data"`
ChinaDiscountPromotionData interface{} `json:"china_discount_promotion_data"`
PricingDiscountData interface{} `json:"pricing_discount_data"`
} `json:"discount_data"`
PriceItems []struct {
DiscountData interface{} `json:"discount_data"`
LocalizedExplanation interface{} `json:"localized_explanation"`
LocalizedTitle string `json:"localized_title"`
Total struct {
Amount float64 `json:"amount"`
AmountMicros float64 `json:"amount_micros"`
AmountFormatted string `json:"amount_formatted"`
IsMicrosAccuracy bool `json:"is_micros_accuracy"`
Currency string `json:"currency"`
} `json:"total"`
Type string `json:"type"`
} `json:"price_items"`
Total struct {
Amount float64 `json:"amount"`
AmountMicros float64 `json:"amount_micros"`
AmountFormatted string `json:"amount_formatted"`
IsMicrosAccuracy bool `json:"is_micros_accuracy"`
Currency string `json:"currency"`
} `json:"total"`
} `json:"price"`
PriceDisclaimer string `json:"price_disclaimer"`
PricingQuoteRequestUUID string `json:"pricing_quote_request_uuid"`
PrivacySettings struct {
ShouldHidePii bool `json:"should_hide_pii"`
AddressHiddenExplanationTranslated string `json:"address_hidden_explanation_translated"`
} `json:"privacy_settings"`
RateType string `json:"rate_type"`
RateWithServiceFee struct {
Amount float64 `json:"amount"`
AmountMicros float64 `json:"amount_micros"`
AmountFormatted string `json:"amount_formatted"`
IsMicrosAccuracy bool `json:"is_micros_accuracy"`
Currency string `json:"currency"`
} `json:"rate_with_service_fee"`
SecondaryDisplayRateData interface{} `json:"secondary_display_rate_data"`
SecurityDepositDetails struct {
FormattedPrice interface{} `json:"formatted_price"`
LocalizedAuthorizationTime interface{} `json:"localized_authorization_time"`
SecurityDeposit interface{} `json:"security_deposit"`
AdditionalInfoTitle interface{} `json:"additional_info_title"`
AdditionalInfoDetails interface{} `json:"additional_info_details"`
} `json:"security_deposit_details"`
ShouldShowFromLabel bool `json:"should_show_from_label"`
TaxAmountUsd int `json:"tax_amount_usd"`
} `json:"pdp_listing_booking_details"`
Metadata struct {
} `json:"metadata"`
}