Skip to Main Content

With Appointments+, we have now added a handy shortcode generator, located above the WordPress text editor in visual mode, that allows you to simply select your requirements for the calendar you wish to display, and then be provided with the exact shortcode to use.

However, some of us still like to do things the old fashioned way, and create our shortcodes by hand, so we have included all of the current shortcodes in this handy guide for your reference and reading pleasure.

8.1 Provider Monthly Calendar

Link to chapter 1

[app_worker_monthly_calendar]

Description

Renders a calendar with appointments assigned to a service provider.

Arguments

status

  • Show Appointments with this status (comma-separated list)
  • Allowed values: paid, confirmed, pending, completed
  • Example: [app_worker_monthly_calendar status=”paid,confirmed”]

worker_id

  • Show Appointments calendar for service provider with this user ID
  • Example: [app_worker_monthly_calendar  worker_id=”32″]

start_at

  • Show Appointments calendar for this month. Defaults to current month.
  • Example: [app_worker_monthly_calendar start_at=”2013-07-01″]

8.2 Weekly Calendar

Link to chapter 2

[app_schedule]

Description

Creates a weekly table whose cells are clickable to apply for an appointment.

Arguments


title

  • Text that will be displayed as the schedule title. Placeholders START and END will be automatically replaced by their real values.
  • Example: [app_schedule title=”Our schedule from START to END”]
    Text that will be displayed after the title only to the clients who are logged in or you don’t require a login.
  • Example: [app_schedule logged=”Click on a free time slot to apply for an appointment.”]


notlogged

  • Text that will be displayed after the title only to the clients who are not logged in and you require a login. LOGIN_PAGE will be replaced with your website’s login page, while REGISTRATION_PAGE will be replaced with your website’s registration page.
    Example: [app_schedule notlogged=”You need to login to make an appointment. Please click here to register/login: LOGIN_PAGE”]


service

  • Enter service ID only if you want to force the table display the service with entered ID.
  • Default: “0” (Service is selected by dropdown).
  • Note: Multiple selections are not allowed.
  • Example: [app_schedule service=”12″]


worker

  • Enter service provider ID only if you want to force the table display the service provider with entered ID.
  • Default: “0” (Service provider is selected by dropdown).
  • Note: Multiple selections are not allowed.
  • Example: [app_schedule worker=”15″]

long

  • If entered 1, long week days are displayed on the schedule table row, e.g. “Saturday” instead of “Sa”.
  • Example: [app_schedule long=”1″]

class

  • A css class name for the schedule table. Default is empty.
  • Example: [app_schedule class=”my-class”]


add

  • Number of weeks to add to the schedule to use for preceding weeks’ schedules. Enter 1 for next week, 2 for the other week, so on. Default: “0” (Current week)
  • Example: [app_schedule add=”1″]


date

  • Normally calendar starts from the current week. If you want to force it to start from a certain date, enter that date here. Most date formats are supported, but YYYY-MM-DD is recommended.
  • Notes: 1) This value will also affect other subsequent calendars on the same page. 2) Date value will not change starting day of week. It is sufficient to enter a date inside the week. Default: “0” (Current week)
  • Example: [app_schedule date=”2014-02-01″]


require_provider

  • Setting this argument to “1” means a timetable will not be rendered unless a service provider has been previously selected.
  • Example: [app_schedule require_provider=”1″]

required_message

  • The message that will be shown if service providers are required.
  • Example: [app_schedule required_message=”Please, select a service.”]

require_service

  • Setting this argument to “1” means a timetable will not be rendered unless a service has been previously selected.
  • Example: [app_schedule require_service=”1″]

required_service_message

  • The message that will be shown if services are required.
  • Example: [app_schedule required_service_message=”Please, select a service.”]

8.3 Monthly Calendar

Link to chapter 3

[app_monthly_schedule]

Description

Creates a monthly calendar plus time tables whose free time slots are clickable to apply for an appointment.

Arguments

title

  • Text that will be displayed as the schedule title.
  • Placeholders START, WORKER and SERVICE will be automatically replaced by their real values.
  • Example: [app_monthly_schedule title=”Our schedule for START”]

logged

  • Text that will be displayed after the title only to the clients who are logged in or you don’t require a login.
  • Example: [app_monthly_schedule logged=”Click a free day to apply for an appointment.”]

