Room:
Id
Number
Type (single, double, suite etc.)
Price
IsAvailable
Booking:
Id
GuestId - fk to ApplicationUser
RoomId - fk to Room
CheckinDate
CheckoutDate
State (confirmed, declined, processing, canceled etc.)
Reason (for declined reservations)
ApplicationUser - custom identity user
FirstName
LastName
Email
Facilities:
Id
Name
Description
Reviews:
Id
BookingId - fk to Booking
Date
Description
Rating
AdditionalServices:
Id
Name
Description
Price
General:
Room:
List all available rooms & their facilities.
Search based on type and availability
Reserve - requires auth
Reviews:
List all reviews
Client:
Room list:
all the above + add a reservation for a date (Requires auth)
Booking list:
see all current and previous reservations
update status (cancel active ones)
Reviews:
add review after booking is complete
Employee:
Room list:
all the above + create and edit room facilities
Booking list:
List all reservations - can confirm/decline active reservations