This class diagram visualizes a restaurant management system. The receptionist creates a reservation, linking each reservation to a specific table. The customer places an order with the waiter based on menu items in the menu. The waiter delivers the order to the kitchen where the chef prepares the order.  In the end, the customer receives the bill.

Edit this diagram in Gleek

Restaurant management diagram code in Gleek

Reservation
reservationID: int
reservationTime: int
numberOfPeope: int
cancelReservation()
changeReservationTime()
Table
tableID: int
status: TableStatus
maxCapacity: int
addReservation()
Order
orderID: int
status: OrderStatus
addMenuItem()
removeMenuItem()
Customer
name: string
contactNumber: int
customerID: int
checkIn()
checkOut()
lastVisited()
cancelOrder()
modifyOrder()
Bill
billID: int
customerID: int
paymentType: string
pay()
cancelPayment()
Menu
menuID: int
menuItem
MenuItem
menuItemID: int
title: string
description: string
price: int
updatePrice()
Chef
takeOrder()
Waiter
createOrder()
Receptionist
createReservation()

Waiter-takes->Order
Chef-prepares->Order
Customer-makes->Order
Receptionist-creates->Reservation
Order{1}–{1}Bill
Order{*}–{1}Table
MenuItem{*}–{1}Order
Menu{1}–{*}MenuItem
Reservation{*}-for-{*}Table

About class diagrams

Class diagrams are used in software engineering to describe the structure of a system. A class diagram uses Unified Modeling Language (UML) to show the classes, attributes, methods (or operations), and their relationships to each other in the system. Class diagrams prove valuable in object-oriented modeling. Class diagrams can be used to model the data structure or to design a system in detail.

Similar class diagram examples

Library management system class diagram

Online shopping system class diagram

ATM system class diagram

Order processing system class diagram

Animal inheritance class diagram