notlogged

  • Text that will be displayed after the title only to the clients who are not logged in and you require a login.
  • LOGIN_PAGE will be replaced with your website’s login page, while REGISTRATION_PAGE will be replaced with your website’s registration page.
  • Example: [app_monthly_schedule notlogged=”You need to login to make an appointment. Please click here to register/login: LOGIN_PAGE”]

service

  • Enter service ID only if you want to force the table display the service with entered ID.
  • Default: “0” (Service is selected by dropdown).
  • Note: Multiple selections are not allowed.
  • Example: [app_monthly_schedule service=”12″]

worker

  • Enter service provider ID only if you want to force the table display the service provider with entered ID.
  • Default: “0” (Service provider is selected by dropdown).
  • Note: Multiple selections are not allowed.
  • Example: [app_monthly_schedule worker=”15″]

long

  • If entered 1, long week days are displayed on the schedule table row, e.g. “Saturday” instead of “Sa”.
  • Example: [app_monthly_schedule long=”1″]

class

  • A css class name for the schedule table. Default is empty.
  • Example: [app_monthly_schedule class=”my-class”]

add

  • Number of months to add to the schedule to use for preceding months’ schedules. Enter 1 for next month, 2 for the other month, so on.
  • Default: “0” (Current month)
  • Example: [app_monthly_schedule add=”1″]

date

  • Normally calendar starts from the current month. If you want to force it to start from a certain date, enter that date here.
  • Most date formats are supported, but YYYY-MM-DD is recommended.
  • Notes: 1) This value will also affect other subsequent calendars on the same page. 2) It is sufficient to enter a date inside the month. Default: “0” (Current month)
  • Example: [app_monthly_schedule date=”2014-02-01″]

require_provider

  • Setting this argument to “1” means a timetable will not be rendered unless a service provider has been previously selected.
  • Example: [app_monthly_schedule require_provider=”1″]

required_message

  • The message that will be shown if service providers are required.
  • Example: [app_monthly_schedule required_message=”Please, select a service provider.”]

require_service

  • Setting this argument to “1” means a timetable will not be rendered unless a service has been previously selected.
  • Example: [app_monthly_schedule require_service=”1″]

required_service_message

  • The message that will be shown if services are required.
  • Example: [app_monthly_schedule  required_service_message=”Please, select a service.”]

8.4 Pagination

Link to chapter 4

[app_pagination]

Description

Inserts pagination codes (previous, next week or month links) and Legend area.

Arguments

step

  • Number of weeks or months that selected time will increase or decrease with each next or previous link click. You may consider entering 4 if you have 4 schedule tables on the page.
  • Example: [app_pagination step=”1″]

month

  • If entered 1, step parameter will mean month, otherwise week. In short, enter 1 for monthly schedule.
  • Example: [app_pagination month=”1″]

date

  • This is only required if this shortcode resides above any schedule shortcodes. Otherwise it will follow date settings of the schedule shortcodes.
  • Default: “0” (Current week or month)

anchors

  • Setting this argument to 0 will prevent pagination links from adding schedule hash anchors.
  • Default: “1”
  • Example: [app_pagination anchors=”1″]

8.5 All Upcoming Appointments

Link to chapter 5

[app_all_appointments]

Description

Inserts a table that displays all upcoming appointments.

Arguments

title

  • Title text.
  • Example: [app_all_appointments title=”All Appointments”]

status

  • Which status(es) will be included.
  • Possible values: paid, confirmed, completed, pending, removed, reserved or combinations of them separated with comma.
  • Example: [app_all_appointments status=”paid,confirmed”]

order_by

  • Sort order of the appointments.
  • Possible values: ID, start. Optionally DESC (descending) can be used, e.g. “start DESC” will reverse the order.
  • Default: “start”.
  • Note: This is the sort order as page loads. Table can be dynamically sorted by any field from front end (Some date formats may not be sorted correctly).
  • Example: [app_all_appointments order_by=”start”]

8.6 My Upcoming Appointments

Link to chapter 6

[app_my_appointments]

Description

Inserts a table where client or service provider can see his upcoming appointments.

Arguments

provider

  • Enter 1 if this appointment list belongs to a service provider.
  • Default: “0” (client)
  • Example: [app_my_appointments provider=”1″]

