> ## Documentation Index
> Fetch the complete documentation index at: https://docs.eat-now.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Activities portal

> Every setting of the Activities tab — turning the activities portal on, its links, header message, contact details, filters, the activities card on your reservation portal, the products you sell, resource groups and history.

The activities portal is a separate booking page where your customers book and pay for activities — spa treatments, workshops, tastings, courts, takeaway boxes: `https://book.eat-now.io/activities/your-restaurant`. It is set up under **Settings > Portal > Activities**.

The tab only appears if your restaurant has the **Activities** feature and you have the **Read activity settings** permission. Saving takes **Update activity settings**: without it, the button reads **Action not authorized** and stays disabled. See [Permissions](/collaborators/permissions).

<Note>
  The products you sell here come from your [product catalog](/shifts/products) (**Settings > Products**): name, description, photos, price and variants are edited there. This tab decides **which** products are on the portal and **how** they are booked.
</Note>

## Turning the portal on

Turn on **Activate activity portal**. Off by default. As soon as the switch is on, the rest of the settings appear, and so do the links (see [Your links](#your-links)).

<Warning>
  Nothing is saved until you click **Save** at the bottom of the page — including what you change in a product's side panel. The only exception is resource groups, which are saved on their own (see [Resource groups](#resource-groups)).
</Warning>

To save with the portal switched on, you need **at least one product** under **Selected products**: otherwise the save is refused.

Switching the portal off hides the settings but keeps them — products, header message, resource groups — for the next time you switch it back on. Customers can no longer book: your activities link, and each single-activity link, shows **Online booking closed** — *Online activity booking is not open at the moment. To book, please contact the venue directly.* — in the customer's language, under your logo, instead of your activities. The activities card on your reservation portal disappears too.

Customers who already booked keep access to their booking: the confirmation and payment links they received by email still work.

If you stop selling activities for good, also remove the link from your website and from your [header links](/portal/header-links).

## Your links

With the portal switched on, the top of the tab shows:

* **Activity portal link** — the global page, listing all your activities: `https://book.eat-now.io/activities/your-restaurant`.
* Right below, in a grey box, **one link per product**, labelled with the product's name: `https://book.eat-now.io/activities/your-restaurant/<product-id>`. It opens a page dedicated to that single activity.

Each link has a copy button. Products set to **Internal only** have no link. What customers see on each page is described in [Booking portal (activities)](/activities/portal).

## Portal settings

| Setting | What it does | Default |
| - | - | - |
| **Header message** | A message shown at the top of the activities portal. See [Header message](#header-message). | Empty (optional) |
| **Mandatory email** | Customers must enter their email address to book on the activities portal. | On |
| **Mandatory email internally** | Your team must enter an email address when it adds an activity booking by hand for a new customer, from the web app or the mobile app. | Off |
| **Mandatory phone number** | Customers must enter their phone number to book on the activities portal. | On |
| **Mandatory phone number internally** | Your team must enter a phone number when it adds an activity booking by hand for a new customer, from the web app or the mobile app. | Off |
| **Show filters** | Shows a row of category chips (**Filter**) above the list of activities on the global page, so customers can show one category at a time. Off, all activities are listed without filters. | Off |

When the phone number is optional, a customer who types one must still type a valid number.

The two **internally** switches only apply to activity bookings. Restaurant reservations entered by your team follow their own switches, under **Settings > Portal > General** — see [Booking rules](/portal/booking-rules). An existing customer picked from your customer list is never blocked by them.

### Header message

The header message appears in a banner titled **Information**, just under your logo, on the global activities page **and** on each single-activity page. Use it for practical information: opening dates, what to bring, where to meet.

* **Languages** — the field has one tab per language (French, English, Spanish, German, Italian, Portuguese) and an **Auto translate** button. The customer sees the version in their language; if it is empty, the English one, then the French one, then any language you filled.
* **Formatting** — `**bold**`, `_italic_`, `~strikethrough~`. Line breaks are kept.
* **Colours** — the banner uses the **Background color** and **Text color** of the **Custom message on your portal** setting under **Settings > Portal > General**, the same as the reservation portal banner. See [Messages shown to guests](/portal/guest-messages).
* Leave every language empty and no banner is shown.

## The activities card on your reservation portal

This section, **Showcase on the reservation portal**, promotes your activities to customers who come to book a table: a clickable card, with a photo and a title, that leads to your activities portal. It is cross-selling — a customer booking dinner discovers your workshops or your spa.

The section only appears if your restaurant has **both** the **restaurant reservations** and the **Activities** features.

| Setting | What it does | Default |
| - | - | - |
| **Show the activities card** | Shows the card on your reservation portal. | Off |
| **Card image** | The card's photo — one image, 2 MB maximum. Without one, the photo of the first public activity in your **Selected products** list is used. | None |
| **Card title** | The title on the card, per language, with **Auto translate**. Left empty: *Discover our activities too*, in the customer's language. | Empty |
| **Card subtitle** | A short line under the title, per language. Left empty: no subtitle. | Empty |
| **Placement** | Where the card appears: **Booking form and confirmation**, **Booking form only** or **Confirmation only**. | **Booking form and confirmation** |
| **Position in the form** | Only when the card shows on the form. **At the bottom, under the form**: the card sits below the booking form, out of the booking's way. **At the top, above the date picker**: the card is showcased inside the form, before the date. | **At the bottom, under the form** |

What the customer sees:

* **On the booking form** — the card shows on the first step only (date and party size). It does not show when the customer books through a link dedicated to a single product.
* **On the confirmation** — the card shows on the page the customer reaches once the reservation is made, unless that reservation is cancelled or rejected.
* **Clicking the card** opens your activities portal. When your reservation portal is embedded on your website, it opens in a new tab.
* The title and subtitle are cut to one line each: keep them short.

<Note>
  The card only shows when all of these are true: the switch is on, the activities portal is switched on, and at least one activity is visible to every customer (not **Internal only**, not **Prescribers only**, not archived). Otherwise nothing is shown — the card never leads to an empty portal.
</Note>

## Selected products

This is the list of products sold on the activities portal. Click **Add product** and pick one from your catalog, grouped by category: the product joins the list and its settings panel opens.

* **Order** — drag a product, or a whole category, by its handle. The order of the list is the order on the portal.
* **Edit** (pencil) opens the product's settings panel; **Delete** (cross) removes it from the portal. Neither changes the product in your catalog.
* An **Internal** badge marks products your customers cannot see; a badge counts the product's extras.
* An archived product disappears from the list but keeps its settings: restore it in the catalog and it comes back as it was.

The step-by-step guides are in [Manage products](/activities/manage), [Add or edit a product](/activities/add) and [Add custom fields](/activities/fields).

### Product settings

The panel is titled **Additional information**. Its **Save** button only closes it: the change is recorded with the **Save** button of the page.

| Setting | What it does | Default |
| - | - | - |
| **Visibility** | **Public**: every customer sees it. **Internal only**: never shown to customers nor sellable online — your team books it. **Prescribers only**: only the targeted prescribers see it, through their own booking link (see [Prescribers](/reservations/prescribers)). | **Public** |
| **Days of the week** | Days the activity can be booked. At least one. | Every day |
| **Opening times** | One or more time ranges (**Add time slot**). Ranges cannot overlap. The end time is itself a bookable start time. | 08:00 – 20:00 |
| **Custom dates** | Limits bookings to date ranges (**Add opening day**), for a seasonal activity. Ranges cannot overlap. | Off |
| **Interval** | Minutes between two start times offered to the customer (every 30 min, every hour…). | 60 min |
| **Limit reservations in advance** | Sets **Maximum days in advance**: how far ahead customers can book. | Off (60 days when switched on) |
| **Limit reservations in advance (minimum)** | Sets **Minimum days in advance**: customers cannot book sooner. | Off (7 days when switched on) |
| **Confirmation system** | **Manual**: the booking arrives as a request your team accepts or declines. **Automatic**: the booking is confirmed straight away, within the capacity of the product's resource group. | **Manual** |
| **Enable capacity limits** | Manual mode only: also checks capacity, so a full slot cannot be requested. | Off |
| **Activity duration** | How long one booking occupies the resource, in minutes. Used for capacity: two bookings overlap if their durations overlap. | 60 min |
| **Allow multiple variants** | Lets the customer mix several variants of the product in one booking (for example 2 adults and 1 child). | On |
| **Cashable online** | Customers pay online when they book. Needs a payment integration. | Off |
| **Show price** | Only when not cashable online: shows the price to customers anyway. | On |
| **Percentage of total** | Only when cashable online: share paid online — 20 %, 50 %, 75 % or 100 %. The rest is paid on site. | 100 % |
| **Payment refundable** | Only when cashable online: the payment can be refunded. | Off |
| **Late cancellation threshold** | Only when refundable: the deadline to cancel without fees, counted **After creation** or **Before reservation**. | None |
| **Payment request expiry** | Only when cashable online. See [Payment request expiry](#payment-request-expiry). | No expiry |
| **Additional fields** | Questions asked to the customer for this activity (**Add field**). Names must be unique. See [Add custom fields](/activities/fields). | None |
| **Offered extras** | See [Extras](#extras). | None |

Capacity itself — how many bookings a slot accepts — is not set on the product: it comes from its [resource group](#resource-groups). With **Automatic**, or **Manual** with capacity limits, a blue notice **Capacity managed by resource groups** reminds you of this.

<Tip>
  The two icons at the top of the panel, **Copy settings** and **Paste settings**, copy a product's settings to another one — days, times, confirmation, payment… Visibility is copied too; additional fields and extras are not.
</Tip>

### Payment request expiry

When a product is cashable online, you decide how long the customer has to pay. If the payment is not made in time, the booking is cancelled.

There are two lines, each with a delay (in minutes or hours) and a starting point:

| Line | Applies to… |
| - | - |
| **Same day** | bookings made for the same day. Maximum 24 hours. |
| **After the day** | bookings made for a later day. |

The starting point is either **After creation** (the delay starts when the booking is made) or **Before reservation** (the deadline is that long before the activity starts). Leave the delay empty, or set it to 0, for a payment request that does not expire; otherwise the minimum is 5 minutes. An example under the fields shows the resulting deadline.

If the deadline would fall after the start of the activity, or is already past, no expiry is set.

### Extras

**Offered extras** are other catalog products offered to the customer after they pick this activity — a bottle, a birthday cake, a towel. Click **Add an extra**; its panel, **Configure extra: …**, has:

| Setting | What it does | Default |
| - | - | - |
| **Visibility** | Same three choices as for the product. | **Public** |
| **Cashable online** | The extra is paid online. Only possible if the product itself is cashable online. | Same as the product |
| **Percentage of total** | Share of the extra paid online: 20 %, 50 %, 75 % or 100 %. | 100 % |
| **Show price** | When not cashable online: shows its price anyway. | On |
| **Minimum delay (hours)** | The extra can only be added if the activity starts at least this many hours later. Otherwise the customer sees the extra with *Minimum delay to book: … hours* instead of its choices. Empty: no limit. | None |

An extra follows the expiry and cancellation rules of its product.

## Resource groups

A resource group is what you actually have to sell — 3 therapists, 2 rooms, 4 courts — shared by the products that use it. It sets the **capacity** of each slot. Everything about it is in [Resource groups](/activities/resource-groups), [Total capacity](/activities/capacity-total) and [Capacity per variant](/activities/capacity-variants).

On this tab:

* **Add group** creates a group. The first time, save the page once before: until then the section shows *Save settings first to create resource groups*.
* Groups are **saved immediately** when you confirm their window, without the page's **Save** button.
* Deleting a group asks for confirmation: its products lose any capacity limit.

<Warning>
  A product with **Automatic** confirmation (or **Manual** with capacity limits) that belongs to no group has **no limit at all**: every slot stays bookable, whatever the number of bookings. A yellow **Unlimited capacity on … product(s)** warning names those products. A second warning, **Legacy per-product capacity on … product(s)**, names products still using the old per-product capacity. In both cases, assign the products to a resource group.
</Warning>

To close a slot or a day, or reduce capacity temporarily, use [activity blocks](/activities/blocks) instead.

## History

**Show history**, at the bottom of the page, lists every change made to these settings and to the resource groups: what changed, from which value to which, when and by whom. The button appears once the settings have been saved at least once.

## Related pages

<CardGroup cols={2}>
  <Card title="Example: configuring a spa" icon="sparkles" href="/activities/example-spa">
    A full setup, step by step — products, resource groups, schedules, fields.
  </Card>

  <Card title="Resource groups" icon="users-group" href="/activities/resource-groups">
    Share capacity between products and avoid overbooking.
  </Card>

  <Card title="Booking portal (activities)" icon="calendar" href="/activities/portal">
    What your customers see and how they book.
  </Card>

  <Card title="Messages shown to guests" icon="speakerphone" href="/portal/guest-messages">
    Banner colours and the other messages of your portals.
  </Card>
</CardGroup>
