Hotel bookings

hotels, rooms, guests, bookings and payments. 7 tables, 26 columns, no data.

The map

Map of the 7 tables and their linksN1N1N1N1N1N1hotelsPKidbigintnamevarcharcityvarcharroom_typesPKidbigintnamevarcharmax_guestssmallintguestsPKidbigintfull_namevarcharemailvarcharroomsPKidbigintFKhotel_idbigintFKroom_type_idbigintnumbervarcharratesPKidbigintFKroom_type_idbigintnightlynumericvalid_fromdatebookingsPKidbigintFKguest_idbigintFKroom_idbigintcheck_indatecheck_outdatepaymentsPKidbigintFKbooking_idbigintamountnumericpaid_attimestamptz

Each line runs from a linking column (N) to the key it points at (1). The same tables are listed below as text.

The tables

hotels

  • id bigintPK
  • name varchar(200) required
  • city varchar(100) required

room_types

  • id bigintPK
  • name varchar(200) required
  • max_guests smallint required

rooms

  • id bigintPK
  • hotel_id bigint→ hotels required
  • room_type_id bigint→ room_types required
  • number varchar(10) required

guests

  • id bigintPK
  • full_name varchar(200) required
  • email varchar(255)

bookings

  • id bigintPK
  • guest_id bigint→ guests required
  • room_id bigint→ rooms required
  • check_in date required
  • check_out date required

payments

  • id bigintPK
  • booking_id bigint→ bookings required
  • amount numeric(12,2) required
  • paid_at timestamptz required

rates

  • id bigintPK
  • room_type_id bigint→ room_types required
  • nightly numeric(12,2) required
  • valid_from date required

What you could look at in SSDO

Create a free workspace and open this sample   All samples

PK is a primary key. “→ table” is a link (a foreign key) to that table. This page is a description of a structure we wrote; it holds no rows.