Bookings gives your CRM a clean, professional meeting scheduler, the kind clients expect, without another monthly subscription. Share a booking link, or embed the page on your website, and clients pick an open time that respects your real availability. They get a confirmation email with a calendar invite; you get the meeting on your Bookings calendar.
Meeting types for every kind of call. Create as many as you need: a 15-minute intro call, a 30-minute video consult, a 60-minute on-site visit. Each type has its own duration, buffer time, description, booking link, and location: a video meeting URL, a phone number, or a physical address, delivered to the client automatically in their confirmation.
Availability that reflects reality. Set your weekly hours with multiple windows per day (mornings and afternoons around a lunch break, for example). The slot engine layers on your minimum notice window, booking horizon, slot interval, and per-type buffers, and never offers a time that collides with an existing booking.
Calendar invites that actually update. Confirmations carry a proper ICS invite. When a meeting is rescheduled, by you or by the client, the update goes out as a true calendar update (ICS METHOD:REQUEST with sequence numbers), so the event moves in the client's calendar instead of piling up duplicates. Cancellations notify everyone and release the slot.
Nobody forgets the meeting. Automatic email reminders go out at 4 hours, 1 hour, and 30 minutes before the start, each individually toggleable. Reminders run on the CRM's built-in scheduler; there is no separate crontab line to configure.
Clients help themselves. Every confirmation includes secure tokenized reschedule and cancel links, so time changes stop being an email thread. Staff can do everything too: manually add bookings, edit, reschedule, cancel, and resend confirmations from the admin.
See your week at a glance. Day, week, and month calendar views show every booking, alongside a management list. Staff can be assigned per meeting type, so the right people are attached to the right calls.
Lives on your website. Every meeting type has a public page and an embeddable version. Drop the [booking slug="intro-call"] shortcode on a Website module page, or use the copy-paste iframe snippet anywhere. The embed auto-sizes its height, so it looks native on your site.
On brand. Appearance settings control the background, card, text, heading, and accent colors plus the font, so the booking page matches your site.
Highlights:
Unlimited meeting types with duration, buffer, and video/phone/in-person location
Weekly availability with multiple windows per day
Slot engine with minimum notice, booking horizon, interval, and conflict checks
Confirmation emails with ICS calendar invites
True calendar updates on reschedule (METHOD:REQUEST with sequence numbers)
Automatic 4-hour, 1-hour, and 30-minute reminders on the built-in scheduler
Tokenized client self-service reschedule and cancel links
Staff tools: manual add, edit, reschedule, cancel, resend confirmation
Day, week, and month calendar views
Embed anywhere: [booking] shortcode or auto-height iframe snippet
Appearance controls to match your brand
Self-healing schema: installs and upgrades its own tables automatically
In your Blackhawk CRM, open the Marketplace and install Bookings (or upload the module ZIP through the Marketplace uploader).
Open Bookings from the left navigation. The module creates its tables automatically and seeds a Monday-Friday 9-to-5 availability you can change.
Create your first meeting type: title, duration, buffer, and the location (video link, phone number, or address).
Set your weekly availability, adding extra windows per day if your schedule is split.
Review Settings: timezone, slot interval, minimum notice, and how far out clients can book. Reminders are on by default and run on the CRM's built-in cron; make sure the CRM scheduler is running.
Adjust Appearance colors and font to match your brand.
Share the meeting type's booking link, or embed it: place [booking slug="your-slug"] on a Website module page, or paste the iframe snippet into any external site.
Requires: Blackhawk CRM 3.9 or later, PHP 8.1 or later. Email sending uses your CRM's configured mailer.
Q: Do clients need a login to book?
A: No. Booking pages are fully public. Clients manage their meeting through secure links in their confirmation email.
Q: How is this different from the Service Booking module?
A: Bookings is for meetings: intro calls, consults, video or phone appointments, with no payments involved. Service Booking is for priced field services with multiple technicians, deposits, and card holds. Many CRMs run both.
Q: Will rescheduled meetings duplicate in the client's calendar?
A: No. Reschedules send a genuine calendar update (ICS METHOD:REQUEST with an incremented sequence number), so the existing event moves in place in Outlook, Google Calendar, and Apple Calendar.
Q: Do reminders need a crontab entry?
A: No. Reminders register with the CRM's built-in scheduler and fire automatically as long as the CRM cron is running. A manual trigger endpoint also exists for legacy setups.
Q: Can I offer different kinds of meetings?
A: Yes. Each meeting type has its own duration, buffer, description, location, booking link, assigned staff, and can be switched on or off independently.
Q: Can I split my availability around lunch?
A: Yes. Each weekday supports multiple availability windows, for example 9:00-12:00 and 1:00-5:00.
Q: Can I put the booking page on my website?
A: Yes. Use the [booking slug="..."] shortcode on a Website module page or the copy-paste iframe snippet on any external site. The embed automatically resizes its height to fit its content.
Q: What happens when a client cancels?
A: The slot opens up immediately, and notification emails go out. Staff can also cancel, edit, or reschedule any booking from the admin, with the client kept informed automatically.
v1.7.4
Reschedule for clients and staff with true ICS calendar updates (METHOD:REQUEST, sequence numbers)
Day, week, and month calendar views with path-based routing
Cancel notifications and admin resend-confirmation
Iframe embed auto-height fix
Tabbed admin polish and fixes