provider_id

  • Enter the user ID of the provider whose list will be displayed. If ommitted, current service provider will be displayed.
  • Default: “0” (current service provider)
  • Example: [app_my_appointments provider_id=”12″]

title

  • Title text.
  • Example: [app_my_appointments title=”My Appointments”]

status

  • Which status(es) will be included. Possible values: paid, confirmed, completed, pending, removed, reserved or combinations of them separated with comma.
  • Allowed values: paid, confirmed, pending, completed, removed, reserved
  • Example: [app_my_appointments status=”paid,confirmed”]

gcal

  • Enter 0 to disable Google Calendar button by which clients can add appointments to their Google Calendar after booking the appointment.
  • Default: “1” (enabled – provided that “Add Google Calendar Button” setting is set as Yes)

order_by

  • Sort order of the appointments.
  • Possible values: ID, start.
  • Example: [app_my_appointments order_by=”ID”]

order

  • Sort order of the appointments.
  • Possible values: asc (ascendant order), desc (descendant order).
  • Example: [app_my_appointments order=”asc”]

allow_cancel

  • Enter 1 if you want to allow cancellation of appointments by the client using this table. “Allow client cancel own appointments” setting must also be set as Yes.
  • Default: “0” (Cancellation is not allowed).
  • Example: [app_my_appointments allow_cancel=”1″]

strict

  • Ensure strict matching when searching for appointments to display. The shortcode will, by default, use the widest possible match.
  • Example: [app_my_appointments strict=”1″]

8.7 Available Services

Link to chapter 7

[app_services]

Description

Creates a dropdown menu of available services.

Arguments

select

  • Text above the select menu. Default: “Please select a service”
  • Example: [app_services select=”Please select a service:”]

 

show

  • Button text to show the results for the selected. Default: “Show available times”
  • Example: [app_services show=”Show available times”]

 

description

  • WSelects which part of the description page will be displayed under the dropdown menu when a service is selected .
  • Default: “excerpt”
  • Allowed values: none, excerpt, content
  • Example: [app_services description=”content”]

thumb_size

  • Inserts the post thumbnail if page has a featured image.
  • Selectable values are “none”, “thumbnail”, “medium”, “full” or a 2 numbers separated by comma representing width and height in pixels, e.g. 32,32.
  • Default: “96,96”
  • Example: [app_services thumb_size=”thumbnail”]

thumb_class

  • css class that will be applied to the thumbnail.
  • Default: “alignleft”
  • Example: [app_services thumb_class=”my-class”]

autorefresh

  • If set as 1, Show button will not be displayed and page will be automatically refreshed as client changes selection.
  • Note: Client cannot browse through the selections and thus check descriptions on the fly (without the page is refreshed).
  • Default: “0” (disabled). Recommended for sites with a large number of services.
  • Example: [app_services autorefresh=”1″]

order_by

  • Sort order of the services. Possible values: ID, name, duration, price. Optionally DESC (descending) can be used, e.g. “name DESC” will reverse the order.
  • Default: “ID”
  • Example: [app_services order_by=”ID”]

worker

  • In some cases, you may want to display services which are given only by a certain provider. In that case enter provider ID here.
  • Default: “0” (all defined services).
  • Note: Multiple selections are not allowed.
  • Example: [app_services worker=”12″]

ajax

  • If set as 1, Services thumbnails and descriptions will be loaded by AJAX. Recommended for sites with many services
  • Example: [app_services ajax=”1″]

8.8 Available Providers

Link to chapter 8

[app_service_providers]

Description

Creates a dropdown menu of available service providers.

Arguments

select

  • Text above the select menu.
  • Default: “Please select a service”
  • Example: [app_service_providers select=”Please choose a service provider:”]

empty_option

  • Empty option label for the selection
  • Example: [app_service_providers empty_option=”Please, select”]

show

  • Button text to show the results for the selected.
  • Default: “Show available times”
  • Example: [app_service_providers show=”Show available times”]

description

  • Selects which part of the bio page will be displayed under the dropdown menu when a service provider is selected .
  • Default: “excerpt”
  • Allowed values: none, excerpt, content
  • Example: [app_service_providers description=”content”]

