Online booking for service businesses: customers pick an arrival window on your schedule.

Share a public service request form or turn on requests in your Customer Portal. Customers choose a job type and an arrival window, confirm their email, and Forz puts the visit on a technician's calendar.

Ticket, job and calendar event per booking Included in every plan iOS & Android
Online service request form, step 3 of 4: October 2026 calendar with Monday, Oct 5 and an 8:00 AM to 12:30 PM arrival window selected
Customers pick a visit type, a day and an arrival window.

The problem with the old way

Every request starts with phone tag

A customer calls to ask for service, the office writes down the details, then calls back with a time that may not work. The visit reaches the calendar only after several calls.

Web form emails get retyped

A contact form on your website sends an email that someone has to copy into your system. Existing customers and brand-new prospects arrive mixed together, and in a busy week some sit unread.

Junk and out-of-area requests

An open web form attracts bots and requests from towns you don't cover. Someone on your team has to sort through them before the real work gets scheduled.

How online booking works in Forz

Public service request form

Copy the Service request form link from Settings > Customer Portal and put it on your website, in an email signature or on a business card. It needs no login and lives on your portal domain, for example cp.forz.io/acme-plumbing/request.

Requests tab in the Customer Portal

Signed-in contacts submit requests and track the ones they sent: status, service address and any booked arrival window, including whether it was confirmed, declined or released. Tickets your team opens on their account stay private.

Arrival windows on your working hours

You set Bookable days, Bookable from, Bookable until and Arrival windows per day. Customers pick a window such as 8:00 AM to 12:30 PM, never a past date or a day you don't work, and the promised window stays fixed if you change your hours later.

Bookable job types with customer-facing names

Switch on Available for online booking for the job types customers may book and give each a Booking duration in minutes. An optional Customer-facing label replaces your internal job type name on the form.

Technician assigned for you

Forz picks the technician with the same scheduling logic as Smart Dispatch, and the Booking technician group setting limits which team can be booked. Each booking creates a ticket, a job and a calendar event together, with the window reserved on that technician.

Auto-confirm or staff review

Bookings confirm automatically by default. Switch that off and they arrive as pending under the Needs approval filter in Tickets, with Accept and Decline buttons, and a booking nobody acts on is released after the number of hours you set.

The right record for each requester

A request from a known portal contact becomes a ticket on that customer's account once the email address is verified. Someone new becomes a lead for your team to qualify, and a second request from them adds a note to the same lead.

Email codes and spam protection

Bookings, and requests that use a portal contact's email address, need an emailed code that is valid for 15 minutes. A hidden bot field, rate limits and an optional list of service area ZIP codes with your own out-of-area message keep junk off the schedule.

Forz Tickets list filtered to Needs Approval: seven online bookings with arrival windows, each with Decline and Accept buttons
Bookings that need approval wait in Tickets with Accept and Decline buttons.

Set up online booking in four steps

  1. Turn on requests. In Settings > Customer Portal, switch on Requests. If you only work in certain areas, list your service area ZIP code prefixes and write an out-of-area message.
  2. Turn on online booking. Switch on the Online Booking module in Settings > Modules, then open Settings > Online Booking. Set Bookable days, Bookable from, Bookable until and Arrival windows per day. Choose a Booking technician group if only one team should take booked work, and decide whether Confirm bookings automatically stays on. If you switch it off, set Release unconfirmed bookings after (hours).
  3. Choose bookable job types. In Settings > Job Types, switch on Available for online booking for each type customers can book and set its Booking duration (minutes). Add a Customer-facing label when your internal name is shorthand only your team understands.
  4. Share the link. Copy the Service request form link and put it in your email signature or on a business card. For your website, Settings > Online Booking also has Button code for a Book online button and Embed code that shows the form inside your page. Customers who already use your portal find the same form under the Requests tab.

Turning the feature on and setting windows, hours and job types takes the Admin role. Anyone who can edit jobs can accept or decline a booking.

What happens when a customer submits

The form has four short steps: the customer describes the problem, enters the service address, picks the type of visit, a day and an arrival window, then enters their contact details. If they chose a window, Forz emails a short code and files the request once they enter it. Forz then creates a ticket, a job and a calendar event, and reserves the window on the technician it picked. The customer never chooses a person.

What Forz creates depends on who is asking:

Who submitsEmail code needed?What Forz creates
A contact you already haveYesA ticket on that customer’s account
Someone new, no arrival windowNoA lead your team can qualify
The same new person againNoA note on their existing lead
Anyone who books an arrival windowYesA ticket, a job and a calendar event, with the window reserved on a technician
Someone who picks “I can’t get the code”SkippedA lead for review, with no window held

