Case study

A booking engine that lives inside the CMS

A custom scheduling module built into UlricCMS and shipped for a live practice in a day. Visitors pick a real open time; the booking lands on your calendar with a meeting link and in your CRM as a lead. Two-way sync, busy-times-only privacy, one-click cancel.

ClientBuilt for MycoMuse · a UlricCMS module
Year2026
ScopeScheduling engine · Calendar sync · CRM integration · Anti-spam
Livemycomusecolorado.com ↗
A booking engine that lives inside the CMS
1 dayfrom first line of code to a live booking
0third-party booking subscriptions
2-waycalendar sync that reads busy times only

Booking tools are usually a rented room: another subscription, another tab, another place where leads live apart from everything else you know about a client. When MycoMuse needed a way for people to book a free 15-minute consultation without playing email tag, the studio built scheduling straight into UlricCMS instead.

You connect your Google account once, from your dashboard. The privacy contract is deliberate: the site can see when you are busy, never what you are doing. Your working hours live in the CMS as simple rules, set with dropdowns and a copy-to-weekdays button. The slot engine subtracts your real calendar from those rules, so a dentist appointment on a Tuesday quietly removes Tuesday's conflicting times from your site. Visitors see only what is genuinely bookable, sixty days out.

Picking a time takes one tap. The booking is confirmed instantly: an event lands on your calendar with a video-call link attached, the visitor gets a proper calendar invite, and the same moment writes a lead into your CRM, beside every other inquiry your site has ever taken. Your dashboard shows the upcoming consultations with join and cancel buttons. Saying no takes one click: the guest is politely uninvited, a short note in your voice goes out, and the time reopens on the site by itself.

The unglamorous parts got the most care. Every submission passes an invisible bot check, a honeypot, and a rate limit. The chosen slot is re-verified against a fresh calendar read at the moment of booking, so two visitors racing for the same time cannot both win it, and nobody can book a fabricated or stale slot. If the calendar service is ever unreachable, the page says so honestly instead of promising times it cannot keep.

The module shipped for a live practice in a single day, from first line of code to a real booking on a real calendar. It is now part of the UlricCMS engine, ready for any site that would rather own its booking flow than rent one.

Visitors see only what is genuinely bookable, on any screen
Visitors see only what is genuinely bookable, on any screen
Your calendar, month to day, inside your dashboard
Your calendar, month to day, inside your dashboard
Bookings land in the CRM with join and one-click cancel
Bookings land in the CRM with join and one-click cancel

Common questions

Does this replace Calendly?

For sites on UlricCMS, yes. The module does the useful core, real availability, instant confirmation, calendar invites with a video link, and adds what rented tools cannot: every booking becomes a lead in the same CRM as the rest of the site.

What does it read from the connected calendar?

Busy times only. The site never sees event names, guests, or details, and the connection can be revoked from either side at any moment.

Can bookings be declined?

One click from the dashboard. The guest gets a courteous note and a proper calendar cancellation, and the time instantly reopens on the site.

← All work