Skip to content
Shahid Malla

Booking system development

Custom Booking System Development for Rentals, Classes and Venues

I am Shahid Malla, a freelance full-stack developer who builds booking systems for businesses that rent out equipment, teach lessons and classes, run activities, or take bookings for venues, rooms and shared resources. Custom booking system development with me covers availability and capacity, time slots, deposits and online payment, reminders, cancellation rules and an admin panel your staff run, in a system you own.

Free scoping call of about 30 minutes · written quote within one business day · two weeks of support after delivery

By Shahid Malla, AI agent and AI chat developer, full-stack developer · Updated

What can a custom booking system book?

Anything sold by date or time with limited capacity: a kayak for the afternoon, a place in a class, a court for an hour or a 45-minute appointment. A custom booking system models your own units and rules.

What you bookHow availability is countedA rule you decide
RentalsUnits per day or hour: bikes, skis, cars, toolsTime between a return and the next rental
Lessons and classesPlaces per session, with an instructor and a roomWhether a waitlist fills a canceled place
ActivitiesTime slots with a group size limitThe minimum group for a slot to run
Venues and roomsHourly or full-day rentalSetup and cleaning time around each booking
AppointmentsStaff hours and the length of each serviceWho can be booked for which service
Shared resourcesCourts, desks or studios by the hourHow far ahead one customer may book

Tours, travel packages and hotel rooms follow other rules, such as itineraries and seasonal rates, and have their own page: tour and travel website development.

What does an online booking system for a small business need?

Enough that a customer can choose, pay and get a confirmation without calling you. Most first releases need only part of this list:

  • Availability by date or time slot, counted from real stock, places or staff hours, with cut-off times and blocked dates, correct across daylight saving changes.
  • Deposits or full payment through Stripe or PayPal, in an account in your business name.
  • Reminders by email, and by WhatsApp where customers expect it.
  • Cancellation and rescheduling rules the system applies, such as free changes up to 48 hours before.
  • An admin panel where staff see the day's bookings, block dates, change prices and add phone bookings.
  • Calendar sync with Google Calendar or Outlook, so a staff member's other commitments block their slots.
  • Customer accounts for repeat bookers and booking history.
  • An optional AI assistant that answers questions and hands the chat to a person.

I build booking systems in Laravel, or in Next.js and Node when your team works in JavaScript; this website's own admin runs on Laravel with Filament. Claude Code drafts much of the code, and I review every change before it ships.

Should you use a booking app or a custom booking system?

Use a booking app when your bookings fit its model; many small businesses should start there. Entry points as each pricing page listed them on October 26, 2026:

AppAs listedLimit to check
CalendlyFree plan; Standard at $10 per seat per month, billed yearlyFree allows one event type and one calendar connection; Stripe and PayPal payments start on Standard
Acuity SchedulingStarter at $16 a month billed annually, or $20 monthlyStarter has 1 calendar; Premium allows up to 36
SimplyBook.meFree plan; Basic at €11.90 a month billed annuallyFree includes 50 bookings and 1 provider; Basic, 100 bookings and 5 providers

A custom booking system pays off when your rules do not fit an app:

  • One booking uses several resources at once, such as an instructor, a room and rental gear.
  • Prices depend on season, group size, duration or add-ons, and deposits differ by product.
  • Bookings must sit in your own database, next to your CRM or member records.
  • Per-seat or per-booking fees across many staff and locations would cost more over a few years than a build.

How do deposits and online payments work?

The customer pays a deposit or the full price at booking, and the booking is marked paid only when the provider's signed webhook arrives. Stripe's fulfillment guide warns that customers do not always reach the checkout landing page, so Stripe's checkout.session.completed event or PayPal's PAYMENT.CAPTURE.COMPLETED event confirms the booking.

  • Pay in full at booking. Simplest for classes and short rentals.
  • Deposit now, balance later. A fixed amount or a percentage per product, with the balance sent as a payment link before the date.
  • Hold now, charge later. A card authorization reserves the money without taking it. Stripe says an online card hold typically lasts 7 days; PayPal says an authorization is valid for 29 days, with a 3-day honor period for capture. A hold suits a rental this week, not a venue booked months ahead.

