-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathRoomServiceController.py
More file actions
64 lines (55 loc) · 2.36 KB
/
RoomServiceController.py
File metadata and controls
64 lines (55 loc) · 2.36 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
from RoomService import RoomService
# File: room_service_controller.py
# Prologue Comment
# File: room_service_controller.py
# Description: This file contains the implementation of the RoomServiceController class,
# which manages room service requests made by guests. It includes methods
# for creating requests, assigning staff, and updating request statuses.
# Author: Raul Herrera
# Date: 2024-11-22
from RoomService import RoomService
class RoomServiceController:
def __init__(self):
self.service_requests = [] # List to store all room service requests
def create_service_request(self, service_id, guest_id, service_type, price):
new_request = RoomService(
service_id=service_id,
guest_id=guest_id,
service_type=service_type,
price=price
)
self.service_requests.append(new_request)
print(f"Room service request {service_id} created for Guest {guest_id}.")
return new_request
def _find_service_request(self, service_id):
for request in self.service_requests:
if request.service_id == service_id:
return request
return None
def assign_staff(self, service_id, staff_id):
service_request = self._find_service_request(service_id)
if service_request:
print(f"Service Request {service_id} assigned to Staff {staff_id}.")
else:
print(f"Service Request {service_id} not found.")
def update_status(self, service_id, new_status):
service_request = self._find_service_request(service_id)
if service_request:
service_request.update_status(new_status)
else:
print(f"Service Request {service_id} not found.")
def get_service_details(self, service_id):
service_request = self._find_service_request(service_id)
if service_request:
details = service_request.get_service_details()
print(
f"Service ID: {details['service_id']}\n"
f"Guest ID: {details['guest_id']}\n"
f"Service Type: {details['service_type']}\n"
f"Price: ${details['price']:.2f}\n"
f"Status: {details['status']}"
)
return details
else:
print(f"Service Request {service_id} not found.")
return None