31 lines
1022 B
Python
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
|