From 261d70af530bf65b980d650260faa687746b04f7 Mon Sep 17 00:00:00 2001 From: Kuroshini Date: Wed, 16 Oct 2019 14:11:07 +0300 Subject: [PATCH] Use another GO endpoint --- apps/booking/models/services.py | 12 ++++-------- apps/booking/views.py | 4 +++- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/apps/booking/models/services.py b/apps/booking/models/services.py index a9a7a1af..5f48f15f 100644 --- a/apps/booking/models/services.py +++ b/apps/booking/models/services.py @@ -73,17 +73,13 @@ class GuestonlineService(AbstractBookingService): def get_common_headers(self): return {'X-Token': self.token, 'Content-type': 'application/json', 'Accept': 'application/json'} - def check_whether_booking_available(self, restaurant_id, date: str): - super().check_whether_booking_available(restaurant_id, date) - url = f'{self.url}v1/runtime_services' - params = {'restaurant_id': restaurant_id, 'date': date, 'expands[]': 'table_availabilities'} + def check_whether_booking_available(self, restaurant_id, *args, **kwargs): + url = f'{self.url}v1/periods' + params = {'restaurant_id': restaurant_id, **kwargs} r = requests.get(url, headers=self.get_common_headers(), params=params) if not status.is_success(r.status_code): return False - response = json.loads(r.content)['runtime_services'] - keys_to_preserve = {'left_seats', 'table_availabilities', 'closed', 'start_time', 'end_time', 'last_booking'} - response = map(lambda x: self.get_certain_keys(x, keys_to_preserve), response) - self.response = response + self.response = r.json() return True def commit_booking(self, payload, stripe_token = None): diff --git a/apps/booking/views.py b/apps/booking/views.py index 996389b1..6e850f3b 100644 --- a/apps/booking/views.py +++ b/apps/booking/views.py @@ -30,7 +30,9 @@ class CheckWhetherBookingAvailable(generics.GenericAPIView): service = l_service service.service_id = establishment.lastable_id elif (not establishment.guestonline_id is None) and g_service \ - .check_whether_booking_available(establishment.guestonline_id, date): + .check_whether_booking_available(establishment.guestonline_id, + **g_service.get_certain_keys(request.query_params, + {'date', 'persons'})): is_booking_available = True service = g_service service.service_id = establishment.guestonline_id