Time-Related Booking Form Field Shortcodes

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.

What’s inside

  1. Reserved field names & formats
  2. [selectbox rangetime] — Time ranges (select)
  3. Overview & option values (Title@@Value)
  4. [selectbox starttime] — Start time (select)
  5. [selectbox endtime] — End time (select)
  6. [selectbox durationtime] — Duration (select)
  7. Live “hint” outputs for times
  8. [starttime] — Start time (text)
  9. [endtime] — End time (text)
  10. Conditional time lists by weekday/season
  11. Using values in “Content of booking fields data”
  12. Best practices & tips

1) Reserved field names & formats

  • starttime — the booking start time
  • endtime — the booking end time
  • durationtime — the booking duration
  • rangetime — a start–end time range as one choice
Format rules: times/values are strict 24-hour: HH:MM, ranges as HH:MM - HH:MM. Example: 08:30, 10:00 - 12:00.
Pairing rule: If you use 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"]
In emails/listing, you can print the stored range via [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"]
End time options should make sense relative to the selected start time or expected duration.

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"]
Stored values must be 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]
Reminder: Use single-day selection mode in Calendar settings for weekday/season conditions.

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.