Skip to main content

Base Concepts

Schema Overview

Customizing the form inputs happens within the settings.json file. This is the file you'll interact with to customize the content of the questions and steps within the multi-step booking form flow.

At the base of the settings file, we have the following properties:

account_id
required
integer

The company id of the Setster account you created. This parameter is used to tell the app what Setster account to use to fetch information from and save appointment information to.

base_url
required
string

The base url is used to tell the app where images and resources are served from. Ensure a trailing slash is added.

embed_id
required
string

The id of the element the app will be embedded on.

finish_message
required
string

Once your form is submitted or appointment booked this message will display to the user.

required
object (AppState.IFlow)

This is the logic for your form steps where you can conditionally jump to other steps based on highly customizable rules.

settings_version
required
string

A simple versioning solution that that will update your Studio embed when you release new versions of your settings.json file.

steps
required
object (AppState.ISteps)

This is where all content will reside. Each step type provides a distinct user experience with some directly tied to appointment booking.

developer_mode
boolean

Enabling developer mode resets the app when the page is refreshed. When it is disabled the app will persist user selections to ensure their answers are preserved the next time they visit the form flow.

object (IEmbedHeight)

The fixed pixel height you want your embed to be when it's embedded into your website.

object (IBreakpoints)

The fixed pixel maximum width you want your embed to be when it's embedded into your website.

object (IMeta)

The input details you would like to save to our database for future retrieval. Input values that are not included in the meta would not be accessible in the future when retrieving a client's appointment record and will not be saved.

summaries
object (ISummaries)

Summaries are used to display the values that the user had previously answered in each step throughout the entire form flow. The content of this step will show alongside the appointment booking details form step.

embed_url
string

Where the app is embedded or located which allows the reschedule/cancel links in emails to point to the correct url. Ensure a trailing slash is added

enable_link_check
boolean

This parameter is used to tell the app if it should check for locations/staff/services links that are set up in Setster to only show ones that are associated with previous selections. For example: Only show services that are available at the previously selected location.

default_location
integer

The physical or virtual location id where the appointment or the meeting will take place. Auto-selects an appointment location based on the provided location Id. Allows the user to skip the location selection step since it's pre-selected. Especially useful for accounts with only one location.

default_service
integer

Auto-selects an appointment service based on the provided service id. Allows the user to skip the service selection step since it's pre-selected. Especially useful for accounts with only one service.

default_staff
integer

The individual staff memeber who is being booked for an appointment. Auto-selects a staff member based on the provided staff Id. Allows the user to skip the staff selection step since it's pre-selected. Especially useful for accounts with a single staff member.

stripe_public_key
string

This is the public key that you get from Stripe. This is needed if you have services which require payment and you have Setster setup to accept payments through Stripe.

pay_in_person_message
string

The message you'll display if the user selects to pay for a particular service in person. The pay in person option can be configured in the services settings in your Setster dashboard.

{
  • "embed_id": "my-embed-id",
  • "settings_version": "1.0.0",
  • "developer_mode": true,
  • "embed_height": {
    },
  • "breakpoints": {
    },
  • "account_id": 1234,
  • "steps": {
    },
  • "flow": {
    },
  • "meta": {
    },
  • "summaries": {
    },
  • "embed_url": "https://www.setster.com/",
  • "enable_link_check": true,
  • "default_location": 1234,
  • "default_service": 1234,
  • "default_staff": 1234,
  • "finish_message": "Thanks for booking an appointment with us. You're all set.",
  • "stripe_public_key": "1234-12341234-12341234",
  • "pay_in_person_message": "We'll collect payment in person during your appointment."
}

Full Specification

Loading ....