Skip to main content

WordPress plugin

The Sessiq Booking Widget plugin puts the booking flow on a WordPress site with shortcodes or Gutenberg blocks. It loads the JavaScript widget for you and passes your settings to it.

Current version: 1.1.56. It requires WordPress 6.0 or later and PHP 8.0 or later.

Install​

  1. Get the plugin zip file from Sessiq.
  2. In WordPress, open Plugins → Add New Plugin → Upload Plugin, choose the zip and click Install Now.
  3. Click Activate.
  4. Open Settings → Sessiq and fill in the API settings (below).
  5. Add your website's address to the site's Allowed widget origins in the Sessiq admin. See Before you start.

To update, upload the new zip the same way and let WordPress replace the installed version.

Settings​

Open Settings → Sessiq. The page has three sections and a Test Connection button, which tries to load one product with your settings and reports whether it worked.

The widget only loads on your pages once API URL and Tenant ID are both set.

SectionSettingDefaultDescription
API ConfigurationAPI URLemptyThe base URL of your Sessiq API.
API ConfigurationTenant IDemptyYour Sessiq tenant identifier.
API ConfigurationSite IDemptyOptional. The widget uses this site's branding colours. Leave it blank to use account-level branding.
API ConfigurationPublic API KeyemptyOptional. Create one in the Sessiq admin under Settings → API Keys. It is included in the page source and visible to visitors, so use a read-only key.
API ConfigurationBooking Page URLemptyBase URL of your customer booking portal. The availability calendar sends customers there. https:// is added and trailing slashes removed.
AppearancePrimary Color#3B82F6Main accent colour.
AppearanceButton Color#10B981Colour of booking buttons.
AppearanceBackground ColoremptyOptional. Base panel background, including the pop-up booking window. Empty means white.
AppearanceSurface ColoremptyOptional. Raised panels such as headers, rows and steppers.
AppearanceText ColoremptyOptional. Set it together with a dark Background Color for a dark theme.
AppearanceBorder ColoremptyOptional. Dividers and borders.
LegalTerms & Conditions URLemptyLinked in the booking review step.
LegalPrivacy Policy URLemptyLinked in the booking review step.
caution

Your Sessiq branding colours take priority over Primary Color and Button Color once they load. Set your brand colours in the Sessiq admin under Settings → Branding or on the site. See Theming.

The widget's language follows the WordPress site language. The interface text is Finnish when the site language is fi or fi_FI, and English otherwise.

Shortcodes​

Add a shortcode to any page or post, for example [sessiq_widget product_id="your-product-id"]. For true/false attributes use true or false. A shortcode that is missing a required ID outputs nothing.

ShortcodeWhat it showsWidget placeholder
[sessiq_widget]The booking flow for one productsessiq-booking-widget-container
[sessiq_flow]The location-first booking flowsessiq-party-selector-container
[sessiq_party]Alias of [sessiq_flow], kept for existing pagessessiq-party-selector-container
[sessiq_product]One product cardsessiq-product-card
[sessiq_products]A grid of product cardssessiq-products-grid
[sessiq_calendar]An availability calendarsessiq-calendar-widget
[sessiq_courses]A grid of coursessessiq-courses-grid
[sessiq_course_product]One course product's termssessiq-course-product-container
[sessiq_course]Enrolment in one coursesessiq-course-widget-container
[sessiq_waiver]Standalone waiver signingsessiq-waiver-standalone
[sessiq_campaign]An advent-style campaign calendarsessiq-campaign

The JavaScript widget page explains what each attribute does in more detail.

[sessiq_widget]​

AttributeDefaultDescription
product_id—Required. The product to book.
show_stepstrueShow the step progress bar.
compactfalseCompact layout.
success_urlemptyReturn URL after a redirect payment. Empty means this page.
cancel_urlemptyReturn URL if a redirect payment is cancelled. Empty means this page.
powered_byfalseShow a "Powered by Sessiq" badge.
default_viewmonthFirst calendar layout: month or week.

[sessiq_flow] and [sessiq_party]​

Both names run the same code. Use [sessiq_flow] on new pages.

AttributeDefaultDescription
product_tagemptyOnly offer products with this product tag.
product_idsemptyComma-separated product IDs to offer. Takes precedence over product_tag.
site_idsemptyComma-separated site IDs for the location step. One site skips the step.
show_stepstrueShow the step progress bar.
compactfalseCompact layout.
success_urlemptyReturn URL after a redirect payment.
cancel_urlemptyReturn URL if a redirect payment is cancelled.
powered_byfalseShow the "Powered by Sessiq" badge.
default_viewmonthFirst calendar layout: month or week.
item_list_idemptyAnalytics list ID. Empty uses booking_products.
item_list_nameemptyAnalytics list name. Empty uses the translated "Activities" label.
[sessiq_flow product_tag="birthday"]
[sessiq_flow site_ids="site-a,site-b" item_list_id="lessons"]

[sessiq_product]​

AttributeDefaultDescription
id—Required. The product.
show_nametrueShow the product name.
show_pricetrueShow the price.
show_descriptiontrueShow the description.
button_text"Book Now"Button label (translated).
use_modalfalseOpen the booking flow in a pop-up window.
classemptyExtra CSS classes on the container.
barefalseDrop the card background, border, shadow and padding, leaving just the button. Useful for inline "Book" buttons.