Amounts are stored in cents with a currency code, so a deposit and its balance always add up to the price. Card numbers stay with Stripe or PayPal, never on your server.

How do you prevent double bookings?

By holding the slot the moment checkout starts and releasing it if payment does not finish. The capacity check and the hold run in one database transaction, so two customers who click the last place at the same second cannot both get it.

Stripe lets a Checkout Session expire between 30 minutes and 24 hours after it is created and sends a checkout.session.expired event when it does, which returns the place to the calendar. Stripe's webhook documentation also says an endpoint may receive the same event more than once, so each event ID is processed once.

Can reminders go out by email and WhatsApp?

Yes. Email confirmations and reminders come with every build. WhatsApp reminders go through Meta's official WhatsApp Cloud API. Meta's pricing documentation says that outside the 24-hour customer service window a business can only send template messages, and a template must be approved before it is sent, so each reminder is submitted as a template first.

An AI assistant can answer common questions, collect the date and group size, and pass the chat to a person; it should not confirm availability it cannot see. Disclosure: MagizAI, an AI chatbot and live chat for websites and WhatsApp, is my own product, and I am its founder and CEO. An assistant that reads live availability is a custom build under AI chatbot development.

Which booking projects have I built?

Each name opens a case study, so you can judge me as a booking website developer before a call. None is a studio class timetable; the closest match for lessons and rentals is Kohwan.

ProjectWhat it isBooking feature
KohwanSki and tour booking website, Gulmarg, KashmirSki school, lift passes and ski and snowboard rentals added to a trip; pay online with instant confirmation, or reserve and settle later; customer accounts
Hôtel Spa Le SuisseLaravel website for a boutique spa hotel in QuebecThe thermal experience with its daily time blocks, massage therapy by session length and type, and add-on packages with a stay
Hotel Green KarnatakaHotel website, SrinagarRoom pages with amenities, a Book Now path and an offer banner with a countdown
Kashmir Car Rental 24x7A single booking landing page for a car rental service, no longer onlineFleet list with seats and transmission, and a booking request form
Lake View Kashmir EventsWebsite for a wedding and event companyA Book Your Event button on six service pages, and a Plan an Event request form

My Kashmir tour booking platforms, with search by destination, dates and travelers, are on the tour and travel page.

Who owns the system, the data and the payment account?

You do. The domain, hosting and Stripe, PayPal or WhatsApp Business accounts are opened in your business name, the repository moves to your Git account at handover, and booking data sits in your own database. The quote states who holds the rights to the custom code. I do not add "only 2 left" notices that are not tied to real availability.

What does custom booking system development cost?

A fixed quote for a written scope, or $55 to $65 per hour, after a free scoping call of about 30 minutes. There are no packages. The price moves with how many kinds of things are booked, the pricing and cancellation rules, the payment model, and connections to calendars, WhatsApp or a CRM.

Hosting and Stripe or PayPal fees are billed to you by those companies. The written quote with a delivery date arrives within one business day, and two weeks of support follow delivery. I work on India Standard Time and arrange overlap hours for clients in the US, UK, Canada, Australia and Europe. The full terms are on how I work.

Who this is for

  • Rental businesses that track bikes, boats, gear or vehicles in a spreadsheet and confirm by phone
  • Schools, studios and instructors selling lessons and classes with a fixed number of places
  • Activity operators and venues that sell time slots, sessions or full-day rentals
  • Clinics, salons and consultants whose booking app cannot follow their rules for deposits, staff or rooms
  • Businesses that have outgrown a booking app's limits on calendars, staff or locations

