About this software
About BookPoint
BookPoint runs the whole studio from one codebase and one MySQL database, in English and Arabic. Three user-facing sides share the same deployment: an owner and manager app for calendar, bookings, services, staff, clients, payments, reminders, reports and settings, a staff portal where each therapist sees their day, their clients and their earnings, and client pages where customers book online, pay a deposit by card, manage or cancel a visit, buy packages and gift cards, join a waitlist and leave a review. One install serves any number of businesses, each with its own staff, services, clients and public booking page, isolated by a tenant scope on every record and roles enforced on the server for every route. The platform handles real-time availability with buffers, rooms and working hours, deposit rules per service with slot holds and declined-card retries, VAT invoices with the TRN, refunds and store credit, coupons applied at checkout, automatic waitlist offers, scheduled WhatsApp, SMS and email reminders, a REST API with webhooks, and an embeddable "Book now" button for any website. Built with Laravel 13, PHP 8.3 and MySQL 8 with no build step, and delivered with a Docker stack, schema and demo data, setup guides for VPS, Docker and cPanel, and 60 automated tests.
Why BookPoint
What makes it better
than the alternatives
- 01
Deposit-backed online booking with real availability
Deposit-backed online booking with real availability
- 02
One install, any number of businesses
One install, any number of businesses
- 03
One install, any number of businesses
One install, any number of businesses
- 04
English and Arabic with right-to-left on every screen
English and Arabic with right-to-left on every screen
- 05
Reminders, coupons and waitlist offers run themselves
Reminders, coupons and waitlist offers run themselves
Owner & Manager App
- Live dashboard with today's bookings
- deposits collected
- who is on the floor and an attention list
- Day and week calendar with one lane per staff member
- breaks
- blocked time and approved leave
- New booking in seconds for walk-ins and phone calls with client name and phone so same-name clients stay apart
- Booking drawer with arrive
- approve
- mark completed
- no-show
- resend deposit link
- reschedule
- book again and cancel with the policy applied
- Services with categories
- duration
- buffers
- add-ons
- deposit rules
- rooms and intake questions
- Staff with working hours
- shifts
- services offered
- time-off approval and email invites
- Clients with visits
- spend
- favourite therapist
- notes
- tags
- saved card
- packages
- credit and CSV export
- Reports with revenue by week
- average booking value
- no-show rate
- rebooking within six weeks
- top services
- staff utilisation and busiest hours for 7
- 30
- 90 or 365 days with CSV download
- Activity log of every change with who did it and when
Client Booking Pages
- Five-step booking wizard with service
- specialist or anyone available
- real free slots
- details and card payment
- Deposits as percentage
- fixed
- full or pay at the studio with the slot held during payment and a retry page after a declined card
- Coupon code at checkout with discount shown on the summary and receipt
- Studio page with treatments
- team
- reviews
- opening hours
- parking and directions
- Group classes with seat booking
- Shop for packages and gift cards
- Sign-in by one-time code to the phone
- My bookings with change
- cancel
- add to calendar (ICS)
- receipt and review
- Waitlist join and leave
- Video-call link for online services with pre-visit photo upload
- Embeddable "Book now" button for any website
- Arabic and English switch
Staff Portal
- My day with the next client highlighted and one-tap done or no-show with confirmation
- My week
- My clients with notes for the next visit
- My earnings with commission and tips by month
- Availability changes and time-off requests sent to the owner for approval
Payments & Money
- Deposits
- balances and no-show fees recorded per booking
- Card
- Apple Pay and buy-now-pay-later through one gateway connector (simulated in the demo)
- Invoices with VAT and TRN numbered per business
- Receipts and manual invoices
- Refunds to card
- store credit or cash with reason
- Release of unpaid bookings after the hold
- Packages and memberships with visit counts and expiry
- Gift cards
- Coupons with new-client-only and one-per-client rules
- Cancellation policy with free window
- late fee and card on file
Reminders & Messages
- Editable templates for confirmation
- 24 hours before
- 2 hours before
- thank-you with review link and time-to-rebook
- Per-channel sending by email
- WhatsApp or SMS from the scheduler once per booking
- One inbox per client with every message and quick replies
- Team alerts for new online bookings
- unpaid deposits
- waitlist and time-off
- Daily schedule email to each staff member at 8:00
- In-app notifications for the owner
Reviews & Waitlist
- Reviews collected after the visit with reply from the app and display on the studio page
- Waitlist by day and service with automatic offer and 30-minute hold when a slot frees up
- Admin waitlist entry and one-click booking from the waitlist
Multi-Business & Setup
- Self-service sign-up with a setup wizard for address
- hours
- first services
- team and deposit rule
- Locations
- rooms and equipment linked to services so two bookings never need the same room
- Intake forms with signature and per-service questions
- Client import from CSV and export of clients
- bookings and payments
- Brand colour
- welcome text and booking-page settings
- License page with credits
Security & Access
- Roles owner
- admin
- manager and staff enforced on the server for every page and action
- Sign-in that keeps the owner app and staff portal apart
- Tenant isolation so one business can never read another's data
- Bcrypt passwords
- rate-limited sign-in
- codes and booking
- CSRF on every form
- long random tokens for client links
- encrypted API keys
- client notes and intake answers
- Full audit trail
Integrations & API
- REST API with per-business keys and bookings by date and status
- Webhooks for booking created
- updated
- cancelled
- payment succeeded and refunded
- Connectors for payment gateway (Stripe
- Checkout.com
- Network International)
- WhatsApp and SMS (Twilio
- WhatsApp Business API)
- any SMTP email and Jitsi Meet video
- Scheduler commands for reminders
- unpaid release and daily schedule from one cron entry
Localisation & Region
- English and Arabic with right-to-left on all pages
- AED default with SAR
- QAR and USD
- 5% UAE VAT with TRN on invoices
- Dubai
- Riyadh and Qatar time zones
Technical
- Laravel 13
- PHP 8.3
- MySQL 8
- no npm or build step
- 44 tables from migrations or schema.sql with demo seed data
- 60 automated tests covering roles
- isolation
- booking rules
- payments
- API and database access rules
- Docker Compose
- Nginx and cPanel setup guides
- CLAUDE.md for AI coding tools
| Language | Version | Framework | Used for | Share of code |
|---|---|---|---|---|
| PHP | — | — | Web, API | 51.4% |
| HTML | — | — | Front-end | 23.9% |
| JavaScript | — | — | Front-end | 14.7% |
| CSS | — | — | Styling | 5.3% |
| SQL | — | — | Database | 4.4% |
| Shell | — | — | Scripts | 0.4% |
- Primary language
- PHP 8.x
- Framework
- Laravel
- Database
- MySQL 8.0
- Authentication
- Email+Password
- Licence
- Single-site
- Screens
- 15
- Database tables
- 8
- Supported languages
- English, Arabic
- Browser support
- Chrome 110+, Safari 16+, Edge 110+, Firefox 115+
| Minimum | Recommended | |
|---|---|---|
| CPU | 2 vCPU | 4 vCPU |
| RAM | 4 GB | 8 GB |
| OS | Ubuntu | Ubuntu |
| Est. monthly hosting | $20 | $20 |
sudo apt update && sudo apt install -y apache2 mysql-server php php-mysql php-curl php-mbstring php-xml php-zip # Upload project to /var/www/html/ # Create MySQL database and import the provided .sql file sudo systemctl restart apache2 # Windows Server (IIS) # Install IIS + CGI/FastCGI + PHP 8.x + MySQL # Upload project to C:\inetpub\wwwroot\ # Create MySQL database and import the provided .sql file # Configure PHP through IIS FastCGI and update the application's database configuration iisreset
Quality report
Manually reviewedHow to read the quality report
What this is. Every project on Vibe96 goes through an automated audit of its source code before a reviewer in Dubai checks it by hand. The score is out of 100; 75 is the minimum to be listed, and any single failing check blocks a listing regardless of the score.
- Security
- No real credentials in the code, every data-changing route protected, admin areas role-gated, no SQL built from user input.
- Code structure
- A developer can navigate and extend it: clear module boundaries, no giant files, little copy-paste.
- Docs & completeness
- The setup guide, example config, schema and required files the builder committed to are actually in the archive.
- Dependency health
- Packages pinned, no known critical vulnerabilities, no abandoned libraries in production paths.
- Build & deploy
- A clean machine can restore, build and start it by following the shipped instructions.
Warnings are problems that didn't block the listing; they stay visible here until a later version clears them. The audit reads the code — it does not run it — so always try the live demo before you buy. Lines of code are counted from the same audited archive.
Reviewer notes (3 minor)
Weak demo credentials and placeholder secrets in documentation; moderate code duplication and some oversized files; structure generally sound; database access rules: solid tenant scoping, minor schema gaps (missing indexes on fks). None of these stop the software from working; the developer has been told and improvements come in a future update.
Versions & updates
Release historyCurrent version
Updates in the last 90 days
Buyers
Updates included
-
1.1.0 Version Current23 Oct 2026 ✓ Reviewed & audited
- Payment settings from admin and new bug fixes.
-
1.0.0 First release 4 Oct 2026 ✓ Reviewed & audited
How updates work: versions add features and go through the full AI audit and human review. Patches are small fixes, audited and checked by a reviewer before release. Buyers get every update free for 1 year and are emailed the how-to-apply steps.
What you get
- </>Full source codeThe complete audited source, delivered as a download from your account. No obfuscation.
- ▤DocumentationSetup guide, architecture notes, CLAUDE.md and AGENTS.md.
- ↻One year of updatesEvery new version the builder publishes, free for 12 months.
- ♧30 days of supportInstallation and defect support through Vibe96 tickets.