from datetime import datetime from models.client import Client class Appointment: def __init__(self, client: Client, date: str, hour: str): self._client = client self._date: datetime = datetime.strptime(date, '%Y-%m-%d') self._hour: datetime = datetime.strptime(hour, '%H:%M') def get_formatted_date(self) -> str: return self._date.strftime('%Y%m%d') def get_formatted_hour(self) -> str: return self._hour.strftime('%H:%M') def get_client_id(self): return self._client.get_identification() def get_client_name(self): return self._client.get_name() def get_client_last_name(self): return self._client.get_last_name() def to_dict(self) -> dict: return { 'client': self._client.to_dict(), 'date': self._date.strftime('%Y-%m-%d'), 'hour': self._hour.strftime('%H:%M') } @classmethod def from_dict(cls, data: dict): return cls(Client(**data['client']), data['date'], data['hour']) def __repr__(self): return f"Appointment: client ({self._client}); date ({self._date}); hour ({self._hour})."