Database schema for hotel management system

Designing a database schema for a hotel management system involves capturing information related to rooms, reservations, guests, staff, services, and other relevant entities. Below is a basic example of a database schema for a hotel management system.


  1. Guest:

    • GuestID (Primary Key)
    • FirstName
    • LastName
    • Address
    • PhoneNumber
    • Email
  2. Reservation:

    • ReservationID (Primary Key)
    • GuestID (Foreign Key referencing Guest table)
    • CheckInDate
    • CheckOutDate
    • NumberOfAdults
    • NumberOfChildren
    • RoomID (Foreign Key referencing Room table)
    • ReservationStatus (e.g., booked, checked-in, checked-out, canceled)
  3. Room:

    • RoomID (Primary Key)
    • RoomNumber
    • RoomType
    • RoomRate
    • IsOccupied
  4. Staff:

    • StaffID (Primary Key)
    • FirstName
    • LastName
    • Position
    • PhoneNumber
    • Email
  5. Service:

    • ServiceID (Primary Key)
    • ServiceName
    • ServiceDescription
    • ServiceCharge
  6. RoomServiceOrder:

    • OrderID (Primary Key)
    • GuestID (Foreign Key referencing Guest table)
    • ServiceID (Foreign Key referencing Service table)
    • OrderDate
    • OrderStatus (e.g., pending, delivered)
  7. Payment:

    • PaymentID (Primary Key)
    • GuestID (Foreign Key referencing Guest table)
    • ReservationID (Foreign Key referencing Reservation table)
    • PaymentDate
    • Amount
    • PaymentMethod

This schema covers the basic entities needed for a hotel management system. Here are some explanations:

  • Guests have personal information stored, and each guest is associated with one or more reservations.
  • Reservations capture information about guest stays, including check-in and check-out dates, room information, and reservation status.
  • Rooms represent the available accommodations, with details such as room number, type, rate, and occupancy status.
  • Staff members have their details recorded, including their position in the hotel.
  • Services offered by the hotel are defined, and guests can place room service orders for these services.
  • Payments are associated with guest stays and capture details like the payment date, amount, and payment method.

Depending on the specific requirements of your hotel management system, you may need to expand or modify this schema. Consider additional features such as room categorization, housekeeping logs, loyalty programs, or any other information relevant to your hotel management platform. Additionally, ensure that your system adheres to any regulatory requirements for the hospitality industry.