Using Online Booking
Share a hosted booking page so customers can request appointments themselves — pick a service, choose a technician, and lock in a time slot from your live calendar.
Using Online Booking
Online booking gives you a public web page where customers can request an appointment without calling. They enter their contact details, pick the kind of work they need, choose a technician (or “any available”), and lock in a time slot that’s actually open on your calendar. The request lands in your Requests queue, ready to confirm.
It’s the same scheduling engine AI Dispatch uses — operating hours, specialties, and per-technician availability all factor in — but the customer drives it themselves from a link.
What it does for you:
- Provides a hosted booking page at your own short URL
- Walks customers through contact info, service type, technician, and time selection
- Only shows time slots that are actually available based on your calendar and operating hours
- Creates a request in your queue with everything you need to confirm and dispatch
- Works on phones, tablets, and desktop — no app install required
- Can be embedded in your own website (see Embedding the Booking Page)
How It Works
Every organization gets a hosted booking page at https://korfield.pro/book/your-slug. You pick the slug. Customers visit the page, complete a short multi-step flow, and submit. The request appears in your queue with all the details attached.
The booking flow has four steps:
- Your info — name, email or phone (one is required), service address, and a short description of the problem.
- Service — the type of work (Plumbing, HVAC, Electrical, etc.).
- Technician — a specific technician or Any available.
- Time — a date picker plus a list of open one-hour slots based on your calendar.
A draft is saved after step 1, so if the customer drops off and comes back later from the same device, they pick up where they left off.
Setting Up Your Booking URL
You need to pick a slug before customers can book.
Step 1: Open Online Booking Settings
- Open the KorField Pro web dashboard.
- Tap My Organization in the side menu.
- Find the Online booking card.
- Tap Set URL (or Change URL if one is already set).
Step 2: Pick a Slug
The slug is the part of the URL that identifies your business — for example, acme-plumbing makes your booking URL https://korfield.pro/book/acme-plumbing.
- Type your preferred slug in the Slug field. We’ll check availability as you type.
- Use lowercase letters, numbers, and hyphens only — 3 to 48 characters.
- Once you see the green Available check, tap Save changes.
A few tips:
- Use your business name —
acme-plumbing,smith-hvac,quick-fix-electric. Short and recognizable. - Avoid generic slugs —
plumber-123is harder to remember and looks less trustworthy. - Pick something you’ll stick with — changing the slug breaks any existing links to your old URL.
Step 3: Share the URL
Once your slug is set, the Online booking card on My Organization shows the full URL. Share it anywhere customers might want to book:
- Add it to your website’s “Book Now” or “Schedule Service” button
- Include it in your email signature
- Put it on business cards, invoices, and door hangers
- Post it on your Google Business Profile and social pages
- Send it in text replies when customers ask about availability
What Customers Experience
The booking page is mobile-first and works in any modern browser. Here’s the flow:
Step 1 — Your Info
Customer enters:
- Name (required)
- Email or phone (at least one — both is better)
- Service address (optional — encourages providing it so you can dispatch correctly)
- Description of the problem (required)
Step 2 — Service
Customer picks the type of work from your available specialties — Plumbing, HVAC, Electrical, Appliance Repair, Carpentry, Roofing, Painting, Landscaping, Pest Control, Cleaning, or General.
The list shows whichever specialties your technicians are configured for, so customers can’t pick a service you don’t offer.
Step 3 — Technician
Customer picks either:
- Any available — the system finds the soonest slot across all qualified technicians
- A specific technician by name
“Any available” is the default and usually gives the best results — it widens the pool of open slots.
Step 4 — Time
Customer sees a week calendar at the top and a grid of available time slots below. Slots are:
- One hour long by default
- Only shown if actually available — based on operating hours, existing appointments, blocks, and the technician’s specialty
- Limited to future times — past slots are disabled
When the customer taps a slot and hits Submit, the request is created and they see a Request received confirmation.
How Requests From Online Booking Appear
Requests created through online booking show up in your main Requests queue alongside AI Dispatch and staff-created requests. They include:
- The customer’s name, email, and phone
- Service address (if provided)
- Problem description
- The chosen specialty
- The chosen technician (or “Any available”)
- The requested time window
You can accept, decline, reschedule, or assign these requests exactly like any other request in your queue.
Embedding the Booking Page
You can embed the booking page in your own website using an iframe.
<iframe
src="https://korfield.pro/book/your-slug"
width="100%"
height="800"
frameborder="0"
title="Book an appointment"
></iframe>
Listening for Events
The booking page sends postMessage events to the parent window so you can react when key things happen — like redirecting to a thank-you page once a customer submits.
Every event has the shape:
{
source: "korfield-booking",
type: "ready" | "step_change" | "submit_success" | "submit_error",
payload: { /* event-specific data */ }
}
The events:
| Type | When it fires | Payload |
|---|---|---|
ready | The page has loaded and is interactive | { slug, orgId } |
step_change | The customer moved to a new step | { slug, step } — step is one of contact, service, technician, time, done |
submit_success | The booking was submitted successfully | { slug, requestId } |
submit_error | Submission failed | { slug, message } |
Example: Redirect on Success
<script>
window.addEventListener("message", (event) => {
if (event.data?.source !== "korfield-booking") return;
if (event.data.type === "submit_success") {
window.location.href = "/thanks?req=" + event.data.payload.requestId;
}
});
</script>
Example: Track in Analytics
<script>
window.addEventListener("message", (event) => {
if (event.data?.source !== "korfield-booking") return;
if (event.data.type === "step_change") {
gtag("event", "booking_step", { step: event.data.payload.step });
}
if (event.data.type === "submit_success") {
gtag("event", "booking_submitted");
}
});
</script>
Best Practices
- Pick a memorable slug from day one — changing it later breaks existing links. Treat it like your domain.
- Make sure every technician has the right specialties — if a technician’s profile doesn’t include the specialty a customer picks, they won’t appear as an available option (and that’s how “no times available” happens with a half-empty calendar).
- Keep operating hours accurate — the booking page only offers slots inside your operating hours. If those are wrong, customers see no availability when you actually do.
- Test a booking from your phone before going live. Submit a test request, then delete it.
- Promote “Any available” — when you have a few technicians, this finds the soonest slot. Calling it out (“for fastest service, pick Any available”) helps customers self-select.
- Check your queue at least once a day — online booking requests are tentative until you confirm. Customers expect a quick reply.
Troubleshooting
Customers Say “No Times Are Available”
This usually means one of:
- No technician is configured for that specialty. Open the technician’s profile and confirm their specialties.
- Operating hours are wrong or empty. Confirm the org’s operating hours in settings.
- The calendar genuinely is full. Try a later week.
A Customer’s Request Didn’t Come Through
If a customer says they booked but you don’t see the request:
- Check the Requests queue with the All filter, not just Pending — they may have already been accepted or assigned.
- Confirm the customer actually reached the Time step and tapped Submit — drafts (anyone who stopped before submitting) don’t appear in the queue.
- If the customer can re-send a screenshot of the confirmation screen, that confirms a submission was attempted.
The Booking URL Shows “Organization Not Found”
The slug in the URL doesn’t match an active organization. Common causes:
- The slug was recently changed and you’re sharing the old link.
- A typo in the URL — slugs are case-sensitive and only allow lowercase letters, numbers, and hyphens.
The Embedded iframe Is Too Tall or Too Short
Pick a fixed height that fits the longest step (the Time step is usually the tallest). For a fluid layout, listen for step_change events and adjust the iframe height based on the current step.
Frequently Asked Questions
Can I change my booking slug later? Yes, from My Organization → Online booking → Change URL. Any existing links to your old slug will stop working, so update wherever you’ve shared it.
Can customers reschedule or cancel through the booking page? Not currently. The booking page is for new requests only. Reschedules and cancellations are handled by your team from the Requests screen.
How long are time slots? One hour. The customer picks a start time and we reserve a one-hour window. Adjust the actual job duration when you confirm the request.
Does the booking page support multiple languages? English only, for now.
Can customers book past dates? No. The picker disables past time slots, and the day selector starts from today.
What’s the difference between online booking and AI Dispatch? Online booking is self-service — the customer fills out a form. AI Dispatch answers your phone with an AI voice. They share the same underlying calendar and request queue, so a customer can use whichever they prefer.
Do customers need an account? No. The booking page is fully public. We save a draft to their browser so they can pick up where they left off, but nothing requires sign-in.
Can I customize the booking page colors and branding? The page shows your organization name and logo at the top. Deeper theming isn’t supported yet — reach out to support if this is important to you.
Need More Help?
Have questions about online booking or running into issues? Contact our support team at support@korfieldpro.com or visit our help center.