Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 13 additions & 9 deletions activities/activities.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,11 @@ Sailia supports three types of activities:
| **Hires** | Equipment or resource rentals for a defined duration, such as kayak hire or wetsuit rental |
| **Events** | One-off or recurring events with attendee management, such as a beach clean-up or open day |

All three types share the same booking and payment flow. The main differences are in how scheduling and capacity work.
All three types share the same booking and payment flow. The main differences are in how scheduling and capacity work:

- **Courses** have a fixed schedule with specific start times. You define when each session runs and how many sessions make up the course. Customers book individual sessions or the full course.
- **Hires** are time-slot based. You define the available hours and duration options, and customers choose their preferred slot.
- **Events** are typically one-off or annual occasions. You set the date, time, and attendee capacity.

## Create an activity

Expand Down Expand Up @@ -61,15 +65,9 @@ Each activity session has a maximum capacity. As customers book, the available s

## Add-ons

Add-ons are optional extras that customers can purchase alongside an activity booking. Examples include equipment hire, photography packages, or meal upgrades.

When creating an add-on:

1. Give it a name, description, and price.
2. Link it to one or more activities.
3. Choose whether it is per-person or per-booking.
Add-ons are optional extras that customers can purchase alongside an activity booking. Examples include equipment hire, photography packages, or meal upgrades. Each add-on can be charged per person or per booking.

Add-ons appear during the checkout flow and are included in the order total. They are also eligible for [discount codes](/pricing/discount-codes) if configured.
See [add-ons](/activities/add-ons) for a full guide on creating, managing, and pricing add-ons.

## Accounting categories

Expand All @@ -78,10 +76,16 @@ If you use the [Xero accounting sync](/integrations/accounting-sync), assign an
## Related guides

<Columns cols={2}>
<Card title="Add-ons" icon="puzzle-piece" href="/activities/add-ons">
Offer optional extras alongside activity bookings.
</Card>
<Card title="Online bookings" icon="globe" href="/activities/online-bookings">
Learn how customers book activities through your booking page.
</Card>
<Card title="Waitlists" icon="user-plus" href="/activities/waitlists">
Manage demand when activities are fully booked.
</Card>
<Card title="Seasonal scheduling" icon="snowflake" href="/activities/seasonal-scheduling">
Manage seasonal availability and holiday schedules.
</Card>
</Columns>
93 changes: 93 additions & 0 deletions activities/add-ons.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
---
title: Add-ons
description: Offer optional extras like equipment hire, photography packages, or meal upgrades alongside activity bookings.
keywords: ['add-ons', 'extras', 'upsell', 'per-person', 'per-booking', 'activity add-ons']
---

Add-ons are optional extras that customers can purchase alongside an activity booking. Use them to upsell equipment hire, photography packages, meal upgrades, or any other complementary product.

## How add-ons work

1. You create an add-on and link it to one or more activities.
2. During checkout, customers see the available add-ons for their selected activity.
3. They choose which add-ons to include and the quantity.
4. The add-on cost is included in the order total and processed in the same transaction.

## Create an add-on

<Steps>
<Step title="Open the add-ons section">
Navigate to your activities dashboard and select **Add-ons**.
</Step>
<Step title="Create a new add-on">
Click **Create Add-on** and enter the add-on name, description, and price.
</Step>
<Step title="Choose the pricing model">
Select whether the add-on is charged **per person** or **per booking**:

| Pricing model | How it works |
| --- | --- |
| **Per person** | The price is multiplied by the number of participants. For example, a wetsuit hire at $10 per person costs $40 for a group of 4 |
| **Per booking** | A flat fee charged once regardless of how many participants are in the booking. For example, a group photo package at $25 |
</Step>
<Step title="Link to activities">
Select which activities this add-on applies to. The add-on only appears during checkout for the linked activities.
</Step>
<Step title="Save">
Click **Save** to make the add-on available.
</Step>
</Steps>

## Add-ons at checkout

When a customer books an activity with linked add-ons, they see the available extras during the checkout flow. Customers can:

- Select which add-ons they want
- Adjust the quantity for per-person add-ons
- See the running total update in real time

Add-ons are displayed after the customer selects their activity session and before they proceed to payment.

## Add-ons for group bookings

For [group bookings](/activities/group-bookings), add-on pricing depends on the pricing model:

- **Per-person add-ons** are multiplied by the number of participants in the group
- **Per-booking add-ons** are charged once for the entire group

## Discounts on add-ons

Add-ons are eligible for [discount codes](/pricing/discount-codes) if you include them in the discount's product eligibility settings. This lets you create promotions that cover the full booking experience, including extras.

## Accounting categories

If you use the [Xero accounting sync](/integrations/accounting-sync), you can assign an accounting category to each add-on. This determines how add-on revenue is categorized on Xero invoices, including the correct VAT rate and account code.

