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

# Bookings

> View and manage incoming bookings from Seyaha customers.

The **Bookings** page lists all bookings that Seyaha has created against your products —
whether through the Seyaha marketplace, reseller platforms, or affiliate channels.

## Bookings list

Navigate to **Bookings** in the left sidebar. Each row shows:

| Column         | Description                                 |
| -------------- | ------------------------------------------- |
| **Booking ID** | Seyaha's internal booking identifier        |
| **Customer**   | Customer name and email                     |
| **Activity**   | Product and variation name                  |
| **Date**       | Booked activity date and time               |
| **Guests**     | Guest count breakdown                       |
| **Status**     | Current booking state                       |
| **Amount**     | Total booking value                         |
| **Source**     | Marketplace, reseller, or affiliate channel |
| **Created**    | When the booking was submitted              |

### Filtering bookings

| Filter         | Options                                                         |
| -------------- | --------------------------------------------------------------- |
| **Date range** | Filter by activity date or booking creation date                |
| **Status**     | `Booking Attempt`, `Paid`, `Confirmed`, `Cancelled`, `Refunded` |
| **Source**     | Marketplace, Reseller, Affiliate                                |
| **Search**     | Customer name, email, or booking ID                             |

## Booking statuses

| Status               | Description                                                          |
| -------------------- | -------------------------------------------------------------------- |
| **Booking Attempt**  | Reservation created on your system, customer payment pending         |
| **Paid by Customer** | Payment received, confirmation call to your API pending              |
| **Confirmed**        | Your API returned a successful `externalBookingId` — booking is live |
| **Cancelled**        | Booking cancelled by the customer or a Seyaha admin                  |
| **Refunded**         | Cancellation processed with a customer refund                        |

## Booking lifecycle

When a customer books one of your activities:

1. Seyaha calls `POST /bookings/reserve` on your API → you return a `reservationConfirmationCode`
2. Customer completes payment on Seyaha
3. Seyaha calls `POST /bookings/confirm` → you return an `externalBookingId`
4. Booking status becomes **Confirmed**

If the customer abandons checkout, Seyaha calls `DELETE /bookings/{reservationCode}` to
release the hold. See [Sync](/pages/partner/sync) for the full lifecycle diagram.

## Booking detail view

Click any booking row to open the full details panel:

### Summary

* **Reservation code** — the `reservationConfirmationCode` your API returned at reserve time
* **External booking ID** — the `externalBookingId` your API returned at confirm time
* **Source** — which channel originated the booking
* **Created / updated** — timestamps for each status change

### Customer

* Full name, email address, phone number
* Guest breakdown by type (Adult, Child, Infant, Senior, Student)

### Activity

* Activity name, variation, date, time
* The `availabilityId` used when calling your reserve endpoint
* Unit pricing at time of booking

### Payment

* Total amount, currency, payment provider (Moyasar or Stripe)
* External payment reference
* Refund amount (if cancelled)

### Timeline

Chronological log of every status transition with timestamps, which system triggered
the change, and the HTTP response from your API for booking lifecycle calls.

## Cancellations

To cancel a confirmed booking from the dashboard:

1. Open the booking detail view
2. Click **Cancel booking**
3. Select a cancellation reason from the dropdown
4. Click **Confirm cancellation**

Seyaha will call `POST /bookings/{externalBookingId}/cancel` on your API.
The customer refund is handled entirely by Seyaha — you do not process refunds.

<Note>
  Not all bookings are cancellable from the dashboard. Cancellation eligibility depends
  on the activity's cancellation policy configured in Seyaha. For policy exceptions,
  contact `tech@seyaha.net`.
</Note>

## Exporting bookings

Click **Export CSV** in the top-right to download the current filtered view.
The export includes all displayed columns plus `reservationConfirmationCode`,
`externalBookingId`, and raw guest counts by type.
