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

# Extend calendar rental

> Let customers extend an active calendar cycle and pay the difference

Sometimes a customer wants to keep a rental for longer than they originally booked. Instead of asking them to email support or place a new order, you can let them extend an active calendar cycle directly from their customer account.

When extensions are enabled, the customer sees an **Extend** action on the rental in their account, picks a new return date from your existing rental periods, and pays the difference. Supercycle creates a charge, moves the **Return by** date forward, and reschedules the cycle.

<Info>
  Extensions are only available on the new [customer portal](/documentation/online-store/portal). Make sure the Supercycle account page is added to your theme before you turn extensions on.
</Info>

***

## How it works

Customers can extend a cycle when **all** of the following are true:

* The product uses the [calendar](/documentation/methods/calendar/overview) method.
* The cycle hasn't been received back yet.
* The receival contains exactly one rental.
* Inventory is available for the extended dates.
* There isn't already an unpaid extension in progress for the cycle.

The available extension options come from the same [rental periods](/documentation/methods/calendar/product-setup) you've configured on the product. Each option is offered as an additional duration on top of the current return date, so a 3-day rental period becomes a 3-day extension. Any [fixed fees](/documentation/methods/calendar/fixed-fees) priced into a rental period are included in the extension charge.

When the customer submits an extension:

1. Supercycle re-checks inventory under a lock to handle concurrent bookings.
2. An unpaid extension charge is added to the cycle for the price difference.
3. The customer is sent to checkout to pay the outstanding balance.
4. The **Return by** date moves forward and the cycle timeline shows a `Cycle extended from X to Y` event.

***

## Enable extensions

<Steps>
  <Step title="Open calendar settings">
    In your Shopify admin, go to **Supercycle** > **Settings** > **Methods** and open the **Calendar** method.
  </Step>

  <Step title="Turn on extensions">
    Under **Extensions**, turn on **Allow customers to extend cycles** and save.
  </Step>

  <Step title="Confirm the customer portal is live">
    Extensions appear on the rental detail page in the new [customer portal](/documentation/online-store/portal). If you haven't added the Supercycle account page to your theme yet, do that first.
  </Step>
</Steps>

The setting is off by default and applies to all calendar products on your store.

***

## What the customer sees

On the rental in their account, customers see an **Extend** button. Selecting it opens a list of options showing the new return date and the additional duration, for example:

```text theme={null}
10 Jun 2026 (3 days)
13 Jun 2026 (6 days)
```

Options that aren't available — because another booking is in the way — are shown but can't be selected. After choosing an option, the customer is taken to checkout to pay the difference.

***

## From the admin

You can also extend a rental on a customer's behalf from the Supercycle admin. This is useful when a customer calls or emails to ask for more time, or when you want to grant an extension at a custom price.

### Where to find it

Open the rental in your Supercycle admin and look at the **Inbound receival** card. When the cycle is eligible, the card shows an **Extend rental** action that opens the extension modal.

The same eligibility rules as the customer flow apply:

* The cycle hasn't been received back yet.
* The receival contains exactly one rental.
* Inventory is available for the new dates.

If any of these aren't true, the **Extend rental** action isn't shown.

### Choose an extension

The modal lists the same rental period options the customer would see, each with the new end date and price. You also get one extra choice the customer doesn't:

* **Custom end date** — pick any date after the current return date using a date picker. Use this when you want to extend by a duration that doesn't match one of the configured rental periods.

### Override the charge

Below the options list, the **Charge amount** field is editable. It prefills from the selected option's price (or is left blank when you choose **Custom end date**), and you can change it to any value — including £0 — before confirming.

A charge is always created on the cycle, even when the amount is £0, so the extension is recorded in the cycle's billing history.

<Tip>
  Setting the amount to £0 is a quick way to grant a goodwill extension without taking payment, while still leaving an audit trail on the rental.
</Tip>
