You can accept appointments or bookings on your form using an Appointment field. You can also connect a calendar to control your availability and create calendar events.
With flexible configuration options, you can accept appointments for anything from a brief meeting to an extended stay in your guest house. You can even display responses to other questions in the appointment details with answer piping.
/appointment
and select "Appointment" from the dropdown menu.The default settings will allow people to book 30-minute appointments between 9 am and 5 pm, Monday through Friday. The defaults aren't always what you're looking for, so let's dive into the options and what you can do.
Connecting a calendar allows your form to add new appointments to your calendar and ensure you aren't double-booked. You can check availability and add appointments to multiple calendars on our Pro and Agency plans.
You can accept appointments without a connected calendar. However, appointments will be restricted to what you configure as your set availability—general availability, blockout dates, etc. Double bookings will also be allowed.
Tip: We recommend not connecting a calendar for use cases where multiple, distinct customers can schedule overlapping times (e.g., ordering food to go) so that double bookings will be accepted.
To connect a calendar:
This is the timezone in which appointments will be made on your calendar. This defaults to your local timezone.
Locking the timezone will prevent users from selecting a timezone different from the Appointment timezone when choosing an appointment time.
Set the event's details, including the Title, Description, and Location. These details will be saved to your calendar when the appointment is created and will also be used to display that appointment in your submission.
Tip: You can use answer piping to populate the details with values that the respondent has entered when filling out the form.
This setting controls the interval between appointment start times that respondents can select. If you're using a connected calendar and the appointment time covers one or more other potential appointment selections, those selections will be appropriately blocked out for future respondents. This is set to 15-minute intervals by default.
For example, say you have a "Start time interval" of 15 minutes and a "length of time" (covered below) of 45 minutes. If someone takes a slot at 9:15 am, the appointment will run from 9:15 am until 10 am. That means the appointments that could have been chosen starting at 9:15 am, 9:30 am, and 9:45 am will no longer be able to be selected.
This sets the length of time for appointments. You can customize the length of time in a variety of ways:
Caution: If you allow a custom length of time through answer piping, the piped answer must be a number. Otherwise, the question will not work.
Using answer piping is especially useful when used alongside calculations to determine the required length of an appointment based on other answers.
You can enter email addresses manually or collect them through your form and pipe them into this field. You can also combine these options. You need to enter multiple email addresses as a comma-separated list regardless of your choice. These email addresses will be added as invitees to the appointment and will receive notifications about the appointment.
When this field is connected to one or more Google Calendars, we will send all invitees your default Google Calendar event notification(s). Additionally, you can toggle "Send Invite from Paperform" to have Paperform send simple invites directly to these email addresses.
For more complex emails, you can set up custom emails.
Set the Appointment availability details, including when you are available, how soon respondents can book an appointment, and how many appointments can be scheduled per day.
You can set the days or times you are generally available for appointments (e.g., your office hours). When "Appointment mode" is in days, you can toggle the days you are available. When it is set to minutes, you can select the blocks of time you are available each day (e.g., 9 am to 11 am).
Blockout dates allow you to set dates or ranges when you are unavailable. This is great for blocking out holidays or office closures to ensure people can't book appointments during those times.
Limit how far in advance people can book appointments.
Limit how close to the current date and time people can book appointments. This determines how much notice you receive.
When a calendar is connected, you can set a limit for the total number of appointments booked in one day. All appointments will be counted, even those not created by your form. All appointments will be counted if you check availability across multiple calendars.
Use this to require a gap between appointments. This is useful if you need a break between meetings or time to clean your guest house between bookings.
All plans
Create a custom meeting scheduling form to let others book a time with you. Set your availability directly on the form, and connect a Google Calendar to prevent double bookings.
How it works:
This template uses an appointment field where name, email, and description are piped in from other questions.
Pro plans and above
This template is a fantastic example of combining appointments and calculations to take paid bookings. When the Appointment field is attached to a Google Calendar, you can automatically block off dates as they're booked.
How it works:
{{ key.dayLength }}
property of the Appointment field to calculate the total cost of the stay, with a discount for bookings longer than six days.Pro plans and above
This template shows off how you can calculate the length of time required for an appointment based on answers to other questions and then have the submitter choose a timeslot that's available on your calendar. The booking price is calculated based on the number of guests and the selected package.
How it works:
Pro plans and above
This template calculates a quote for how long it will take for a job to be done and then lets the submitter pay for and schedule the quoted time in a single submission.
How it works: