Knowledge Base

  1. Home
  2. Knowledge Base
  3. Appointments Tab
  4. Appointment Search Syntax

Appointment Search Syntax

The Appointments tab allows you to search for appointments.

Full Text Search

By default, Apptoto will perform a “full text search” on appointments on your calendar.

For example, to find all appointments with “fred” in them… enter the following into the search box and hit .

fred

To find all appointments with “fred” and “smith” in them:

fred smith

To find all appointments with the phrase “fred smith” in them:

"fred smith"

Default Fields

The fields that are searched by default are the following:

  • event.title: Event’s title
  • event.location: Event’s location
  • event.content: Event’s content
  • name : Participant’s Name
  • email: Participant’s Email
  • phone: Participant’s Phone
  • normalized_phone: Participant’s normalized Phone

Negative Search

To find all appointments that do not contain the word haircut in them:

-haircut

or

!haircut

Field Search

You can search a specific field by specifying the field first. For example, to search for appointments whose’s participant name has “fred” in it:

name:fred

To find all appointments with the word “haircut” in the title:

event.title:haircut

If you want to find all appointments whose event’s title is exactly “Haircut with Fred”, do:

event.title="Haircut with Fred"

The : and = in the above examples are called search “operators”. The following operators are available:

Operator Data Types Notes
: text, date, number For text fields, this operator performs a “full text search”. For Date fields, it searches the entire day specified. For other fields, it does an exact match
= text, date, number, boolean Does an exact match. You can use “*” as a wildcard for text fields
!= text, date, number, boolean Not Equal
> date, number Greater than.
>= date, number Greater than or equal
< date, number Less than
< date, number Less than or equal

Special Values

Use the special keyword “empty” to search for fields that are empty. For example you can search:

event.custom.cancellation_reason != empty

or

event.location = empty

Special Date Phrases

For date fields, you can use special phrases for “today”, “tomorrow”, and “yesterday”.

For example, if you want to find all the appointments after today:

start_time > today

If you want to find all the appointments on or after today:

start_time >= today

If you want to find all appointments on today:

start_time = today

Other dates can be specified in human readable format. e.g.

start_time > "January 20th, 2018" and start_time < "January 30th, 2018"

Would find all the appointments whose start time was between “January 20th, 2018” and “January 30th, 2018”. You could also use “2018-01-20” and “2018-01-30” for that as well.

If you want to find all the appointments on one specific day, you can use the “:” operator. For example, the following would find all the appointments on March 2nd, 2018.

start_time:2018-03-02

Boolean Logic

By default, all terms are searched assuming an AND query. For example, “Fred Smith” looks for all appointments containing both “Fred” AND “Smith”.

To find all appointments with “fred” OR “smith”:

fred or smith

The “or” operator takes precedence. For example the following would find all appointments who have “fred” in them or all appointments with both “smith” and “bob in them:

fred or smith and bob

So that is equivalent to:

fred or (smith and bob)

If you want to change how the query is evaluated, you can move the parenthesis. For example, to find all appointments that have “bob” in them and either “fred” or “smith”, do:

(fred or smith) and bob

Of course, you can use field specific queries with boolean logic as well. For example

(event.title:haircut or event.title:coloring) and nancy

Custom Fields

If your events contain custom fields, you can search for them easily using the “event.custom” prefix. For example:

event.custom.appointment_type = haircut

would find all the appointments whose custom field appointment_type is set to haircut.

Appointment Fields

Besides the default fields specified above and the “custom” fields… Apptoto also provides some interesting default fields that you can use to customize your searches. Here are some of those fields and example uses.

Field Type Description Notes
participants number The number of actual participants the event has participants > 0 would show you all appointments with at least 1 participant
attempts number The number of attempted automatic messages that have been sent attempts > 0
booking_sent boolean If the participant has been sent an invite booking_sent:true
reminded boolean If the participant has been reminded reminded:true
confirmed boolean If the participant has confirmed confirmed:true
cancelled boolean If the participant has cancelled cancelled:true
not_coming boolean If the participant has cancelled not_coming:true
reschedule_requested boolean If the participant has cancelled reschedule_requested:true
check_in_state text The participant’s check in state check_in_state = noshow
noshow boolean If the participant was a no show noshow:true