sabre_dev_studio-flight 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (38) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +18 -0
  3. data/Gemfile +5 -0
  4. data/LICENSE.txt +22 -0
  5. data/README.md +54 -0
  6. data/Rakefile +20 -0
  7. data/lib/sabre_dev_studio-flight/airports_at_cities_lookup.rb +13 -0
  8. data/lib/sabre_dev_studio-flight/api.rb +209 -0
  9. data/lib/sabre_dev_studio-flight/city_pairs_lookup.rb +13 -0
  10. data/lib/sabre_dev_studio-flight/destination_finder.rb +13 -0
  11. data/lib/sabre_dev_studio-flight/fare_range.rb +13 -0
  12. data/lib/sabre_dev_studio-flight/instaflights_search.rb +13 -0
  13. data/lib/sabre_dev_studio-flight/lead_price_calendar.rb +13 -0
  14. data/lib/sabre_dev_studio-flight/low_fare_forecast.rb +13 -0
  15. data/lib/sabre_dev_studio-flight/multiairport_city_lookup.rb +13 -0
  16. data/lib/sabre_dev_studio-flight/shop/streamlined_destinations.rb +38 -0
  17. data/lib/sabre_dev_studio-flight/shop/streamlined_itineraries.rb +225 -0
  18. data/lib/sabre_dev_studio-flight/theme_airport_lookup.rb +13 -0
  19. data/lib/sabre_dev_studio-flight/travel_seasonality.rb +13 -0
  20. data/lib/sabre_dev_studio-flight/travel_theme_lookup.rb +13 -0
  21. data/lib/sabre_dev_studio-flight/version.rb +5 -0
  22. data/lib/sabre_dev_studio-flight.rb +6 -0
  23. data/sabre_dev_studio-flight.gemspec +24 -0
  24. data/test/api_test.rb +194 -0
  25. data/test/fixtures/air_shopping_themes.json +113 -0
  26. data/test/fixtures/airports_at_cities_lookup.json +26 -0
  27. data/test/fixtures/city_pairs.json +16708 -0
  28. data/test/fixtures/destination_air_shop.json +481 -0
  29. data/test/fixtures/fare_range.json +35 -0
  30. data/test/fixtures/future_dates_lead_fare_shop.json +2525 -0
  31. data/test/fixtures/low_fare_forecast.json +28 -0
  32. data/test/fixtures/multiairport_city_lookup.json +164 -0
  33. data/test/fixtures/single_date_air_shop.json +352 -0
  34. data/test/fixtures/theme_airport_lookup.json +77 -0
  35. data/test/fixtures/theme_airports.json +32 -0
  36. data/test/fixtures/travel_seasonality.json +379 -0
  37. data/test/test_helper.rb +32 -0
  38. metadata +149 -0
