import requests from .base_plugin import BasePMSPlugin class BnovoPMS(BasePMSPlugin): def fetch_and_parse(self): response = requests.get( self.pms_config.url, headers={"Authorization": f"Bearer {self.pms_config.token}"} ) if response.status_code != 200: raise ValueError(f"Ошибка запроса к PMS Bnovo: {response.text}") data = response.json() parsed_data = self.parse_data(data) return parsed_data def parse_data(self, data): # Пример разбора данных на основе JSON-маски reservations = [] for item in data["reservations"]: reservation = { "id": item["id"], "room_number": item["roomNumber"], "check_in": item["checkIn"], "check_out": item["checkOut"], "status": item["status"], } reservations.append(reservation) return reservations