> ## Documentation Index
> Fetch the complete documentation index at: https://help.odia.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Journey Builder

> Add and arrange services day by day, then group them as options or bundles, attach variants and add-ons, and add content.

## What The Journey Builder Does

The Journey Builder is where you construct the day-by-day trip: add services from the Library, arrange them, group related services together, and attach content. It is the first of the two build phases:

1. **Journey Builder** (this page) — build the trip
2. **[Journey Designer](/features/journey-designer)** — choose the layout and visibility settings that control how the built trip is presented to the client

For the Journey-level concepts around this page — status, publishing, versions — see [Journeys](/features/proposals).

## Add Services

* Click the **+** button on a day to open the service picker
* Search or filter by category or area, then select the service
* Odia copies the Library service onto this Journey — edit it here without changing the master service in the Library
* Click **Save Changes** when the save bar appears

## Arrange Services

* Drag a service within a day to change its order
* Drag a service to a different day to move it
* Order services by start time or manually, depending on how you want the public Journey to read
* Multi-day services can span date ranges — useful for hotels, cruises, rentals, and longer tours

## Groups, Options, Bundles, Variants, And Add-Ons

These five terms describe different ways to relate services to each other. They are easy to confuse, so use this table to pick the right one:

| Term        | What it means                                                                                                                        | Client sees                                                | Where it's created                              |
| ----------- | ------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------- | ----------------------------------------------- |
| **Group**   | The umbrella concept — every Bundle and every Options set is a group underneath. There is no separate plain-grouping mode to choose. | —                                                          | —                                               |
| **Options** | Two or more services offered as alternatives. The client picks one.                                                                  | Tabs — one per alternative                                 | Journey Builder only                            |
| **Bundle**  | Two or more services packaged and sold together.                                                                                     | One package card, or a main service with attached services | Library (reusable) or Journey Builder (one-off) |
| **Variant** | Different versions of the *same* service (e.g. Standard Room, Deluxe Room, Suite).                                                   | The client switches between visible versions               | Library, on the parent service                  |
| **Add-on**  | An optional (or mandatory) extra attached to one service.                                                                            | An extra the traveller can opt into                        | Journey Builder, on the service                 |

<Note>
  When you select services to group them, Odia only ever asks you to choose **Bundle** or **Options** — there is no third "plain group" choice.
</Note>

### Create An Options Group

<Steps>
  <Step title="Select the services">
    Hold **Command** on macOS or **Ctrl** on Windows, then click at least two consecutive services on the same day. Odia shows a **"Relationship mode active"** toast to confirm you're selecting services to group.
  </Step>

  <Step title="Choose Options">
    A selection bar appears near the last service you clicked. Choose **Options**.
  </Step>

  <Step title="Name the group (optional)">
    Type a name for the group, or leave it blank, then select **Create** or press **Enter**.
  </Step>
</Steps>