@@ -0,0 +1,28 @@
1
+ {
2
+ "OriginLocation": "JFK",
3
+ "DestinationLocation": "LAX",
4
+ "DepartureDateTime": "2014-10-01T00:00:00",
5
+ "ReturnDateTime": "2014-10-05T00:00:00",
6
+ "Forecast": {
7
+ "HighestPredictedFare": 9999,
8
+ "CurrencyCode": "USD",
9
+ "LowestPredictedFare": 0
10
+ },
11
+ "Recommendation": "unknown",
12
+ "LowestFare": 387.0,
13
+ "CurrencyCode": "USD",
14
+ "Links": [
15
+ {
16
+ "rel": "self",
17
+ "href": "https://api.test.sabre.com/v1/forecast/flights/fares?origin=JFK&destination=LAX&departuredate=2014-10-01&returndate=2014-10-05"
18
+ },
19
+ {
20
+ "rel": "linkTemplate",
21
+ "href": "https://api.test.sabre.com/v1/forecast/flights/fares?origin=<origin>&destination=<destination>&departuredate=<departuredate>&returndate=<returndate>"
22
+ },
23
+ {
24
+ "rel": "shop",
25
+ "href": "https://api.test.sabre.com/v1/shop/flights?origin=JFK&destination=LAX&departuredate=2014-10-01&returndate=2014-10-05"
26
+ }
27
+ ]
28
+ }
@@ -0,0 +1,164 @@
1
+ {
2
+ "Cities": [
3
+ {
4
+ "code": "CHI",
5
+ "name": "Chicago",
6
+ "Links": [
7
+ {
8
+ "rel": "airportsInCity",
9
+ "href": "https://api.test.sabre.com/v1/lists/airports?city=CHI"
10
+ }
11
+ ]
12
+ },
13
+ {
14
+ "code": "CVG",
15
+ "name": "Cincinnati",
16
+ "Links": [
17
+ {
18
+ "rel": "airportsInCity",
19
+ "href": "https://api.test.sabre.com/v1/lists/airports?city=CVG"
20
+ }
21
+ ]
22
+ },
23
+ {
24
+ "code": "DTT",
25
+ "name": "Detroit",
26
+ "Links": [
27
+ {
28
+ "rel": "airportsInCity",
29
+ "href": "https://api.test.sabre.com/v1/lists/airports?city=DTT"
30
+ }
31
+ ]
32
+ },
33
+ {
34
+ "code": "FYV",
35
+ "name": "Fayetteville",
36
+ "Links": [
37
+ {
38
+ "rel": "airportsInCity",
39
+ "href": "https://api.test.sabre.com/v1/lists/airports?city=FYV"
40
+ }
41
+ ]
42
+ },
43
+ {
44
+ "code": "HAR",
45
+ "name": "Harrisburg",
46
+ "Links": [
47
+ {
48
+ "rel": "airportsInCity",
49
+ "href": "https://api.test.sabre.com/v1/lists/airports?city=HAR"
50
+ }
51
+ ]
52
+ },
53
+ {
54
+ "code": "HFD",
55
+ "name": "Hartford",
56
+ "Links": [
57
+ {
58
+ "rel": "airportsInCity",
59
+ "href": "https://api.test.sabre.com/v1/lists/airports?city=HFD"
60
+ }
61
+ ]
62
+ },
63
+ {
64
+ "code": "MKC",
65
+ "name": "Kansas City",
66
+ "Links": [
67
+ {
68
+ "rel": "airportsInCity",
69
+ "href": "https://api.test.sabre.com/v1/lists/airports?city=MKC"
70
+ }
71
+ ]
72
+ },
73
+ {
74
+ "code": "NYC",
75
+ "name": "New York",
76
+ "Links": [
77
+ {
78
+ "rel": "airportsInCity",
79
+ "href": "https://api.test.sabre.com/v1/lists/airports?city=NYC"
80
+ }
81
+ ]
82
+ },
83
+ {
84
+ "code": "ORL",
85
+ "name": "Orlando",
86
+ "Links": [
87
+ {
88
+ "rel": "airportsInCity",
89
+ "href": "https://api.test.sabre.com/v1/lists/airports?city=ORL"
90
+ }
91
+ ]
92
+ },
93
+ {
94
+ "code": "QDF",
95
+ "name": "Dallas/Fort Worth",
96
+ "Links": [
97
+ {
98
+ "rel": "airportsInCity",
99
+ "href": "https://api.test.sabre.com/v1/lists/airports?city=QDF"
100
+ }
101
+ ]
102
+ },
103
+ {
104
+ "code": "QHO",
105
+ "name": "Houston",
106
+ "Links": [
107
+ {
108
+ "rel": "airportsInCity",
109
+ "href": "https://api.test.sabre.com/v1/lists/airports?city=QHO"
110
+ }
111
+ ]
112
+ },
113
+ {
114
+ "code": "QPH",
115
+ "name": "Philadelphia",
116
+ "Links": [
117
+ {
118
+ "rel": "airportsInCity",
119
+ "href": "https://api.test.sabre.com/v1/lists/airports?city=QPH"
120
+ }
121
+ ]
122
+ },
123
+ {
124
+ "code": "SEA",
125
+ "name": "Seattle",
126
+ "Links": [
127
+ {
128
+ "rel": "airportsInCity",
129
+ "href": "https://api.test.sabre.com/v1/lists/airports?city=SEA"
130
+ }
131
+ ]
132
+ },
133
+ {
134
+ "code": "TPA",
135
+ "name": "Tampa",
136
+ "Links": [
137
+ {
138
+ "rel": "airportsInCity",
139
+ "href": "https://api.test.sabre.com/v1/lists/airports?city=TPA"
140
+ }
141
+ ]
142
+ },
143
+ {
144
+ "code": "WAS",
145
+ "name": "Washington/Baltimore",
146
+ "Links": [
147
+ {
148
+ "rel": "airportsInCity",
149
+ "href": "https://api.test.sabre.com/v1/lists/airports?city=WAS"
150
+ }
151
+ ]
152
+ }
153
+ ],
154
+ "Links": [
155
+ {
156
+ "rel": "self",
157
+ "href": "https://api.test.sabre.com/v1/lists/cities?country=US"
158
+ },
159
+ {
160
+ "rel": "linkTemplate",
161
+ "href": "https://api.test.sabre.com/v1/lists/cities?country=<country>"
162
+ }
163
+ ]
164
+ }
@@ -0,0 +1,352 @@
1
+ {
2
+ "DepartureDateTime": "2014-10-01",
3
+ "PricedItineraries": [
4
+ {
5
+ "AirItineraryPricingInfo": {
6
+ "PricingSubSource": "BCH",
7
+ "PricingSource": "PUBCS1",
8
+ "FareInfos": {
9
+ "FareInfo": [
10
+ {
11
+ "FareReference": "Q",
12
+ "TPA_Extensions": {
13
+ "Cabin": {
14
+ "Cabin": "Y"
15
+ }
16
+ }
17
+ },
18
+ {
19
+ "FareReference": "Q",
20
+ "TPA_Extensions": {
21
+ "Cabin": {
22
+ "Cabin": "Y"
23
+ }
24
+ }
25
+ },
26
+ {
27
+ "FareReference": "O",
28
+ "TPA_Extensions": {
29
+ "Cabin": {
30
+ "Cabin": "Y"
31
+ }
32
+ }
33
+ },
34
+ {
35
+ "FareReference": "O",
36
+ "TPA_Extensions": {
37
+ "Cabin": {
38
+ "Cabin": "Y"
39
+ }
40
+ }
41
+ }
42
+ ]
43
+ },
44
+ "ItinTotalFare": {
45
+ "Taxes": {
46
+ "Tax": [
47
+ {
48
+ "Amount": 67.93,
49
+ "TaxCode": "TOTALTAX",
50
+ "DecimalPlaces": 2,
51
+ "CurrencyCode": "USD"
52
+ }
53
+ ]
54
+ },
55
+ "TotalFare": {
56
+ "Amount": 387,
57
+ "DecimalPlaces": 2,
58
+ "CurrencyCode": "USD"
59
+ },
60
+ "EquivFare": {
61
+ "Amount": 319.07,
62
+ "DecimalPlaces": 2,
63
+ "CurrencyCode": "USD"
64
+ },
65
+ "BaseFare": {
66
+ "Amount": 319.07,
67
+ "DecimalPlaces": 2,
68
+ "CurrencyCode": "USD"
69
+ }
70
+ },
71
+ "PTC_FareBreakdowns": {
72
+ "PTC_FareBreakdown": {
73
+ "FareBasisCodes": {
74
+ "FareBasisCode": [
75
+ {
76
+ "content": "QA21LRY1",
77
+ "DepartureAirportCode": "JFK",
78
+ "BookingCode": "Q",
79
+ "ArrivalAirportCode": "ORD"
80
+ },
81
+ {
82
+ "content": "QA21LRY1",
83
+ "DepartureAirportCode": "ORD",
84
+ "AvailabilityBreak": true,
85
+ "BookingCode": "Q",
86
+ "ArrivalAirportCode": "LAX"
87
+ },
88
+ {
89
+ "content": "OA14ERP1",
90
+ "DepartureAirportCode": "LAX",
91
+ "BookingCode": "O",
92
+ "ArrivalAirportCode": "ORD"
93
+ },
94
+ {
95
+ "content": "OA14ERP1",
96
+ "DepartureAirportCode": "ORD",
97
+ "AvailabilityBreak": true,
98
+ "BookingCode": "O",
99
+ "ArrivalAirportCode": "JFK"
100
+ }
101
+ ]
102
+ },
103
+ "PassengerTypeQuantity": {
104
+ "Quantity": 1,
105
+ "Code": "ADT"
106
+ },
107
+ "PassengerFare": {
108
+ "Taxes": {
109
+ "TotalTax": {
110
+ "Amount": 67.93,
111
+ "DecimalPlaces": 2,
112
+ "CurrencyCode": "USD"
113
+ },
114
+ "Tax": [
115
+ {
116
+ "Amount": 23.93,
117
+ "TaxCode": "US1",
118
+ "DecimalPlaces": 2,
119
+ "CurrencyCode": "USD"
120
+ },
121
+ {
122
+ "Amount": 16,
123
+ "TaxCode": "ZP",
124
+ "DecimalPlaces": 2,
125
+ "CurrencyCode": "USD"
126
+ },
127
+ {
128
+ "Amount": 10,
129
+ "TaxCode": "AY",
130
+ "DecimalPlaces": 2,
131
+ "CurrencyCode": "USD"
132
+ },
133
+ {
134
+ "Amount": 18,
135
+ "TaxCode": "XF",
136
+ "DecimalPlaces": 2,
137
+ "CurrencyCode": "USD"
138
+ }
139
+ ]
140
+ },
141
+ "TotalFare": {
142
+ "Amount": 387,
143
+ "CurrencyCode": "USD"
144
+ },
145
+ "EquivFare": {
146
+ "Amount": 319.07,
147
+ "DecimalPlaces": 2,
148
+ "CurrencyCode": "USD"
149
+ },
150
+ "BaseFare": {
151
+ "Amount": 319.07,
152
+ "CurrencyCode": "USD"
153
+ }
154
+ }
155
+ }
156
+ },
157
+ "TPA_Extensions": {
158
+ "DivideInParty": {
159
+ "Indicator": false
160
+ }
161
+ }
162
+ },
163
+ "AirItinerary": {
164
+ "OriginDestinationOptions": {
165
+ "OriginDestinationOption": [
166
+ {
167
+ "FlightSegment": [
168
+ {
169
+ "Equipment": {
170
+ "AirEquipType": 738
171
+ },
172
+ "ArrivalTimeZone": {
173
+ "GMTOffset": -5
174
+ },
175
+ "ArrivalDateTime": "2014-10-01T09:30:00",
176
+ "ResBookDesigCode": "Q",
177
+ "DepartureAirport": {
178
+ "LocationCode": "JFK"
179
+ },
180
+ "DepartureTimeZone": {
181
+ "GMTOffset": -4
182
+ },
183
+ "MarriageGrp": "O",
184
+ "TPA_Extensions": {
185
+ "eTicket": {
186
+ "Ind": true
187
+ }
188
+ },
189
+ "DepartureDateTime": "2014-10-01T07:50:00",
190
+ "StopQuantity": 0,
191
+ "ElapsedTime": 160,
192
+ "FlightNumber": 144,
193
+ "OperatingAirline": {
194
+ "FlightNumber": 144,
195
+ "Code": "AA"
196
+ },
197
+ "ArrivalAirport": {
198
+ "LocationCode": "ORD"
199
+ },
200
+ "MarketingAirline": {
201
+ "Code": "AA"
202
+ }
203
+ },
204
+ {
205
+ "Equipment": {
206
+ "AirEquipType": "S80"
207
+ },
208
+ "ArrivalTimeZone": {
209
+ "GMTOffset": -7
210
+ },
211
+ "ArrivalDateTime": "2014-10-01T12:45:00",
212
+ "ResBookDesigCode": "Q",
213
+ "DepartureAirport": {
214
+ "LocationCode": "ORD"
215
+ },
216
+ "DepartureTimeZone": {
217
+ "GMTOffset": -5
218
+ },
219
+ "MarriageGrp": "I",
220
+ "TPA_Extensions": {
221
+ "eTicket": {
222
+ "Ind": true
223
+ }
224
+ },
225
+ "DepartureDateTime": "2014-10-01T10:10:00",
226
+ "StopQuantity": 0,
227
+ "ElapsedTime": 275,
228
+ "FlightNumber": 1155,
229
+ "OperatingAirline": {
230
+ "FlightNumber": 1155,
231
+ "Code": "AA"
232
+ },
233
+ "ArrivalAirport": {
234
+ "LocationCode": "LAX"
235
+ },
236
+ "MarketingAirline": {
237
+ "Code": "AA"
238
+ }
239
+ }
240
+ ],
241
+ "ElapsedTime": 475
242
+ },
243
+ {
244
+ "FlightSegment": [
245
+ {
246
+ "Equipment": {
247
+ "AirEquipType": 738
248
+ },
249
+ "ArrivalTimeZone": {
250
+ "GMTOffset": -5
251
+ },
252
+ "ArrivalDateTime": "2014-10-05T16:50:00",
253
+ "ResBookDesigCode": "O",
254
+ "DepartureAirport": {
255
+ "LocationCode": "LAX"
256
+ },
257
+ "DepartureTimeZone": {
258
+ "GMTOffset": -7
259
+ },
260
+ "MarriageGrp": "O",
261
+ "TPA_Extensions": {
262
+ "eTicket": {
263
+ "Ind": true
264
+ }
265
+ },
266
+ "DepartureDateTime": "2014-10-05T10:45:00",
267
+ "StopQuantity": 0,
268
+ "ElapsedTime": 245,
269
+ "FlightNumber": 1398,
270
+ "OperatingAirline": {
271
+ "FlightNumber": 1398,
272
+ "Code": "AA"
273
+ },
274
+ "ArrivalAirport": {
275
+ "LocationCode": "ORD"
276
+ },
277
+ "MarketingAirline": {
278
+ "Code": "AA"
279
+ }
280
+ },
281
+ {
282
+ "Equipment": {
283
+ "AirEquipType": 738
284
+ },
285
+ "ArrivalTimeZone": {
286
+ "GMTOffset": -4
287
+ },
288
+ "ArrivalDateTime": "2014-10-05T23:05:00",
289
+ "ResBookDesigCode": "O",
290
+ "DepartureAirport": {
291
+ "LocationCode": "ORD"
292
+ },
293
+ "DepartureTimeZone": {
294
+ "GMTOffset": -5
295
+ },
296
+ "MarriageGrp": "I",
297
+ "TPA_Extensions": {
298
+ "eTicket": {
299
+ "Ind": true
300
+ }
301
+ },
302
+ "DepartureDateTime": "2014-10-05T19:35:00",
303
+ "StopQuantity": 0,
304
+ "ElapsedTime": 150,
305
+ "FlightNumber": 149,
306
+ "OperatingAirline": {
307
+ "FlightNumber": 149,
308
+ "Code": "AA"
309
+ },
310
+ "ArrivalAirport": {
311
+ "LocationCode": "JFK"
312
+ },
313
+ "MarketingAirline": {
314
+ "Code": "AA"
315
+ }
316
+ }
317
+ ],
318
+ "ElapsedTime": 560
319
+ }
320
+ ]
321
+ },
322
+ "DirectionInd": "Return"
323
+ },
324
+ "SequenceNumber": 1,
325
+ "TPA_Extensions": {
326
+ "ValidatingCarrier": {
327
+ "Code": "AA"
328
+ }
329
+ },
330
+ "TicketingInfo": {
331
+ "TicketType": "eTicket"
332
+ }
333
+ }
334
+ ],
335
+ "DestinationLocation": "LAX",
336
+ "ReturnDateTime": "2014-10-05",
337
+ "OriginLocation": "JFK",
338
+ "Links": [
339
+ {
340
+ "rel": "nextResults",
341
+ "href": "https://api.test.sabre.com/v1/shop/flights?origin=JFK&destination=LAX&departuredate=2014-10-01&returndate=2014-10-05&onlineitinerariesonly=N&limit=1&eticketsonly=N&sortby=totalfare&order=asc&sortby2=departuretime&order2=asc&offset=2"
342
+ },
343
+ {
344
+ "rel": "self",
345
+ "href": "https://api.test.sabre.com/v1/shop/flights?origin=JFK&destination=LAX&departuredate=2014-10-01&returndate=2014-10-05&onlineitinerariesonly=N&limit=1&offset=1&eticketsonly=N&sortby=totalfare&order=asc&sortby2=departuretime&order2=asc"
346
+ },
347
+ {
348
+ "rel": "linkTemplate",
349
+ "href": "https://api.test.sabre.com/v1/shop/flights?origin=<origin>&destination=<destination>&departuredate=<departuredate>&returndate=<returndate>&offset=<offset>&limit=<limit>&sortby=<sortby>&order=<order>&sortby2=<sortby2>&order2=<order2>&minfare=<minfare>&maxfare=<maxfare>&includedcarriers=<includedcarriers>&excludedcarriers=<excludedcarriers>&outboundflightstops=<outboundflightstops>&inboundflightstops=<inboundflightstops>&outboundstopduration=<outboundstopduration>&inboundstopduration=<inboundstopduration>&outbounddeparturewindow=<outbounddeparturewindow>&outboundarrivalwindow=<outboundarrivalwindow>&inbounddeparturewindow=<inbounddeparturewindow>&inboundarrivalwindow=<inboundarrivalwindow>&onlineitinerariesonly=<onlineitinerariesonly>&eticketsonly=<eticketsonly>&includedconnectpoints=<includedconnectpoints>&excludedconnectpoints=<excludedconnectpoints>"
350
+ }
351
+ ]
352
+ }
@@ -0,0 +1,77 @@
1
+ {
2
+ "Destinations": [
3
+ {
4
+ "Destination": "BUR",
5
+ "Links": [
6
+ {
7
+ "rel": "shopTemplate",
8
+ "href": "https://api.test.sabre.com/v1/shop/themes/DISNEY/flights/fares?origin=<origin>&departuredate=<departuredate>&returndate=<returndate>&location=<location>&minfare=<minfare>&maxfare=<maxfare>"
9
+ }
10
+ ]
11
+ },
12
+ {
13
+ "Destination": "LAX",
14
+ "Links": [
15
+ {
16
+ "rel": "shopTemplate",
17
+ "href": "https://api.test.sabre.com/v1/shop/themes/DISNEY/flights/fares?origin=<origin>&departuredate=<departuredate>&returndate=<returndate>&location=<location>&minfare=<minfare>&maxfare=<maxfare>"
18
+ }
19
+ ]
20
+ },
21
+ {
22
+ "Destination": "LGB",
23
+ "Links": [
24
+ {
25
+ "rel": "shopTemplate",
26
+ "href": "https://api.test.sabre.com/v1/shop/themes/DISNEY/flights/fares?origin=<origin>&departuredate=<departuredate>&returndate=<returndate>&location=<location>&minfare=<minfare>&maxfare=<maxfare>"
27
+ }
28
+ ]
29
+ },
30
+ {
31
+ "Destination": "MCO",
32
+ "Links": [
33
+ {
34
+ "rel": "shopTemplate",
35
+ "href": "https://api.test.sabre.com/v1/shop/themes/DISNEY/flights/fares?origin=<origin>&departuredate=<departuredate>&returndate=<returndate>&location=<location>&minfare=<minfare>&maxfare=<maxfare>"
36
+ }
37
+ ]
38
+ },
39
+ {
40
+ "Destination": "ONT",
41
+ "Links": [
42
+ {
43
+ "rel": "shopTemplate",
44
+ "href": "https://api.test.sabre.com/v1/shop/themes/DISNEY/flights/fares?origin=<origin>&departuredate=<departuredate>&returndate=<returndate>&location=<location>&minfare=<minfare>&maxfare=<maxfare>"
45
+ }
46
+ ]
47
+ },
48
+ {
49
+ "Destination": "SNA",
50
+ "Links": [
51
+ {
52
+ "rel": "shopTemplate",
53
+ "href": "https://api.test.sabre.com/v1/shop/themes/DISNEY/flights/fares?origin=<origin>&departuredate=<departuredate>&returndate=<returndate>&location=<location>&minfare=<minfare>&maxfare=<maxfare>"
54
+ }
55
+ ]
56
+ },
57
+ {
58
+ "Destination": "TPA",
59
+ "Links": [
60
+ {
61
+ "rel": "shopTemplate",
62
+ "href": "https://api.test.sabre.com/v1/shop/themes/DISNEY/flights/fares?origin=<origin>&departuredate=<departuredate>&returndate=<returndate>&location=<location>&minfare=<minfare>&maxfare=<maxfare>"
63
+ }
64
+ ]
65
+ }
66
+ ],
67
+ "Links": [
68
+ {
69
+ "rel": "self",
70
+ "href": "https://api.test.sabre.com/v1/shop/themes/DISNEY"
71
+ },
72
+ {
73
+ "rel": "linkTemplate",
74
+ "href": "https://api.test.sabre.com/v1/shop/themes/<theme>"
75
+ }
76
+ ]
77
+ }
@@ -0,0 +1,32 @@
1
+ {
2
+ "Destinations": [
3
+ {
4
+ "Destination": "CLT",
5
+ "Links": [
6
+ {
7
+ "rel": "shopTemplate",
8
+ "href": "https://api.test.sabre.com/v1/shop/themes/NATIONAL-PARKS/flights/fares?origin=<origin>&departuredate=<departuredate>&returndate=<returndate>&location=<location>&minfare=<minfare>&maxfare=<maxfare>"
9
+ }
10
+ ]
11
+ },
12
+ {
13
+ "Destination": "DEN",
14
+ "Links": [
15
+ {
16
+ "rel": "shopTemplate",
17
+ "href": "https://api.test.sabre.com/v1/shop/themes/NATIONAL-PARKS/flights/fares?origin=<origin>&departuredate=<departuredate>&returndate=<returndate>&location=<location>&minfare=<minfare>&maxfare=<maxfare>"
18
+ }
19
+ ]
20
+ }
21
+ ],
22
+ "Links": [
23
+ {
24
+ "rel": "self",
25
+ "href": "https://api.test.sabre.com/v1/shop/themes/NATIONAL-PARKS"
26
+ },
27
+ {
28
+ "rel": "linkTemplate",
29
+ "href": "https://api.test.sabre.com/v1/shop/themes/<theme>"
30
+ }
31
+ ]
32
+ }