thumb_size

  • Inserts the post thumbnail if page has a featured image.
  • Selectable values are “none”, “thumbnail”, “medium”, “full” or a 2 numbers separated by comma representing width and height in pixels, e.g. 32,32.
  • Default: “96,96”
  • Example: [app_service_providers thumb_size=”thumbnail”]

thumb_class

  • css class that will be applied to the thumbnail.
  • Default: “alignleft”
  • Example: [app_service_providers thumb_class=”my-class”]

autorefresh

  • If set as 1, Show button will not be displayed and page will be automatically refreshed as client changes selection.
  • Note: Client cannot browse through the selections and thus check descriptions on the fly (without the page is refreshed).
  • Default: “0” (disabled)
  • Example: [app_service_providers autorefresh=”1″]

order_by

  • Sort order of the service providers.
  • Possible values: ID, name. Optionally DESC (descending) can be used, e.g. “name DESC” will reverse the order.
  • Default: “ID”
  • Example: [app_service_providers order_by=”ID”]

service

  • In some cases, you may want to force to display providers who give only a certain service. In that case enter service ID here.
  • Default: “0” (list is determined by services dropdown).
  • Note: Multiple selections are not allowed.
  • Example: [app_service_providers service=”12″]

require_service

  • Do not show service provider selection at all until the service has been previously selected.
  • Example: [app_service_providers require_service=”1″]

8.9 Login Buttons

Link to chapter 9

[app_login]

Description

Inserts front end login buttons for Facebook, Twitter and WordPress.

Arguments

login_text

  • Text above the login buttons, preceded by a login link.
  • Default: “Please click here to login:”
  • Example: [app_login login_text=”Please click here to login:”]

redirect_text

  • Javascript text if front end login is not set and user is redirected to login page
  • Example: [app_login redirect_text=”Login required to make an appointment. Now you will be redirected to login page.”]

8.10 PayPal

Link to chapter 10

[app_paypal]

Description

Inserts PayPal Pay button and form.
For the shortcode parameters, you can use SERVICE, PRICE, CURRENCY placeholders which will be replaced by their real values.

Arguments

item_name

  • Item name that will be seen on Paypal.
  • Default: “Payment for SERVICE” if deposit is not asked, “Deposit for SERVICE” if deposit is asked
  • Example: [app_paypal item_name=”Payment for SERVICE”]

button_text

  • Text that will be displayed on Paypal button.
  • Default: “Please confirm PRICE CURRENCY payment for SERVICE”
  • Example: [app_paypal button_text=”Please confirm PRICE CURRENCY payment for SERVICE”]

8.11 Appointment Confirmation

Link to chapter 11

[app_confirmation]

Description

Inserts a form which displays the details of the selected appointment and has fields which should be filled by the client.
This shortcode is always required to complete an appointment.

Arguments

title

  • Text above fields.
  • Default: “Please check the appointment details below and confirm:”
  • Example: [app_confirmation title=”Please check the appointment details below and confirm:”]

button_text

  • Text of the button that asks client to confirm the appointment.
  • Default: “Please click here to confirm this appointment”
  • Example: [app_confirmation button_text=”Please click here to confirm this appointment”]

confirm_text

  • Javascript text that will be displayed after receiving of the appointment. This will only be displayed if you do not require payment.
  • Default: “We have received your appointment. Thanks!”
  • Example: [app_confirmation confirm_text=”We have received your appointment. Thanks!”]

warning_text

  • Javascript text displayed if client does not fill a required field.
  • Default: “Please fill in the requested field”
  • Example: [app_confirmation warning_text=”Please fill in the requested field”]

name

  • Descriptive title of the field.
  • Example: [app_confirmation name=”Your name:”]

email

  • Descriptive title of the field.
  • Example: [app_confirmation email=”Your email:”]

phone

  • Descriptive title of the field.
  • Example: [app_confirmation phone=”Your phone:”]

address

  • Descriptive title of the field.
  • Example: [app_confirmation address=”Your address:”]

city

  • Descriptive title of the field.
  • Example: [app_confirmation city=”City:”]

note

  • Descriptive title of the field.
  • Example: [app_confirmation note=”Your notes:”]

gcal

  • Text that will be displayed beside Google Calendar checkbox.
  • Default: “Open Google Calendar and submit appointment”
  • Example: [app_confirmation gcal=”Access Google Calendar and submit appointment”]