Przejdź do treści

Klasa Room

Klasa Room reprezentuje pokój hotelowy dostępny do rezerwacji.

Zawiera dane dotyczące numeru pokoju, jego typu (np. single, double), ceny za noc oraz maksymalnej liczby gości.
Może być wykorzystywana przy tworzeniu rezerwacji i filtrowaniu dostępnych opcji noclegu.


Dokumentacja techniczna

Reprezentuje pokój hotelowy.

Atrybuty

number (str): Numer pokoju. room_type (str): Typ pokoju (np. single, double, suite). price_per_night (float): Cena za jedną noc. capacity (int): Maksymalna liczba gości w pokoju.

Inicjalizuje obiekt Room.

Source code in models/room.py
def __init__(self, number: str, room_type: str, price_per_night: float, capacity: int):
    """Inicjalizuje obiekt Room."""
    if not number or not isinstance(number, str):
        raise ValueError("Numer pokoju nie może być pusty.")
    if not room_type or not isinstance(room_type, str):
        raise ValueError("Typ pokoju nie może być pusty.")
    if not isinstance(price_per_night, (int, float)) or price_per_night <= 0:
        raise ValueError("Cena za noc musi być liczbą dodatnią.")
    if not isinstance(capacity, int) or capacity <= 0:
        raise ValueError("Pojemność pokoju musi być liczbą całkowitą większą od zera.")

    self.number: str = number
    self.room_type: str = room_type
    self.price_per_night: float = float(price_per_night)
    self.capacity: int = capacity

get_details()

Zwraca szczegóły pokoju.

Zwraca

Dict[str, Any]: Słownik z numerem, typem, ceną i pojemnością pokoju.

Source code in models/room.py
def get_details(self) -> Dict[str, Any]:
    """Zwraca szczegóły pokoju.

    Zwraca:
        Dict[str, Any]: Słownik z numerem, typem, ceną i pojemnością pokoju.
    """
    return {
        "numer": self.number,
        "typ_pokoju": self.room_type,
        "cena_za_noc": self.price_per_night,
        "pojemnosc": self.capacity,
    }

Przykład użycia

1
2
3
4
5
6
7
8
from models.room import Room

pokoj = Room("101", "double", 200.0, 2)

print(pokoj.number)      
print(pokoj.room_type)   
print(pokoj.price_per_night)
print(pokoj.capacity)