Booking dates
Tell PageFork which form field holds an appointment date, so bookings show up on the calendar.
If your form asks visitors to pick a date, such as a consultation, a viewing or a table reservation, PageFork can put those appointments on the Bookings calendar.
It needs to be told which field to read. To PageFork, a field called
preferred_date arrives as plain text like any other answer. Nothing
in a form says “this one is a date”, or which timezone it’s in.
Setting up booking dates and the calendar are Pro features. See Basic and Pro plans.
Setting it up
Open the site in the editor, go to the Forms tab and scroll to Booking dates.
- Choose the Form.
- Choose the Date field, the field that holds the appointment.
- Choose the Value format.
- Check the Timezone.
- Set the Appointment length (minutes).
- Click Save mapping.
| Setting | What it means |
|---|---|
| Form | Which form on this site |
| Date field | The field holding the appointment date |
| Value format | Date only (2026-08-05) or Date and time (2026-08-05T14:30) |
| Timezone | The timezone the value should be read in |
| Appointment length (minutes) | How long each booking is drawn on the calendar. From 5 to 1440, and 60 if you leave it alone |
Each form has one mapping. Saving again for the same form replaces the earlier one. Remove a mapping with the bin icon next to it.
If the form or field isn’t in the list
The dropdowns only offer forms and fields PageFork already knows about. It learns them when your site is built and from real submissions.
If the panel says “No form fields are known yet”, publish the site and submit the form once yourself. See Form field schemas.
Value format
Pick the format that matches what your form sends.
| Format | Use it when | How it’s read |
|---|---|---|
| Date only | The form has a date picker with no time | As that day. Any time in the value is ignored |
| Date and time | The form has a date and time picker | As that exact date and time. A value with no time is read as midnight |
PageFork reads dates written year first: 2026-08-05, optionally
followed by a time such as 2026-08-05T14:30 or 2026-08-05 14:30.
That’s what browser date pickers send. Dates typed another way, such
as 05/08/2026, can’t be read.
So use a real date picker in your form rather than a free-text box. If you’re not sure what your form sends, open a submission and look at the value.
Timezone
Date fields carry no timezone. 2026-08-05T14:30 doesn’t say
which 2:30 pm it is.
So bookings are read in the timezone you set here, which should be the business’s timezone, not the visitor’s. A restaurant in Lisbon taking a booking from someone in Tokyo means a table at 8 pm Lisbon time.
The box is filled in with your own timezone. To change it, type a
timezone name in the Region/City style, for example
Europe/Budapest or America/New_York. An unknown name is refused
when you save.
On the calendar, each team member sees bookings converted to their own timezone.
Appointment length
A form captures one moment, not a start and an end. This setting only controls how long the block is drawn in the calendar’s week view. It doesn’t reserve time or prevent double bookings.
Checking that it works
A mapping can be saved correctly and still read nothing, for example when it points at a free-text field. An empty calendar would look exactly the same as having no bookings.
So each saved mapping shows a health line under it. PageFork looks at the most recent submissions of that form, up to 300, and tries to read the field in each one.
| Message | Meaning |
|---|---|
| Reads cleanly on all N recent submissions with a value. | Working |
| N of the last M submissions couldn’t be read as a date. | Mostly working. Some values are wrong |
| None of the last M submissions could be read as a date. Check that this is the date field, and that visitors pick a date rather than type one. | The wrong field, or visitors type dates as free text instead of using a date picker |
| None of the last M submissions filled this field in. | Right field? It may be optional and always skipped |
| No submissions on this form yet. | Nothing to check yet |
If there’s a problem when you save, the same message pops up straight away. The mapping is still saved.
”N of the last M submissions couldn’t be read as a date”
This is the one you’ll see most often. It means most values are fine, but a few visitors sent something that isn’t a real date. The usual causes:
- Free text. The field accepts typing, and someone wrote “next Tuesday” or “05/08/2026”.
- A date that doesn’t exist. February 31, April 31, or month 13.
- A time that doesn’t exist. Hour 25, or minute 60.
Two details make the number fair:
- Blank values aren’t counted. A visitor who skipped an optional date field isn’t an error, so they count neither as readable nor as unreadable.
- Corrected values count. If you correct a bad date on a submission, the corrected value is the one that’s checked, and the count goes down.
A submission with an unreadable date is never rejected. The lead is created as usual. It just has no booking on the calendar.
Fixing a booking on one submission
When a visitor picked the wrong day, or typed something unreadable:
- Open the lead and expand the submission in the timeline.
- Click the pencil next to the date field.
- Enter the date in the same style, for example
2026-08-05or2026-08-05T14:30, and save.
The booking moves to the new date on the calendar. If you change the value to something that can’t be read, the booking is removed from the calendar.
Existing submissions
Once a mapping is saved, new submissions land on the calendar straight away.
Submissions that arrived before the mapping existed are not re-read automatically, so they don’t appear. The same goes for changing a mapping’s field, format or timezone: bookings already on the calendar stay where they were read originally.
Removing a mapping stops new bookings from being read. Bookings already on the calendar stay.
Where bookings show up
- On the calendar in Bookings mode.
- On the submission in the lead’s timeline, as Books and the date.
- In the submissions list on a Basic site, in a Booking column.
Bookings still not showing
Work down this list:
- Is a mapping saved for that form? The panel lists them.
- What does the health line say? A warning there names the problem.
- Are you in Bookings mode? The calendar opens on Follow-ups.
- Are you looking at the right dates? Appointments are usually in the future. Step forward a month.
- Was the submission sent before the mapping was saved? See Existing submissions.
- Is the person archived? Bookings of archived people are hidden.