<Note>
  If you leave the name blank, the group shows as **"Suggested options"** on the public Journey. See [Service Options On The Public Journey](/features/journey-designer#service-options-on-the-public-journey) for how clients interact with it.
</Note>

### Edit An Options Group

| Action                     | How                                                                                                                                       |
| -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
| **Rename**                 | Click the group's name label to edit it inline, then press **Enter** to save.                                                             |
| **Add more alternatives**  | Hold Command/Ctrl and click the group's card together with the additional service(s), then choose **Options** again to combine them.      |
| **Remove one alternative** | Open that service's card menu and select **Remove from group**. If only one service would remain, Odia dissolves the group automatically. |
| **Remove the whole group** | Open the group card's menu and select **Dissolve group**. Each service becomes independent again.                                         |

<Note>
  Unlike Bundles, Options groups do not have a "main" or default-selected service — every alternative is shown as an equal tab.
</Note>

### Bundles In The Journey Builder

Set up a **reusable** bundle once in the Library — see [Service Bundles](/features/bundles) for that creation flow. From inside the Journey Builder you can also bundle services that are already on this Journey, and edit any bundle's presentation:

**Create a one-off bundle:** hold Command (macOS) or Ctrl (Windows), select at least two consecutive services on the same day, then choose **Bundle** instead of Options in the selection bar. The first service you select becomes the main service.

**Edit an existing bundle:**

* Select the **star** on a member to make it the main service
* Drag attached services to change their order
* Use the **eye** icon to show or hide an attached service from the client
* Open **Client presentation** to switch between **Single bundle card** (one combined package) and **Main service + attached services** (main card with each priced service listed beneath it)
* Edit the bundle's client-facing title, description, and cover photo
* Open an individual member service to change its dates, supplier, price, cost, commission, or operational details

The bundle's customer amount is calculated from its eligible member services — a hidden member still contributes to the total, while a client-direct service does not. See [Service Bundles](/features/bundles) for the full pricing and invoicing rules.

### Variants In The Journey Builder

Create variants once in the Library on the parent service — see [Service Variants](/features/variants) for that flow. Use variants on a Journey while you and the client are deciding between versions of the same service:

* Each variant keeps its own Journey details and pricing
* Use the **eye** icon to show or hide a variant from the client
* On the public Journey, the client can switch between the visible variants
* Only the selected variant is included in the displayed Journey total

<Note>
  Hiding a variant only changes what the client sees. The variant remains on the Journey for operational planning.
</Note>

**Remove unused variants.** Before confirming the Journey, keep the version the client selected and remove the choices that are no longer needed:

<Steps>
  <Step title="Keep the selected variant">
    Open the selected variant's actions and choose **Remove others** to keep the parent and that variant while removing its sibling variants.
  </Step>

  <Step title="Keep only the parent when needed">
    If the client selected the parent service instead, open the variant group's actions and choose **Remove variants**.
  </Step>

  <Step title="Remove one variant">
    To remove only one unused variant, open that variant's actions and choose **Remove**.
  </Step>
</Steps>

The **Multiple variants remain** warning is a reminder to review the group before confirmation — it does not block confirmation. Hidden variants still count because they remain part of the Journey; removed and cancelled variants do not.

**Add a variant back.** Removed variants remain available when the trip changes:

<Steps>
  <Step title="Open the parent service">
    Open the parent service and select the **Variants** tab.
  </Step>

  <Step title="Review each variant">
    The tab shows whether each Library variant is **Active**, **Hidden**, or **Removed**.
  </Step>

  <Step title="Restore the choice">
    Select **Add back** beside a removed variant. Odia adds a fresh Journey copy using the current Library version while preserving the earlier removed service in the history.
  </Step>
</Steps>

You can also add a variant back after the Journey has been confirmed.

<video controls playsInline className="w-full aspect-video" src="https://lmpflklddofmcbqsfdot.supabase.co/storage/v1/object/public/odia-app-website/documentation/add-back-variants.mp4" />

**Cancel or remove a variant on a confirmed Journey.** Use **Cancel service** when a variant was part of the confirmed trip and was later cancelled for a business reason — it stays visible as cancelled so its operational history remains clear, and can be restored later. **Remove** is a corrective action for a variant that should never have been part of the confirmed scope: only an **Owner** can use it, the service must still be active, **Ready**, and unpaid, and the Owner must enter a reason. If the variant was sold, booked, paid, or operationally progressed, cancel it instead of removing it.

| Action               | Use it when                                        | Result                                                                  |
| -------------------- | -------------------------------------------------- | ----------------------------------------------------------------------- |
| **Hide from client** | You do not want to show a choice yet               | The variant stays on the Journey but is hidden from the public view     |
| **Remove**           | The choice is no longer needed before confirmation | The variant leaves the current Journey and can be added back            |
| **Add back**         | A removed choice is needed again                   | A fresh current Journey copy is created                                 |
| **Cancel service**   | A confirmed variant was later cancelled            | The service stays visible with its business history                     |
| Owner **Remove**     | A variant never belonged in the confirmed scope    | The service leaves the current Journey while audit history is preserved |

### Add-Ons

An add-on is an optional (or mandatory) extra attached to a single service — not a group of alternatives, and not a package. Add-ons appear on the public Journey as extras the traveller can opt into.

<Steps>
  <Step title="Open the service">
    Open the service that should offer the extra, then go to its **Add-ons** tab.
  </Step>

  <Step title="Add the add-on">
    Select **Add add-on**, then pick an existing Library service or create a new one.
  </Step>

  <Step title="Set price and requirement">
    Give the add-on its own price. Toggle **mandatory** if every traveller must take it rather than opt in.
  </Step>
</Steps>

An add-on cannot itself have nested add-ons.

## Templates And Bundles From The Library

Open **Add to journey → Templates & Bundles** to add a reusable set from the Library:

* A **template** adds independent service copies you can edit, move, or remove freely
* A **bundle** adds its services as one group, defaulting to a single package card

You can also save a day you've already built back to the Library as a template: open the day's **•••** menu and select **Save as template**.

<Note>
  Service grouping is not preserved when saving a template. Variants, options, and bundle members are saved as independent services, so the template will not recreate their Journey grouping when it is added later.
</Note>

See [Templates](/features/templates) and [Service Bundles](/features/bundles) for how to create a reusable template or bundle.

## Service Details

Open any service to manage:

* Dates, times, travellers, and guest count
* Supplier and supplier contact
* Public description and additional information
* Internal notes, special notes, and purchase-order details
* Files, tickets, confirmations, and custom fields
* Pricing, cost, markup, travel agent commission, and margin

## Content And Summaries

* **Content cards:** choose an insertion point on a day, open **Add to journey**, and select the **Content Cards** tab. Drag cards to place them between services. For trip-wide content, expand **Before journey** for intro cards or **After journey** for closing cards, then click **Add content card** — either section can hold multiple cards.
* **Proposal summary:** expand **Before journey** and click **Add proposal summary**. Write it yourself, or choose **Generate** to create it with Odi AI. Select **Also generate for each day** before generating to also produce daily summaries.
* **Day summaries:** use **Show summaries** in the toolbar to view them. Open a day's **•••** menu to generate or edit that day's summary.

Odi AI shows the credit cost before it generates any summary.

## Export As PDF

Once the trip is built, you can download the web Journey as a PDF instead of sharing the online link:

* Select the **three-line icon** in the top-right corner of the web Journey
* Toggle **Photos** and **Branding** on or off
* Select **Download PDF**

It always uses a Flow-style layout, regardless of the page layout chosen in [Journey Designer](/features/journey-designer). Anyone with the Journey's public link can download it the same way.

## Common Questions

<AccordionGroup>
  <Accordion title="Why can't I group my selected services?">
    Select at least two **consecutive** services on the **same day**. If a service is already inside another group, remove it from that group first.
  </Accordion>

  <Accordion title="What's the difference between Options and a Bundle?">
    Options are alternatives — the client picks one, and only that one counts toward the total. A Bundle is a package — all its eligible services count toward the total together.
  </Accordion>

  <Accordion title="What's the difference between Options and Variants?">
    Both let a client choose between alternatives, but Options groups two or more *different* services together on the fly in the Journey Builder. Variants are different versions of *one* service (like room types), created once in the Library and reused across Journeys.
  </Accordion>

  <Accordion title="Can I set a default option in an Options group?">
    No. Unlike a Bundle's main service, an Options group has no default or pinned alternative — every option is presented equally as a tab.
  </Accordion>
</AccordionGroup>
