Back to Marketplace
Community plugin

Service Bookings

Public appointment scheduling with card holds, right inside your CRM.

Let customers book your services online. Locations, priced services, technicians with weekly hours, a 5-step public wizard, PayPal deposit holds, Stripe card payments, automatic invoices, and self-service reschedule and cancel links. Embeds on any website with one shortcode.

Service Bookings — Public appointment scheduling with card holds, right inside your CRM.

Service Booking turns your CRM into a full online scheduling system. Customers visit a clean, mobile-friendly booking page, pick a location, service, and technician, choose an open time slot, enter their details, and reserve the appointment with a card hold or payment. No customer login required.

**Build your catalog your way.** Create locations (with sub-locations), service categories, and services with fixed or hourly pricing. Set duration, buffer time, per-booking quantity limits, and a deposit rule per service: full price, a fixed amount, or a percentage hold.

**Technicians come from your Employees.** Pick which staff take bookings, assign each one their services and locations, and set weekly working hours. The slot engine only offers times when the chosen technician actually works, respects your minimum notice window, booking horizon, and slot interval, and never double-books around existing appointments and buffers.

**Get paid before you roll a truck.** PayPal authorize-and-capture places a hold on the customer's card at booking time; capture it after the job or void it with one click from the Bookings tab. Stripe card payments (via the CRM's shared Advanced Payments) charge in full at booking. You can also allow pay-in-person. Bookings can automatically create a client and a real CRM invoice, with the payment already applied.

**Hands-off customer service.** Confirmation, reschedule, and cancellation emails are fully templated with merge tags. Every confirmation includes secure tokenized self-service links so customers can reschedule or cancel on their own; card holds are released automatically on cancellation. Staff get notified, and optionally the assigned technician too.

**Run the day from one screen.** The admin gives you tabbed Services, Locations, Technicians, Bookings (capture, void, cancel, edit, delete), a Calendar of upcoming work, email templates, settings, and a full Colors tab: over twenty color and typography controls so the public page matches your brand exactly.

**Put it anywhere.** Use the booking page directly, or drop the `[service-booking]` shortcode on any page built with the Website module. It renders as a responsive iframe that auto-sizes to its content, so it looks native on your site.

Highlights:
- 5-step public wizard: Service, Time, Details, Payment, Done
- Fixed or hourly pricing with minimum hours and quantity support
- Deposit holds: full, fixed amount, or percent per service
- PayPal authorize/capture holds and Stripe full payments
- Automatic client + invoice creation in your CRM
- Tokenized customer reschedule and cancel links with ICS calendar updates
- Technician schedules, buffers, minimum notice, booking horizon
- Complete appearance control: colors, fonts, sizes, corner radius
- Embed anywhere with the [service-booking] shortcode or direct link
- Self-healing schema: installs and upgrades its own tables automatically

1. In your Blackhawk CRM, open the Marketplace and install Service Booking (or upload the module ZIP through the Marketplace uploader).
2. Open Service Booking from the left navigation. The module creates its database tables automatically on first load.
3. Services tab: add at least one category and one service with a price and duration.
4. Locations tab: add at least one location.
5. Technicians tab: your active Employees appear here. For each bookable technician, assign services, locations, and weekly hours. A technician only appears on the public page once all three are set.
6. Settings tab: set your timezone, slot interval, minimum notice, notification email, and payment options. PayPal uses your CRM Billing credentials; Stripe uses the CRM's Advanced Payments (Stripe Connect).
7. Emails tab: review the confirmation, reschedule, and cancellation templates.
8. Colors tab: match the booking page to your brand.
9. Share your booking page, or place the [service-booking] shortcode on any Website module page and republish it.

 

Q: Do customers need an account to book?
A: No. The booking page is fully public. Customers manage their appointment through secure links in their confirmation email.

Q: Is the customer charged when they book?
A: With PayPal, no; an authorization hold reserves the amount and you capture it after the job (or void it). With Stripe, yes; the card is charged in full at booking. You choose which options to offer, including pay-in-person.

Q: Can I charge hourly services?
A: Yes. Set a service to hourly pricing with a rate and minimum hours; the customer picks how many hours they need and the price and time slot adjust automatically.

Q: Can customers reschedule or cancel themselves?
A: Yes. Every confirmation email includes tokenized reschedule and cancel links. Reschedules send an updated calendar invite, and cancellations automatically release any PayPal hold.

Q: Does it create invoices in my CRM?
A: Yes, optionally. Each booking can create the client (matched by email) and a real invoice with the payment or hold already recorded.

Q: Can I put the booking form on my website?
A: Yes. Add the [service-booking] shortcode to any Website module page, or embed the booking URL in an iframe on any external site. The iframe auto-sizes to its content.

Q: Why doesn't my technician show up on the public page?
A: A technician is only bookable once they have at least one service, at least one location, and at least one enabled weekday. Check all three on the Technicians tab, and make sure Bookable is on.

Q: What happens to my data when the module updates?
A: Nothing is lost. The schema is versioned and self-upgrading; updates add what is new and leave your bookings, services, and settings in place.

v3.10.1

## Changelog (3.10.1)
- Stripe card payments via the CRM's shared Advanced Payments (Billing)
- Payment method selector on the confirm step: PayPal, card, or in person
- Booking-to-invoice linking with client auto-creation
- Sub-locations with city and state fields
- Fixes and polish across the wizard and admin

ScreenshotScreenshotScreenshot
Featured Community $49.99
$49.99
Paid plugin
Version3.10.1
Last updatedSep 5, 2026
Requires CRMBlackhawk CRM 3.9 or later, PHP or higher
Requires PHP8.3 or higher
Active installs2
Size52 KB
Seller
Blackhawk CRM