Skip to content

Commit ba9dc76

Browse files
committed
Add Support for Transfer Search API
1 parent f3c8c7b commit ba9dc76

File tree

6 files changed

+40
-1
lines changed

6 files changed

+40
-1
lines changed

README.rst

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -350,6 +350,9 @@ List of supported endpoints
350350
# Airline Routes
351351
amadeus.airline.destinations.get(airlineCode='BA')
352352
353+
# Transfer Offers Search
354+
amadeus.shopping.transfer_offers_search.post(body)
355+
353356
Development & Contributing
354357
--------------------------
355358

amadeus/namespaces/_shopping.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
from amadeus.shopping._availability import Availability
1010
from amadeus.shopping._hotel_offer_search import HotelOfferSearch
1111
from amadeus.shopping._hotel_offers_search import HotelOffersSearch
12+
from amadeus.shopping._transfer_offers_search import TransferOffersSearch
1213

1314

1415
class Shopping(Decorator, object):
@@ -22,6 +23,7 @@ def __init__(self, client):
2223
self.activities = Activities(client)
2324
self.availability = Availability(client)
2425
self.hotel_offers_search = HotelOffersSearch(client)
26+
self.transfer_offers_search = TransferOffersSearch(client)
2527

2628
def hotel_offer_search(self, offer_id):
2729
return HotelOfferSearch(self.client, offer_id)

amadeus/shopping/__init__.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,9 @@
44
from ._hotel_offer_search import HotelOfferSearch
55
from ._hotel_offers_search import HotelOffersSearch
66
from ._activities import Activities
7+
from ._transfer_offers_search import TransferOffersSearch
78

89
__all__ = ['FlightDates', 'FlightDestinations',
910
'HotelOffersSearch', 'HotelOfferSearch',
10-
'FlightOffersSearch', 'Activities']
11+
'FlightOffersSearch', 'Activities',
12+
'TransferOffersSearch']
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
from amadeus.client.decorator import Decorator
2+
3+
4+
class TransferOffersSearch(Decorator, object):
5+
def post(self, body):
6+
'''
7+
Get transfer offers
8+
9+
.. code-block:: python
10+
11+
amadeus.shopping.transfer_offers_search.post(body)
12+
13+
:param body: the parameters to send to the API
14+
15+
:rtype: amadeus.Response
16+
:raises amadeus.ResponseError: if the request could not be completed
17+
'''
18+
return self.client.post('/v1/shopping/transfer-offers', body)

docs/index.rst

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,12 @@ Shopping/Availability
8989
.. autoclass:: amadeus.shopping.availability.FlightAvailabilities
9090
:members: post
9191

92+
Shopping/Transfers
93+
================
94+
95+
.. autoclass:: amadeus.shopping.TransferOffersSearch
96+
:members: post
97+
9298
Travel/Analytics
9399
================
94100

specs/namespaces/test_namespaces.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ def test_expected_paths(client):
6767
assert client.duty_of_care is not None
6868
assert client.duty_of_care.diseases.covid19_report is not None
6969
assert client.airline.destinations is not None
70+
assert client.shopping.transfer_offers_search is not None
7071

7172

7273
def test_expected_get_methods(client):
@@ -543,3 +544,10 @@ def test_airline_destinations_get(client_setup):
543544
client_setup.get.assert_called_with(
544545
'/v1/airline/destinations', a='b'
545546
)
547+
548+
549+
def test_shopping_transfer_offers_search_post(client_setup):
550+
client_setup.shopping.transfer_offers_search.post({'foo': 'bar'})
551+
client_setup.post.assert_called_with(
552+
'/v1/shopping/transfer-offers', {'foo': 'bar'}
553+
)

0 commit comments

Comments
 (0)