This article explains how to use all time-related shortcodes in Booking Calendar’s Advanced (CF7-style) form mode. It covers both text inputs and selectbox variants for start time, end time, duration, and range selection — including strict 24-hour formats, conditional time lists, and how to output values in emails/listings.
- Reserved field names & formats
- [selectbox rangetime] — Time ranges (select)
- Overview & option values (
Title@@Value
) - [selectbox starttime] — Start time (select)
- [selectbox endtime] — End time (select)
- [selectbox durationtime] — Duration (select)
- Live “hint” outputs for times
- [starttime] — Start time (text)
- [endtime] — End time (text)
- Conditional time lists by weekday/season
- Using values in “Content of booking fields data”
- Best practices & tips
1) Reserved field names & formats
starttime
— the booking start timeendtime
— the booking end timedurationtime
— the booking durationrangetime
— a start–end time range as one choice
HH:MM
, ranges as HH:MM - HH:MM
. Example: 08:30
, 10:00 - 12:00
.starttime
, also include endtime
or durationtime
. The rangetime
field is used by itself.2) [selectbox rangetime]
— Time ranges (select)
Each option defines a label and a strict 24h range value using Title@@Value
.
Minimal example:
[selectbox rangetime
"10:00 AM - 12:00 PM@@10:00 - 12:00"
"12:00 PM - 02:00 PM@@12:00 - 14:00"
"02:00 PM - 04:00 PM@@14:00 - 16:00"]
[rangetime]
and the human label via [rangetime_val]
.3) Overview & option values (Title@@Value
)
- Use
"Title@@Value"
to show a friendly label but store a clean machine value.
4) [selectbox starttime]
— Start time (select)
Minimal example (fixed list):
[selectbox starttime "08:00" "08:30" "09:00" "09:30" "10:00"]
With ID/class:
[selectbox starttime id:start_sel class:time-select
"08:00" "08:30" "09:00" "09:30" "10:00"]
With friendly titles using Title@@Value
:
[selectbox starttime
"8:00 AM@@08:00" "8:30 AM@@08:30" "9:00 AM@@09:00"]
5) [selectbox endtime]
— End time (select)
Minimal example (hourly):
[selectbox endtime "09:00" "10:00" "11:00" "12:00" "13:00" "14:00" "15:00" "16:00" "17:00" "18:00"]
6) [selectbox durationtime]
— Duration (select)
Minimal example:
[selectbox durationtime "15 min@@00:15" "30 min@@00:30" "45 min@@00:45" "1 hour@@01:00" "1 hour 30 min@@01:30"]
With ID/class:
[selectbox durationtime id:dur class:time-select
"15 min@@00:15" "30 min@@00:30" "45 min@@00:45" "1 hour@@01:00"]
HH:MM
(e.g., 01:30
).7) [starttime]
— Start time (text)
Minimal example:
[starttime]
8) [endtime]
— End time (text)
Minimal example:
[endtime]
9) Live “hint” outputs for times
Available only in: Booking Calendar Business Medium or higher versions.
[start_time_hint]
— selected start time[end_time_hint]
— selected end time[selected_timedates_hint]
— selected dates with times[selected_short_timedates_hint]
— short format
<div class="form-hints">
Time: <strong>[start_time_hint] - [end_time_hint]</strong>
</div>
10) Conditional time lists by weekday/season
Available only in: Booking Calendar Business Medium or higher versions.
Swap time options depending on the selected date’s weekday or season filter.
[condition name="weekday-condition" type="weekday" value="*"]
Default: [selectbox rangetime "10:00 - 11:00" "11:00 - 12:00"]
[/condition]
[condition name="weekday-condition" type="weekday" value="1,2"]
Mon/Tue: [selectbox rangetime "10:00 - 12:00" "12:00 - 14:00"]
[/condition]
[condition name="season-times" type="season" value="High_season"]
High season: [selectbox rangetime "10:00 - 12:00" "12:00 - 14:00" "14:00 - 16:00"]
[/condition]
11) Using values in “Content of booking fields data”
At the bottom of WP Booking Calendar → Settings → Booking Form → Booking Form Fields, configure how time values appear in the Booking List and emails.
- Print field values by name:
[starttime]
,[endtime]
,[durationtime]
,[rangetime]
- For selectboxes with titles, use
[_val]
to print the human label: e.g.,[rangetime_val]
,[starttime_val]
Example:
<div class="standard-content-form">
<b>Start</b>: <f>[starttime]</f><br>
<b>End</b>: <f>[endtime]</f><br>
<b>Duration</b>: <f>[durationtime]</f><br>
<b>Range</b>: <f>[rangetime_val] (<small>[rangetime]</small>)</f>
</div>
12) Best practices & tips
- Choose one approach: start+end (with optional duration) or a single rangetime field.
- Keep values strictly 24-hour. Match
default:
to the stored value (after@@
). - Use
Title@@Value
for friendly labels while storing clean 24-hour values. - Place live hints next to the calendar to confirm selections before submission.
- Leverage
[condition]
blocks to show different time lists by weekday/season. - Test overlaps and business rules (e.g., minimum durations, closing times) against your resource settings.