Files
Touchh/pms_integration/plugins/bnovo_pms.py

31 lines
1022 B
Python

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