What is included

  • A written scope: what is booked, how capacity and prices work, the deposit and cancellation rules, and what waits for a later phase
  • Availability by date or time slot, with capacity per class, item, room or staff member, and no double booking
  • Deposits or full payment through Stripe or PayPal, confirmed by the provider's signed webhook
  • Email confirmations and reminders, plus WhatsApp reminders through Meta-approved templates if you need them
  • Cancellation, rescheduling and refund rules applied by the system
  • An admin panel where staff see the day's bookings, block dates, change prices and add phone bookings
  • Calendar sync with Google Calendar or Outlook, and customer accounts for repeat bookers
  • Every login, the repository, written notes, a training call and two weeks of support

How the work runs

  1. 1

    Scoping call

    A free call of about 30 minutes. I ask what you book, how availability and prices work, and what happens when someone cancels. A written scope and quote follow within one business day.

  2. 2

    Write the rules

    Capacity, time slots, deposits, cancellation windows and reminders are written down as rules with worked examples. You approve them before any screen is built.

  3. 3

    Build in staging

    I build on a private staging copy that you open on your own phone. Claude Code drafts much of the code, I review every change, and a short progress note reaches you every working day.

  4. 4

    Test the hard cases

    Two customers for the last place, a failed card, an expired checkout, a refund and a late cancellation, all run in the payment provider's test mode.

  5. 5

    Launch

    Your services, prices and staff hours go in through the admin panel, the domain points to the system, and I make one real booking from a phone on mobile data.

  6. 6

    Handover

    You receive every login, the repository, written notes and a training call. Two weeks of support cover defects in the delivered scope.

Frequently asked questions

How much does custom booking system development cost?

I quote a fixed price for a written scope after a free scoping call of about 30 minutes, or bill $55 to $65 per hour. There are no packages. The price follows how many kinds of things you book, the pricing and cancellation rules, the payment model and the connections to calendars, WhatsApp or a CRM. Hosting and Stripe or PayPal fees are billed to you by those providers. The written quote arrives within one business day.

Is a booking app like Calendly or Acuity enough for my business?

Often, yes. If you sell appointments of a fixed length at one price each, across a few staff calendars, a booking app costs less than a build. On October 26, 2026, Calendly's pricing page listed a free plan with one event type and one calendar connection, and Acuity Scheduling listed plans from 1 calendar up to 36. A custom system pays off when one booking needs several resources, prices change with season or group size, or the bookings must sit in your own database. I tell you which fits on the scoping call.

Can customers pay a deposit now and the balance later?

Yes. The deposit is a fixed amount or a percentage per product, taken through Stripe or PayPal, and the balance goes out as a payment link before the booked date. For bookings a few days away, a card hold is another option: Stripe says an online card hold typically lasts 7 days, and PayPal says an authorization is valid for 29 days, with a 3-day honor period for capture. The booking is marked paid only when the provider's signed webhook arrives.

Can you build a class and lesson booking system with waitlists and class packs?

Yes. Each class has a place count, an instructor and a room, and the system stops selling when it is full. A waitlist can offer a freed place to the next person by email, and class packs can be sold and used up one booking at a time. The closest project in my portfolio is Kohwan, whose ski school runs from a first lesson to private coaching and a kids' program, sold with a trip. My portfolio has no studio class timetable yet, and I say so before you sign.

Can you build a rental booking system for equipment or vehicles?

Yes. A rental booking system counts units per day or hour, blocks the time a returned item needs before it goes out again, and can take a deposit at booking. On Kohwan, ski and snowboard sets, boots and clothing are rented with the booking. The Kashmir Car Rental 24x7 landing page, which is no longer online, listed the fleet with seats and transmission for each vehicle and ended in a booking request form.

Do you work with businesses in the US, UK, Canada, Australia and Europe?

Yes, remotely. I work on India Standard Time (UTC+5:30) and arrange overlap hours for your time zone, and a short progress note reaches you every working day, so you do not need to be online when I am. Bookings are stored and shown in your business's own time zone. My portfolio includes a Laravel website for Hôtel Spa Le Suisse in Quebec, Canada.

Related services