All templates

Booking System Database Schema

Booking DB Desc

Use this template

What you get

  • Booking DB Feature1
  • Booking DB Feature2
  • Booking DB Feature3

What this template is for

This booking system database schema gives you a ready-to-edit ER diagram for any appointment, reservation, or scheduling product. It models the entities every booking system needs: a provider offering services, resources (rooms, equipment, staff) that those services use, time slots representing availability on resources, customers, bookings that reserve a slot for a service, and payments against bookings. The key design decision is treating the time slot as a first-class entity so availability and double-booking checks become simple queries. Use it to design a new booking SaaS, document an existing scheduler, or explain how services, resources, and slots fit together.

When to use this template

  • Design a booking SaaS for appointments, classes, or rental products.
  • Model the difference between a Service (what is booked) and a Resource (what gets used).
  • Plan a slot-based availability system that prevents double-booking.
  • Decide how payments attach to bookings and what statuses they need.
  • Document an existing booking system for a new engineer.
  • Explain to stakeholders why a slot table is preferable to ad-hoc time queries.

How to use it

  1. 1Start with Provider — the entity that offers services and owns resources.
  2. 2Add Service (what gets booked) and Resource (what the service uses).
  3. 3Add TimeSlot per resource representing bookable windows of availability.
  4. 4Add Customer for the people making bookings.
  5. 5Add Booking referencing a customer, service, and slot, with a status.
  6. 6Add Payment linked to the booking for paid scheduling.

Quick example

Appointment booking schema

Provider has many Services and many Resources
Resource has many TimeSlots (the bookable availability)
Customer creates Booking → (service_id, slot_id, status)
Booking → Payment (one-to-many for deposits and balances)
Slot status flips to 'booked' when a booking is confirmed

Start editing online

Open the template in CodePic, replace the sample nodes, and turn it into your own study board in a few minutes.

See examples: /templates/booking-system-database-schema/examples

More templates you might like