Also accepts the style attributes.

[sessiq_products]​

AttributeDefaultDescription
site_idemptyOnly show products of this site.
limit12Maximum number of products.
columns3Number of columns.
order_byemptyname or price. Empty keeps the API order.
show_nametrueShow product names.
show_pricetrueShow prices.
show_descriptiontrueShow descriptions.
button_text"Book Now"Button label (translated).
use_modalfalseOpen the booking flow in a pop-up window.
classemptyExtra CSS classes on the container.
barefalseDrop the default card chrome.

Also accepts the style attributes.

[sessiq_calendar]​

AttributeDefaultDescription
product_id—Required. The product.
months2Months of availability to load.
show_pricestrueShow prices on times.
min_party_size1Smallest party size.
max_party_size20Largest party size.
default_viewmonthFirst layout: month or week.

Picking a time sends the customer to the Booking Page URL from the settings.

[sessiq_courses]​

AttributeDefaultDescription
site_idemptyOnly show courses of this site.
columns3Number of columns.
order_byemptydate, name or price. Empty uses the widget default (date).
show_stepstrueShow the step progress bar.
success_urlemptyReturn URL after a redirect payment.
cancel_urlemptyReturn URL if a redirect payment is cancelled.
classemptyExtra CSS classes on the container.
barefalseDrop the default card chrome.

Also accepts the style attributes.

[sessiq_course_product]​

AttributeDefaultDescription
id—Required. The course product.
site_idemptyOnly show terms at this site.
show_stepstrueShow the step progress bar.
success_urlemptyReturn URL after a redirect payment.
cancel_urlemptyReturn URL if a redirect payment is cancelled.
classemptyExtra CSS classes on the container.
barefalseDrop the default card chrome.

Also accepts the style attributes.

[sessiq_course]​

AttributeDefaultDescription
id—Required. The course.
show_stepstrueShow the step progress bar.
compactfalseCompact layout.
success_urlemptyReturn URL after a redirect payment.
cancel_urlemptyReturn URL if a redirect payment is cancelled.

[sessiq_waiver]​

AttributeDefaultDescription
booking_idemptyThe booking whose participants sign.
product_idemptyThe product whose waiver is used when there is no booking yet.
signature_modebothtyped, drawn or both. Any other value becomes both.

Give booking_id, product_id or both.

[sessiq_campaign]​

AttributeDefaultDescription
slugemptyThe campaign. Empty shows the single active campaign.
return_urlemptyReturn URL for prepaid offers paid by redirect. Empty means this page.

Style attributes​

[sessiq_product], [sessiq_products], [sessiq_courses] and [sessiq_course_product] accept style attributes. Each one sets a CSS variable on that one container, so it overrides the page-wide colours for that embed only. See Theming.

Values may contain letters, digits, spaces and # , . % ( ) _ -. Other characters are removed.

AttributeCSS variable
button_color--sessiq-button
button_text_color--sessiq-button-text
button_hover_color--sessiq-button-hover
button_hover_text_color--sessiq-button-hover-text
button_shadow--sessiq-button-shadow
button_hover_shadow--sessiq-button-hover-shadow
button_radius--sessiq-button-radius
button_padding--sessiq-button-padding
button_border--sessiq-button-border
button_font_size--sessiq-button-font-size
button_weight--sessiq-button-weight
button_letter_spacing--sessiq-button-letter-spacing
button_uppercase--sessiq-button-transform: uppercase when true (default false)
primary_color--sessiq-primary
text_color--sessiq-text
muted_color--sessiq-text-muted
background_color--sessiq-background
border_color--sessiq-border
radius--sessiq-radius
[sessiq_product id="your-product-id" bare="true" button_color="#ff2d95" button_radius="999px" button_uppercase="true"]

Gutenberg blocks​

In the block editor, search for "Sessiq". The blocks produce the same placeholders as the shortcodes. Style attributes, class and bare are shortcode-only.

BlockSettings (default)Same as
Sessiq Booking WidgetProduct ID, Show steps (on), Compact mode (off), Default view (month)[sessiq_widget]
Sessiq Product CardProduct ID, Show price (on), Show description (on), Button text ("Book Now"), Use modal (off)[sessiq_product]
Sessiq Product ListSite ID, Columns (3), Limit (12), Order by (API order), Show price (on), Show description (on), Use modal (off)[sessiq_products]
Sessiq CalendarProduct ID, Months (2), Show prices (on), Min party size (1), Max party size (20), Default view (month)[sessiq_calendar]
Sessiq Course ListSite ID, Columns (3), Order by (date), Show steps (on)[sessiq_courses]
Sessiq Course ProductProduct ID, Site ID, Show steps (on)[sessiq_course_product]
Sessiq Course EnrollmentCourse ID, Show steps (on), Compact mode (off)[sessiq_course]
Sessiq WaiverProduct ID, Booking ID (signature mode is always both)[sessiq_waiver]

There is no block for the location-first flow or the campaign calendar. Use the [sessiq_flow] and [sessiq_campaign] shortcodes in a Shortcode block.

Deprecated options​

Deprecated

[sessiq_widget] accepts legacy_widget="true", which adds data-legacy-widget="true" to the container. It runs the old single-product widget from before version 1.1.52 instead of the booking flow. It is a one-release fallback and will be removed in the next release. Do not use it on new pages, and remove it from existing ones once the booking flow works for you.