Every request records that it came through the portal, so your team can tell it apart from a phone call. A stranger who submits without picking a window never sees a code screen, so genuine new inquiries aren’t slowed down.

Emails your customers get

  • Verification code, the short code that confirms their email address.
  • Request received, which acknowledges the request and links to their portal.
  • Appointment confirmed, with the promised arrival window, the service address and a calendar file for their own calendar.
  • Appointment released, sent when a pending booking is declined or expires, so nobody waits on a visit that isn’t happening.

How trades use it

HVAC: new callers become leads, not customers

A property manager who has never worked with you finds the request form on your website and asks for service. With no arrival window picked, no code is needed, and the request lands as a lead with the request text, contact details and service address. Your team reviews it and clicks Convert to Customer when the lead qualifies, so nobody lands in your customer list before someone has looked at them.

Plumbing: an existing customer books a visit

A restaurant manager signs in to your portal, opens the Requests tab and picks your drain cleaning job type, shown under its customer-facing label, plus a morning window. After the email code, Forz creates the ticket, job and calendar event and sends a confirmation with a calendar file. The manager checks the status on the Requests tab instead of calling your office.

Fire protection: the office reviews first

A fire protection contractor wants a dispatcher to look at every booked visit before committing, so it switches off Confirm bookings automatically. Bookings arrive as pending and wait under Needs approval in Tickets. The dispatcher accepts the ones that fit and declines the rest, which frees the window and tells the customer. If nobody acts within the release time, Forz releases the booking and emails the customer.

Works with the rest of Forz

  • Customer Portal: the Requests tab sits next to the estimates, invoices, jobs and inspections your customers already check there.
  • Route Planning: booked technicians are picked with the same scheduling logic Smart Dispatch uses, and booked visits appear on the calendar your dispatchers work from.
  • Field Service CRM: new requesters arrive as leads you qualify and convert.
  • Estimates & Quotes: when a request needs a price first, send an estimate the customer can accept in the portal.
  • Invoicing & Payments: invoice the job when it’s done, and customers pay online from the portal or the emailed invoice link.
  • Customer Communication: follow up on a request by email or SMS.
  • Inspections & Asset Tracking: a job created from a ticket inherits the ticket’s customer, service address and system, so the visit stays tied to the equipment you track.

Setting it up? The Service Requests & Online Booking guide walks through each setting.

Popular with these industries

Frequently asked questions

Yes. Turn on Requests in Settings > Customer Portal and the Online Booking module in Settings > Modules, set your bookable days and arrival windows in Settings > Online Booking, then switch on Available for online booking for the job types you want to offer. Customers use the public request form or the Requests tab in the Customer Portal to pick a job type and an arrival window on a day you work. Each booking creates a ticket, a job and a calendar event, with a technician assigned.

It depends on who submits it. A contact you already have gets a ticket on their customer account once they verify their email address, and someone new becomes a lead so your team can qualify them first. A repeat request from the same new person adds a note to the existing lead. Anyone who books an arrival window creates a ticket, a job and a calendar event together.

Neither. Each bookable day is divided into arrival windows, so the customer is promised a window such as 8:00 AM to 12:30 PM rather than an exact appointment time. Forz picks the technician using the same scheduling logic as Smart Dispatch, and the Booking technician group setting limits bookings to one team.

Yes. Switch off Confirm bookings automatically and new bookings arrive as pending, and the customer is told that confirmation is still to come. Your team accepts or declines each one from the job or from the Needs approval filter in Tickets, and the customer is emailed either way. If nobody acts within the number of hours you set, Forz releases the booking and emails the customer.

The public form has a hidden field that only bots fill in, and those submissions are discarded. Rate limits cap how many requests can come from one place and how many code emails go to one address. You can also list the ZIP code prefixes you serve, and requests from outside them get your out-of-area message. Booking an arrival window always requires an emailed verification code.

Yes. Settings > Online Booking gives you three ways to add it: the Booking page link, Button code for a Book online button that opens the form in a new tab, and Embed code that shows the form inside your page. The embedded form needs a current browser (Chrome 114+, Firefox 131+ or Safari 26.2+), so the button is the safer choice for visitors on older Safari. The form needs no login and lives on your portal domain, for example cp.forz.io/acme-plumbing/request, and you can also put the link in an email signature or on a business card.

Nothing changes for them. The arrival window is stored on the booking when the customer submits, so later changes to your hours or your windows per day don't move it. The customer's portal page, confirmation email and calendar file all keep showing the window they were promised.

See online booking in action

Get a 30-minute personalized demo and watch how it works on your own workflows.

Free standard data import Free 30-minute demo, no commitment