## Managing add-ons

From the add-ons dashboard, you can:

- **Edit** an add-on's name, description, price, or linked activities at any time
- **Deactivate** an add-on to stop it from appearing at checkout without deleting it
- **View** which activities an add-on is linked to

<Note>
Changes to an add-on's price only affect future bookings. Existing bookings retain the price that was charged at the time of purchase.
</Note>

## Related guides

<Columns cols={2}>
<Card title="Activities" icon="calendar" href="/activities/activities">
Create activities and configure their settings.
</Card>
<Card title="Group bookings" icon="users" href="/activities/group-bookings">
How add-ons work with group bookings.
</Card>
<Card title="Discount codes" icon="tag" href="/pricing/discount-codes">
Create discounts that apply to add-ons.
</Card>
<Card title="Online bookings" icon="globe" href="/activities/online-bookings">
How add-ons appear during checkout.
</Card>
</Columns>
2 changes: 1 addition & 1 deletion activities/group-bookings.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ You can check waiver completion status for each participant from the [booking de

## Add-ons for groups

[Add-ons](/activities/activities#add-ons) configured as **per-person** are multiplied by the number of participants. Add-ons configured as **per-booking** are charged once regardless of group size.
[Add-ons](/activities/add-ons) configured as **per-person** are multiplied by the number of participants. Add-ons configured as **per-booking** are charged once regardless of group size.

## Managing group bookings

Expand Down
16 changes: 0 additions & 16 deletions api-reference/ota-core.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -152,22 +152,6 @@ Retrieve the waiver questions associated with an activity. Use this to display r
GET /api/v2/ota/adventuro/questions/{ActivityID}
```

### Responses

| Status | Description |
| --- | --- |
| **200** | List of available timeslots |
| **400** | Invalid `ActivityID` |
| **422** | Missing `Date` parameter |

## Get waiver questions

Retrieve the waiver questions associated with an activity. Use this to display required forms to customers before they complete a booking.

```
GET /api/v2/ota/core/questions/{ActivityID}
```

### Path parameters

| Parameter | Type | Description |
Expand Down
55 changes: 55 additions & 0 deletions customers/importing-customers.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
---
title: Importing customers
description: Import customer and contact data into Sailia using CSV files.
keywords: ['import', 'CSV', 'customer import', 'contacts', 'migration', 'bulk import']
---

You can import customer and contact data into Sailia using CSV files. This is useful when migrating from another system, adding a batch of contacts to your [marketing audience](/customers/marketing), or bulk-importing membership records.

## Import contacts

<Steps>
<Step title="Prepare your CSV file">
Create a CSV file with your customer data. Include columns for name and email address at a minimum.
</Step>
<Step title="Open the import tool">
Navigate to the section where you want to import data (for example, the audience section for marketing contacts or the membership section for bulk member imports).
</Step>
<Step title="Upload the file">
Select your CSV file and upload it. Sailia maps the columns to the relevant fields.
</Step>
<Step title="Review and confirm">
Review the import preview to verify the data looks correct before confirming.
</Step>
</Steps>

## What you can import

| Data type | Where to import | Notes |
| --- | --- | --- |
| **Marketing contacts** | Audience section | Adds contacts to your newsletter and campaign audience |
| **Membership records** | Memberships section | Bulk-import members with plan ID, billing dates, member numbers, add-ons, and notes |

## Important notes

<Warning>
Importing contacts through a CSV upload does not resubscribe contacts who have previously unsubscribed from your marketing communications. Their unsubscribe preference is preserved.
</Warning>

- **Duplicate handling** — if a contact with the same email address already exists, the import updates their record rather than creating a duplicate
- **Email validation** — rows with invalid email addresses are skipped during import
- **Encoding** — save your CSV file with UTF-8 encoding to avoid issues with special characters

## Related guides

<Columns cols={2}>
<Card title="Marketing and audience" icon="bullhorn" href="/customers/marketing">
Manage your audience and grow your subscriber list.
</Card>
<Card title="Memberships" icon="id-card" href="/pricing/memberships">
Set up membership plans and manage members.
</Card>
<Card title="Customer management" icon="users" href="/customers/overview">
View and manage customer profiles.
</Card>
</Columns>
12 changes: 9 additions & 3 deletions customers/waivers.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -31,14 +31,20 @@ Waivers let you collect acknowledgements, consent forms, and supporting document

| Content type | Description |
| --- | --- |
| **Text** | Static text shown to the customer, such as terms and conditions or safety instructions |
| **Checkbox** | A tick box the customer must check to confirm agreement |
| **Text** | A short text field for collecting brief responses, such as a name or allergy information |
| **Long text** | A multi-line text field for longer responses, such as medical details or special requirements |
| **Multiple choice** | A single-select question where the customer picks one option from a list |
| **Multi-select** | A question where the customer can pick multiple options from a list |
| **Checkbox** | A tick box the customer must check to confirm agreement, such as terms and conditions acceptance |
| **Date** | A date picker field for collecting dates, such as a date of birth |
| **Signature** | A digital signature field |
| **File upload** | A field where customers can attach documents — see [file uploads](/customers/file-uploads) for supported formats and size limits |

You can also add **static text blocks** to display terms and conditions, safety instructions, or other information that does not require a response.

## Required fields

When you add a question to your waiver — including text, long text, multiple choice, multi-select, checkbox, date, and file upload fields — you can toggle it as **required**. Required questions must be completed before the customer can submit the waiver. Use this to ensure you always collect critical information like medical declarations or proof of qualifications.
When you add a question to your waiver, you can toggle it as **required**. Required questions must be completed before the customer can submit the waiver. Use this to ensure you always collect critical information like medical declarations or proof of qualifications.

## Send a waiver to customers

Expand Down
5 changes: 5 additions & 0 deletions docs.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
"getting-started/overview",
"getting-started/setup-checklist",
"getting-started/account-settings",
"getting-started/branding",
"getting-started/booking-page",
"getting-started/embedding",
"getting-started/locations"
Expand All @@ -29,6 +30,7 @@
"group": "Activities and scheduling",
"pages": [
"activities/activities",
"activities/add-ons",
"activities/online-bookings",
"activities/managing-bookings",
"activities/group-bookings",
Expand All @@ -44,6 +46,7 @@
"customers/overview",
"customers/customer-accounts",
"customers/family-accounts",
"customers/importing-customers",
"customers/waivers",
"customers/file-uploads",
"customers/notifications",
Expand Down Expand Up @@ -83,6 +86,7 @@
"group": "Staff and operations",
"pages": [
"staff/management",
"staff/qualifications",
"staff/permissions",
"staff/auto-timesheets",
"staff/availability",
Expand All @@ -104,6 +108,7 @@
"pages": [
"help/common-tasks",
"help/customer-guide",
"help/data-privacy",
"help/faq",
"help/troubleshooting",
"help/contact"
Expand Down
80 changes: 80 additions & 0 deletions getting-started/branding.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
---
title: Branding and appearance
description: Customize how your booking page looks with your business logo, colors, and branding.
keywords: ['branding', 'logo', 'appearance', 'customization', 'booking page design', 'brand colors']
---

Your booking page is the first thing customers see when they visit your online storefront. Sailia lets you customize the appearance so it matches your brand identity.

## Business logo

Your logo appears at the top of your booking page and in customer-facing emails.

<Steps>
<Step title="Open account settings">
Navigate to **Settings** in your Sailia dashboard.
</Step>
<Step title="Upload your logo">
In the branding section, upload your business logo. Use a high-resolution image with a transparent background for the best results.
</Step>
<Step title="Save">
Click **Save** to apply your logo across the booking page and email communications.
</Step>
</Steps>

<Tip>
Use a logo image that is at least 200px wide. PNG or SVG formats with transparent backgrounds work best.
</Tip>

## Booking page layout

Your booking page is automatically generated based on your activities, products, and settings. Customers see:

- **Your business logo and name** at the top of the page
- **Activity listings** with images, descriptions, and availability
- **A calendar view** showing available sessions
- **Real-time availability** that updates as bookings come in
- **A responsive layout** that works on desktop, tablet, and mobile devices

## Activity images and descriptions

Each activity on your booking page displays the images and description you configure in the [activities section](/activities/activities). To make a good impression:

- Use clear, high-quality images that show the activity in action
- Write concise descriptions that explain what the customer can expect
- Highlight what is included (equipment, instruction, duration)
- Mention any prerequisites or requirements

## Checkout customization

Control which items are available for purchase on your booking page from your [account settings](/getting-started/account-settings#booking-page-settings):

- Activities and sessions
- [Shop products](/point-of-sale/shop-products)
- [Memberships](/pricing/memberships)
- [Gift cards](/pricing/gift-cards)
- [Donations](/payments/donations)

## Sharing your booking page

Promote your booking page through multiple channels:

| Channel | How to share |
| --- | --- |
| **Direct link** | Share your booking page URL on social media, in emails, or on printed materials |
| **Website embed** | Embed your booking page on your website using an [iframe](/getting-started/embedding) |
| **Newsletter forms** | Add a [newsletter signup form](/customers/newsletter-forms) to your website to grow your audience |

## Related guides

<Columns cols={2}>
<Card title="Your booking page" icon="browser" href="/getting-started/booking-page">
How your public booking page works.
</Card>
<Card title="Embedding" icon="code" href="/getting-started/embedding">
Add your booking page to your website.
</Card>
<Card title="Account settings" icon="gear" href="/getting-started/account-settings">
Configure your business profile and settings.
</Card>
</Columns>
Loading