Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

hackroot's avatar

Hotel Management System

Hi i am working on a hotel website where i need to implement a booking system such that when customers book a room, only free rooms will be displayed. Also I want a notification to be sent to an employee/ administrator, when a booking request has been made, so as a user can confirm bookings.

the system will include the follow;

Customer, Employee/User, Room Categories/Types, Rooms, Bookings/Reservations

so anyone can browse the website as a guest but a guest become a customer when they book a room, Also the website will display only available rooms, if a type of room is not available system will give notification

any advice is welcome and i will like to know how I should proceed please, I tried using https://rinvex/laravel-bookings

This is my tables at the moment; Rooms

		'room_id',
        'name',
        'room_type',//Types here are categories//
        'rooms_available',
        'description',
        'status',
        'created_at',
        'updated_at',
        'deleted_at',

Customer

  		'Customer_id',
        'name',
        'email',
        'phone',
        'status',
        'created_at',
        'updated_at',
        'deleted_at',

Booking

  		'room_id',
		'customer'
        'departure_time',
        'arrival_time',
        'is_booking_open',
        'created_at',
        'updated_at',
        'deleted_at',

any step by step details as to how my model, controllers and views should be are welcome. Thanks in advance. God Bless you.
0 likes
9 replies
martinbean's avatar

@hackroot What exactly would a “guest” account contain? Why would you create a record for this?

1 like
hackroot's avatar

yeah thanks i just noticed i might not have a use for a guest account, however i want the customer details to be collected upon succesfully booking a room. Thanks again

martinbean's avatar

@hackroot Well yes, you’d need to create some form of customer record when a room is booked. But you’d do that when processing the booking; not as soon as someone lands on your site.

Like I say, what information would you collect for a “guest” account? You don’t know their name, email address or anything until they’ve entered it.

jlrdw's avatar

Have you searched Github for booking type packages, even if you don't use one you can get some good ideas of how things are done.

jlrdw's avatar

@hackroot I normally don't bother with a tutorial, I see how things were done in code. Say something is used in a controller from a vendor folder, you can always study the vendor code as well to see the why that's used, etc.

But of course if a tutorial helps, that's good too.

Please or to participate in this conversation.