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 |