> For the complete documentation index, see [llms.txt](https://uni.fotello.co/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://uni.fotello.co/customer-portal/booking-experience.md).

# Booking Experience

The booking page is what your customers see when they click your portal link to place an order. It walks them through all the steps: from entering a property address to confirming the booking.

Everything on this page reflects your [Branding](/business-details/branding.md), [Products](/products/services.md), and [Availability](/availability-and-scheduling/availability-set-up.md) settings, so there's nothing to build from scratch. Set up your services and availability once, and the booking page handles the rest.

{% hint style="info" %}
The booking page is fully responsive and works great on mobile so your customers can book on the go.
{% endhint %}

{% stepper %}
{% step %}

#### Property Address

Your customer enters the property address. If **Take property size in booking** is enabled in your [Order Settings](/orders/order-settings.md), they also enter the interior area (size).

* **Property address:** They start typing and pick from Google's autocomplete suggestions. The street, city, state, postal code, and country fill in automatically.
* **Interior area**: Shown when **Take property size in booking** is on. Fotello uses the property size to filter products and calculate area-based pricing in the next step.

**What happens behind the scenes**

* **Service area check**: Fotello uses the property coordinates to confirm it falls within your [Service Area](/availability-and-scheduling/service-area.md). If it's outside your coverage, your customer won't see any available slots for that booking.
* **Pricing lookup**: When interior area is collected, the property size is used in the next step to calculate area-based pricing for your services and packages. When it's not collected, all products are shown and pricing defaults to the base tier.
  {% endstep %}

{% step %}

#### Products & Services

Your customer picks what they'd like to book. This step shows your packages, individual services, and any relevant add-ons with their description and pricing.

**Packages** appear as cards. Each card shows the included services and total price along with the savings from bundling. Clicking a package opens a detail sheet with a full breakdown.

**Individual services** appear as a selectable list. When **Take property size in booking** is on and a service has multiple tiers (e.g., different area ranges), the right tier is selected automatically based on the property size.

**Add-ons** appear after the main selection. These are extras your customer can tack on, things like drone footage, twilight photos, or rush delivery. A running total updates at the bottom as they make selections.

{% hint style="info" %}
Add-ons are a great way to increase order value without any extra effort. Customers see them at just the right moment, while they're already committing to a booking.
{% endhint %}

To set up what appears here, see [Services](/products/services.md), [Packages](/products/packages.md), and [Add-ons](/products/add-ons.md).
{% endstep %}

{% step %}

#### Scheduling

This step depends on your **Scheduling** setting in [Order Settings](/orders/order-settings.md):

* **Required** — Your customer must pick a date and time to continue. This is the default.
* **Optional** — Your customer can pick a date and time, or choose **Not ready yet** to skip. You or your team can schedule the appointment later.
* **Not required** — This step is removed from the booking flow entirely. Customers go straight from product selection to contact details.

When the scheduling step is shown, Fotello only displays slots where you (or your team) are actually available, so there's no risk of double-booking. The experience depends on your **Start time slot display** setting in [Order Settings](/orders/order-settings.md):

**Exact time** (default)

* **Calendar view** — Available dates are highlighted. Your customer taps a date to see time slots.
* **Time slots** — Each slot represents an opening based on your availability and the total duration of the selected services.

**Time of day**

* **Calendar view** — Same date picker, but only dates that have availability within at least one of your configured windows are shown.
* **Time windows** — Instead of a list of exact start times, your customer sees buttons labeled with your window names (e.g., Morning, Afternoon, Evening). Windows with no availability on the selected date are hidden automatically.
* **Flexibility** — Your customer picks a general window, and you schedule the exact time later. This is ideal when you want to batch shoots or keep your schedule flexible.

<figure><img src="/files/LyLVJ3BGQ4ypokQM2m9A" alt=""><figcaption></figcaption></figure>

Both modes support:

* **Notes** (optional) — A text field for special instructions, gate codes, or anything you should know before the shoot.

**What happens behind the scenes**

Fotello builds the available slots using your settings:

* **Availability windows** — Your business hours and days off
* **Buffer time** — Padding between appointments (e.g., 30 minutes for travel)
* **Minimum notice** — How far in advance customers must book (e.g., 4 hours)
* **Slot duration** — Based on the total service time for the selected items
* **Look-ahead days** — How many days into the future the calendar shows (e.g., 30 days)
* **Existing bookings** — Slots that overlap with accepted orders are hidden
* **Google Calendar** — If connected, events from your Google Calendar also block out time

If you have a team, Fotello checks each member's availability and service area coverage to determine which slots to show.

To configure your availability and scheduling rules, see [Availability Set Up](/availability-and-scheduling/availability-set-up.md), [Scheduling Settings](/availability-and-scheduling/scheduling-settings.md), and [Calendar Integration](/availability-and-scheduling/calendar-integration.md).
{% endstep %}

{% step %}

#### Contact & Account

Your customer identifies themselves before confirming. Depending on your settings, they can sign in, create an account, or continue as a guest.

**Returning customers** enter their email and password to sign in. Their contact details are pre-filled from their profile.

**New customers** create an account and share their details: full name, phone number, company name, and a password. Once signed up, they can access the [Customer Dashboard](/customer-portal/customer-dashboard.md) to track orders going forward.

<figure><img src="/files/tqWqQAblBDjAab8FA0FN" alt="" width="563"><figcaption></figcaption></figure>

**Guest booking** — If you've enabled guest bookings, a third option appears. Guests complete the booking with their full name and email, plus company name and phone number (both optional). No password needed. They're still added to your [customer list](/customers/customers.md), and can create a full account later.

<figure><img src="/files/3ENz5mdLEWlEdr7hCufu" alt="" width="563"><figcaption></figcaption></figure>

{% hint style="info" %}
Collecting the customer's name up front means their orders, invoices, and communications are personalized from the very first booking.
{% endhint %}

{% hint style="info" %}
Guest bookings reduce friction for first-time customers who just want to book quickly. They can always create an account afterwards.
{% endhint %}

To enable or disable guest bookings, see [Order Settings](/orders/order-settings.md).
{% endstep %}

{% step %}

#### Review & Confirm

Your customer reviews the full booking before submitting:

* Property address (and area, if collected)
* Selected services and add-ons with line-item pricing
* Appointment date and time, or the selected time window (if scheduling was required or selected)
* Total amount

**Promo code** — If you've created [coupons](/products/coupons.md), your customer can enter a code here to apply a discount before confirming. The discount updates the total in real time.

**Default fees** — If you've set up a [Custom Fee](/products/custom-fee.md) and marked it as **Default fee**, it appears as an additional charge in the order summary and is included in the total automatically. Percentage-based fees recalculate if a promo code changes the subtotal.

**Terms and Conditions** — If you've added [Terms and Conditions](/orders/terms-and-conditions.md), a checkbox appears: "I agree to the Terms and Conditions." Your customer can click the link to read the full terms in a dialog. They must keep the checkbox checked to confirm the booking. If no terms are set up, this step is skipped.

{% hint style="info" %}
Payment is **not** collected during booking. Your customer pays later when you deliver the final assets. Learn more: [Payments](/payments/payments.md)
{% endhint %}

**After they submit**

Once your customer clicks **Confirm Booking**:

1. **You get notified** — The order appears in your [Orders Dashboard](/orders/orders-dashboard.md) with all the details.
2. **They get a confirmation email** — Sent from your domain (if connected) or from Fotello, with a summary of what they booked.
3. **What happens next** depends on your [Order Settings](/orders/order-settings.md):
   * **Auto-accept on** — The order is accepted automatically, a listing is created, and a team member is assigned.
   * **Auto-accept off** — The order stays **Pending** until you review and accept it.

**Signed-in customers** are redirected to the [Customer Dashboard](/customer-portal/customer-dashboard.md). **Guests** see a success screen with an option to create an account for future bookings.
{% endstep %}
{% endstepper %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://uni.fotello.co/customer-portal/booking-experience.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
