Settings Tools
Access business configuration including operating hours and location information.
Required scope: settings:read
Read tools use settings:read; write tools use settings:write and the caller must hold the relevant settings permission.
Tools Overviewโ
| Tool | Description | Read-only? |
|---|---|---|
list_settings_areas | List the settings areas the caller can access | Yes |
get_settings | Read current values and writable fields for one area | Yes |
update_settings | Review or save approved changes to one area | No |
get_business_hours | Get the business operating hours | Yes |
get_locations | Get the business locations | Yes |
get_supplier_widget_settings | Read the supplier's booking-widget configuration | Yes |
update_supplier_widget_settings | Update any subset of widget settings (trust badges, listing mode, timezone style, logo size, URL slug, tagline, social share image, suggestions in the cart, the booking page look, the home page sections and renamed page words) | No |
get_my_account | The signed-in person's name, login email and whether two-factor authentication (2FA) is on | Yes |
get_custom_domains | The shop's own addresses, whether each is live, and the records to add | Yes |
connect_custom_domain | Put the booking page or website on the shop's own address | No |
remove_custom_domain | Remove one of the shop's own addresses | No |
get_embed_code | Codes for the whole booking page, a rental or activity list, one item, or one category on the shop's website | Yes |
Minimum rental orderโ
To keep bookings your staff make on the customer start times, set both fields in the rentals area. rental_customer_start_time_mode takes every_15_minutes, every_half_hour or on_the_hour; a list of set times is chosen on Settings > Rentals.
{
"area": "rentals",
"values": { "rental_customer_start_time_mode": "on_the_hour", "rental_staff_start_times_match": true }
}
Read get_settings with area: "rentals", then use update_settings to change minimum_rental_subtotal in the shop's currency:
{
"area": "rentals",
"values": {"minimum_rental_subtotal": 100},
"user_confirmed": true
}
The amount applies to pickup and delivery bookings that contain rentals. It counts rental items before tax and delivery; extras, activities and store items do not count. Included tax is removed before the comparison. For a mixed flat-price bundle, only the rental share of its sold price counts. Set 0 to remove the minimum.
The write requires settings:write and the Rentals settings permission. Booking creation checks current server prices and rejects a rental order below the saved amount, including bookings created through the API and Dash. Existing bookings remain editable.
get_business_hoursโ
Get the business operating hours for each day of the week, including open/close times and whether the business is open on each day.
Parametersโ
None.
get_locationsโ
Get the business locations, including address details and contact information for each location.
Parametersโ
None.
get_supplier_widget_settingsโ
Read every widget-configuration field for the current supplier in one call. Covers trust badges, default listing mode, timezone display style, logo size, URL slug, tagline, social share image, the booking page look, the home page sections in order and the page words the shop renamed.
Parametersโ
None.
Returnsโ
{
"success": true,
"widget_settings": {
"slug": "beach-rentals-co",
"widget_url": "https://app.equipdash.com/widget/beach-rentals-co",
"trust_badge_secured_enabled": true,
"trust_badge_safety_enabled": false,
"trust_badge_safety_text": "",
"listing_default_mode": "choose",
"timezone_display_style": "short",
"logo_size": "medium",
"tagline": "Ocean gear for every adventure.",
"social_share_image": "supplier-uploads/1/share-card.png",
"primary_color": "#0d3b66",
"text_color": "#303233",
"font": "standard",
"button_shape": "rounded",
"card_style": "shadow",
"background_color": "#ffffff",
"listing_layout": "grid",
"page_layouts": { "rentals": "list" },
"home_sections": [
{ "id": "tiles", "type": "tiles", "name": "Ways to book", "hidden": false, "show_from": null, "show_until": null },
{ "id": "sk3n8xq2a", "type": "welcome", "name": "Welcome", "hidden": false, "show_from": null, "show_until": null,
"words": { "en": { "heading": "Welcome in", "text": "Open every day." } } },
{ "id": "s7hd02lmq", "type": "collection", "name": "Collection", "hidden": false, "show_from": "2026-12-01", "show_until": "2026-12-31",
"collection_id": 4, "collection_name": "Holiday gifts" },
{ "id": "categories", "type": "categories", "name": "Categories", "hidden": false, "show_from": null, "show_until": null }
],
"renamed_words": { "en": { "Add to booking": "Reserve" } }
}
}
font is standard when the shop uses the booking page's own font. A featured section also carries item_kind, item_id and item_name.
update_supplier_widget_settingsโ
Update any subset of widget settings. All fields are optional โ untouched fields keep their current value. Changing slug automatically records the old slug in history so existing /widget/{old-slug}/... URLs 308-redirect to the new one.
Required scope: settings:write
Parametersโ
| Name | Type | Required | Description |
|---|---|---|---|
slug | string | No | New URL slug. Lowercase letters, digits, hyphens; 3โ50 chars. Rejected if it collides with a reserved word or another supplier's slug. |
trust_badge_secured_enabled | boolean | No | Show the "Secured" trust badge on the checkout. |
trust_badge_safety_enabled | boolean | No | Show the "Health & Safety" trust badge + disclosure. |
trust_badge_safety_text | string | No | Supplier-authored safety statement (max 2000 chars). |
listing_default_mode | string | No | "activities", "by-date", or "choose". |
timezone_display_style | string | No | "short" or "long". |
logo_size | string | No | Header logo size: "small", "medium", "large", or "extra_large". Square logos usually look best a size up. |
tagline | string | No | Max 200 chars. |
social_share_image | string | No | Relative storage path only (no external URLs). |
suggest_in_cart | boolean | No | Suggest a few items in the cart, on the confirmation page and in the confirmation email, worked out from what customers buy together and what is popular. false turns suggestions off for the whole shop. |
leave_out_of_suggestions | array | No | Items never to suggest, like [{"item_type": "rental", "item_id": 12}]. item_type is rental, experience or store. |
put_back_in_suggestions | array | No | Items left out earlier that may be suggested again, same shape. |
primary_color | string | No | Buttons and brand color, as a hex code like "#0d3b66". |
text_color | string | No | Text color, as a hex code. |
font | string | No | "standard" (the booking page's own font) or one of inter, poppins, montserrat, dmsans, worksans, raleway, spacegrotesk, archivo, playfair, lora, oswald, bebas. |
button_shape | string | No | "rounded", "pill" or "square". |
card_style | string | No | "shadow", "outline" or "flat". |
background_color | string | No | The page color behind the cards, as a hex code. "#ffffff" is the standard white page. |
listing_layout | string | No | How items are laid out on every listing page: grid, list, tile, editorial, showcase, bento, mosaic or pricelist. Changing it clears the layouts set on single pages in the booking page editor (page_layouts in the read). |
home_sections | array | No | Changes to the home page, applied in order. See Home page sections. |
rename_words | array | No | Fixed page words to rename, like [{"original": "Add to booking", "renamed": "Reserve", "language": "en"}]. An empty renamed puts the original back. language defaults to en. Only words the booking page prints on its own can be renamed; item names and the shop's own words are changed where they are set. New words can't contain quotes, backslashes, angle brackets, braces or backticks. |
user_confirmed | boolean | Yes | Must be true to write. First call with false returns a preview of the planned changes. |
Returnsโ
{
"success": true,
"message": "Widget settings updated.",
"updated_fields": ["slug", "tagline"],
"widget_settings": { "โฆ": "full updated bundle" }
}
Every value is checked with the same rules as Settings > Booking widget. If any value, home page change or rename is not valid, the tool returns an error that names each one by its position (like home_sections[1]), and nothing in the call is saved.
Home page sectionsโ
Each change is an object with an action. Section ids come from get_supplier_widget_settings.
| Action | Fields | What it does |
|---|---|---|
move_up, move_down | section_id | Moves the section one place. |
hide, show | section_id | Hides the section from customers, or shows it again. |
add | type, optional section_id, words, language, show_from, show_until | Adds a section at the top, or after section_id. type is welcome, notice, cover, collection (needs collection_id) or featured (needs item_kind of rental, experience, store or bundle, and item_id). The collection or item must belong to the shop. A cover's photo is picked in the booking page editor. |
remove | section_id | Removes a section the shop added. tiles and categories can only be hidden. |
set_words | section_id, words, optional language | Sets heading (up to 80 characters) and text (up to 300) in one language. A notice has text only. |
set_dates | section_id, show_from and/or show_until | Shows the section only between these days (YYYY-MM-DD, in the shop's time zone). An empty date clears it. |
{
"home_sections": [
{ "action": "add", "type": "welcome", "section_id": "tiles", "words": { "heading": "Welcome in", "text": "Open every day." } },
{ "action": "hide", "section_id": "categories" }
],
"user_confirmed": true
}
The reply lists each change with done, and an add gives the new section_id:
{
"success": true,
"home_sections": [
{ "action": "add", "section_id": "sk3n8xq2a", "after": "tiles", "done": true },
{ "action": "hide", "section_id": "categories", "done": true }
]
}
rename_words replies the same way, one entry per word. A change that could not be made has done: false and an error, and the message names it.
create_policyโ
Create a new cancellation/reschedule policy for the supplier.
Required scope: settings:write
Parametersโ
| Name | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Policy name |
description | string | No | Customer-facing description |
time_before_booking | integer | No | Hours before booking when this policy applies (default 24) |
allow_reschedule | boolean | No | Customer can reschedule (default true) |
reschedule_cutoff_hours | integer | No | Hours before the booking start a customer may still self-reschedule. Omit / null = any time before start. Staff are never blocked. |
allow_cancellations | boolean | No | Customer can cancel (default true) |
refund_percentage | integer | No | 0-100 (default 100) |
Returnsโ
{
"success": true,
"message": "Policy '48hr cancellation' created.",
"policy": { "id": 11, "name": "48hr cancellation" }
}
create_email_templateโ
Customise the subject/body of an existing email template type for the supplier. Email templates are seeded per type โ this tool overwrites the editable copy.
Required scope: settings:write
Parametersโ
| Name | Type | Required | Description |
|---|---|---|---|
template_type | string | Yes | EmailTemplate enum value, e.g. booking_confirmation, payment_receipt |
subject | string | No | Email subject line |
intro_text | string | No | Opening 1-2 sentences (structured layouts only) |
outro_text | string | No | Sign-off / call to action (structured layouts only) |
body | string | No | Full email body (HTML or plain text) |
Returnsโ
{
"success": true,
"message": "Email template 'Booking Confirmation' updated.",
"template": { "id": 33, "type": "booking_confirmation" }
}
get_my_accountโ
The signed-in person's own name and the email they sign in with, and whether two-factor authentication (2FA) is on. Read only: no tool turns 2FA on or off or shows backup codes. The person does that themselves in Settings > Account details. An API key has no person behind it, so the tool returns an error for a key-only call.
Parametersโ
None.
Returnsโ
{
"success": true,
"account": { "first_name": "Jane", "last_name": "Doe", "email": "jane.doe@example.test" },
"two_step_sign_in": {
"on": true,
"signs_in_with_google": false,
"required_by_team": false,
"backup_codes_left": 8
},
"settings_page": "settings.accountDetails"
}
get_custom_domainsโ
The shop's own addresses (like book.yourshop.com): what each opens, whether it is live, and if not,
the two DNS records with the short names to type and the steps at the company that holds the domain.
Scope settings:read.
Parametersโ
None.
Returnsโ
{ "success": true, "addresses": [ ... ] } - each address is the same object the
Custom Domains REST API returns. Only call an address live when
status is live.
connect_custom_domainโ
Put the booking page (no website needed) or the website on the shop's own address. Scope
settings:write. Pro plan.
Parametersโ
| Name | Type | Required | Description |
|---|---|---|---|
domain | string | Yes | e.g. book.yourshop.com. Not the bare yourshop.com. |
opens | string | Yes | booking or website |
Returnsโ
{ "success": true, "address": { ... } }, or an error sentence to read to the owner.
remove_custom_domainโ
Remove one of the shop's own addresses. It stops opening the shop's pages at once. Scope
settings:write. Dash asks the owner before running it.
Parametersโ
| Name | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | The address id from get_custom_domains |
get_embed_codeโ
The direct link and the code that put something the shop sells on its own website.
Parametersโ
| Name | Type | Required | Description |
|---|---|---|---|
kind | string | Yes | rental, experience, store_product, bundle, program, gift_card, service, collection, rental_category, experience_category, booking_page, rentals_list or experiences_list |
item_id | integer | No | The item or category. Give this or item_name (not needed for booking_page, rentals_list, experiences_list, gift_card or service) |
item_name | string | No | The item or category name, matched within this shop |
booking_page returns one inline booking widget with rentals and activities together when both are enabled. rentals_list and experiences_list return a list for one booking type. These kinds need no item. The result includes the complete embed code, a direct link, a floating button code, and shared Shopify and WordPress installation steps. Paste the entire code, including its script.
rental_category and experience_category return the listing of one category, so new items added to it show up on the website by themselves. A category the shop does not have returns an error that names the categories it has.
Relatedโ
- Settings REST API - REST API for business settings
- Seasons Tools - Pricing seasons configuration
Booking payments by bank transferโ
Call get_settings with area: "payments" to read the current rules. To offer bank transfer checkout, review these values with the owner, then call update_settings with user_confirmed: true:
{
"area": "payments",
"values": {
"bank_transfer_online": true,
"bank_transfer_instructions": "Example Bank, account 1234567. Use your booking number as the reference.",
"credit_card_online": false,
"pay_at_pickup_online": false,
"checkout_payment_requirement": "deposit",
"checkout_deposit_type": "percentage",
"checkout_deposit_value": 25,
"balance_collection_method": "manual",
"balance_collection_days_before": 3
},
"user_confirmed": true
}
Use instructions supplied by the owner, up to 2,000 characters. Bank transfer checkout replaces card payment and pay at pickup; it requires instructions and manual balance collection. It is off by default. Bookings inside the balance deadline owe the full remaining amount immediately. Monthly memberships still require a card.
The booking remains unpaid until a received payment is recorded. Checkout, confirmation and email show the transfer amount, remaining balance, deadline and the instructions approved for that booking. A pending transfer request is not received money. Record the actual bank transfer through the existing booking payment operation.
Booking requests still follow their existing approval and card rules. Enabling bank transfer does not remove those rules.