Adds a public booking page to your Perfex CRM. Clients book appointments directly — no account needed. Bookings land in your admin with status management. Staff availability, service types, and confirmation emails included.
What you get
- Public booking page at
/booking - Multiple services with individual durations and prices
- Staff availability management per day/time
- Booking management in admin with status workflow
- Client portal integration — clients see their bookings
- Email confirmations (DE + EN)
- Customizable header/footer links on public page
How it works
- Install module → activate → configure services in admin
- Set staff availability under Booking Service → Staff
- Public URL is live immediately at
/booking - Bookings appear in admin → manage status (pending / confirmed / cancelled)
- Clients see their bookings in the client portal under
/clients/booking
🔑 Licensing — what the buyer must do
After purchase you receive a license key via email. It looks like: a1b2c3d4e5f6…-xxxx-xxxx-xxxxxxxxxxxxxxxx
In Perfex admin go to Booking Service → Settings. At the top you see the License panel. Paste your key and click Activate License.
The module contacts our license server and validates key + domain. One key = one domain. If you move to a new domain, contact support.
After activation the module works fully. The license is checked once every 24h in the background — no internet required for 7 days (grace period).
Technical notes
- Routes auto-injected into
application/config/my_routes.phpon activation - Public page
/bookingworks without license (customers can always book) - Admin area locked if license invalid — Settings page always accessible
- License cache stored encrypted in Perfex DB options table
- Requires
application/config/my_routes.phpto be writable (chmod 664)
Server requirements
- Perfex CRM 3.0 or higher
- PHP 8.0 or higher
- MySQL 5.7+ / MariaDB 10.3+
application/config/my_routes.phpwritable (chmod 664)- Outgoing HTTPS connections to
licenses.perfexmodule.com
If something doesn't work
- Routes 404? → Check
my_routes.phppermissions - Language error? → Copy lang file to
application/language/ - License won't activate? → Check outgoing HTTPS
- License valid but expired? → 7-day grace period. Reconnect to internet and reload.
- Still stuck? → Email support with your domain and order number