---
# System prepended metadata

title: Settings File

---

---
title: "Settings File"
description: Setster Form Components
---

## Overview

Customizing the form inputs happens within the `settings.local.json` file. This file has been duplicated from the base settings.json file and is the file you'll interact with to customize the questions and steps within the multi-step form flow.

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

```json
{
     "settings_version": "1.0.8",
     "widget_height": "800px",
     "account_id": 18607,
     "enable_link_check": true,
     "stripe_public_key": "",
     "cards": {},
     "flow": {},
     "meta": {},
     "finish_message": "You are all set",
     "pay_in_person_message": "If you would like to make payment in person you must first confirm your e-mail address by following the corresponding link in the e-mail confirmation message that has been sent to you.",
     "google_map_options": {}
}
```

## Required Properties

### widget_height

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

### account_id

The company_id of the Setster account you created. This parameter is used to tell the widget what Setster account to use to fetch information for.

### cards

This is where all content for your form flow will reside. Cards are each view change representing the different form steps.

_Example Card_

```json
{
     "your_card_name": {
          "title": "What have you been eyeing?",
          "subtitle": "",
          "label": "Product",
          "type": "tiles",
          "show_in_summary": true,
          "is_multi_select": false,
          "layout": "tiles",
          "tiles": [
               {
                    "title": "Shades",
                    "description": "",
                    "value": "Shades",
                    "img": "sunglasses.png"
               },
               {
                    "title": "Spectacles",
                    "description": "",
                    "value": "Spectacles",
                    "img": "glasses.png"
               }
          ]
     }
}
```

### flow

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

_Example Flow_

```json
{
     "gender": { "actions": [{ "next": "need_fit" }] },
     "need_fit": {
          "actions": [
               {
                    "next": "fit",
                    "condition": { "op": "all_of", "values": ["Yes"] }
               },
               {
                    "next": "shape",
                    "condition": { "op": "all_of", "values": ["No"] }
               }
          ]
     }
}
```

### meta

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 customer's record.

### google_map_options

In here we set different parameters needed for the `locations` step type.

```json
{
     "intro": {
          "title": "Congratulations.. Let’s get you a ring she’ll love",
          "subtitle": "",
          "label": "",
          "type": "info",
          "show_in_summary": false,
          "content": "",
          "img": "holdhands.jpeg"
     }
}
```

## Optional Properties

| Property              | Description                                                                                                                                                                                                                       | Type    | Example                                |
| --------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- | -------------------------------------- |
| settings_version      | This is a settings versioning parameter. It is used when you make changes to the settings version. When the version changes, the widget will automatically reset the local storage so that the changes are applied to the widget. | string  | "1.0.8"                                |
| enable_link_check     | This parameter is used to tell the widget if it should check for locations/staff/services links that are being setup in Setster.                                                                                                  | boolean | true                                   |
| stripe_public_key     | 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.                                                          | string  | "47e76456-4bc8-11ec-81d3-0242ac130003" |
| finish_message        | Once your form is submitted or appointment booked this message will display to the user.                                                                                                                                          | string  | "You are all set"                      |
| pay_in_person_message | ??                                                                                                                                                                                                                                | string  | "confirm your e-mail address.""        |
| google_map_options    | The styling and map configuration options for cards that use Google Maps                                                                                                                                                          | object  | {}                                     |
