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

# Pre-orders: schedule future pickup and delivery

> Enable pre-orders in storekit so customers can schedule pickup or delivery for a future time, with separate settings and slot throttling per fulfilment.

Enable pre-orders to let customers place orders in advance for a future pickup or delivery time. This helps you manage demand, prepare ahead for busy periods, and control how many future orders can be accepted per time slot.

Pre-orders are managed from your store settings and can be configured separately for pickup and delivery.

## How Pre-orders Work

* Customers can choose a future date and time at checkout
* Pickup and delivery have separate pre-order settings
* Customers can only choose from the days and times you make available
* Pre-orders appear in your storekit order dashboard like regular orders
* Advanced slot-level throttling can limit the total number of items and total order value allowed in a slot

## Before You Set Up Pre-orders

Before enabling pre-orders, check your store [opening hours](/guides/store-settings/opening-hours).

If your opening hours are not set, your store may be treated as open 24 hours by default.

## How to Enable Pre-orders

<Steps>
  <Step title="Open Store Settings">
    From your storekit dashboard, go to **Stores** and select the store you want to update.
  </Step>

  <Step title="Go to Pre-orders">
    From the settings menu, open **Pre-orders**.
  </Step>

  <Step title="Enable Pre-orders">
    Turn on **Accept pre-orders**.

    This allows customers to order in advance for a future date and time.
  </Step>

  <Step title="Choose Whether to Accept Orders Outside Opening Hours">
    <Note>
      If **Also accept pre-orders outside of opening hours** is enabled, customers can place future orders even when your store is currently closed.
    </Note>

    The order must still be for an available pickup or delivery time.
  </Step>

  <Step title="Choose Pickup or Delivery">
    Use the **Pickup** and **Delivery** tabs to configure each fulfilment type separately.

    Pickup and delivery can have different slot lengths, capacity limits, scheduling rules, and available times.
  </Step>

  <Step title="Configure Slot Length">
    Choose how each day should be split into time slots.

    For example, you can split the day into **15-minute** slots so customers choose from times such as 08:00–08:15, 08:15–08:30, and so on.
  </Step>

  <Step title="Choose Whether to Allow ASAP Orders">
    Use **Also let customers order for ASAP without picking a slot** if you want customers to place immediate orders as well as scheduled pre-orders.

    If this is turned off, customers must choose an available time slot.

    The ASAP option only appears when the next available time slot is within **45 minutes**. If the next available slot is more than 45 minutes away, customers will need to choose a scheduled time instead.

    <Note>
      Because ASAP availability is based on the first fulfillment slot — not your venue's opening time — customers may be able to place ASAP orders up to 45 minutes before the first slot. If that slot is earlier than your opening time, orders can arrive before you officially open. See [How ASAP Delivery Interacts with Opening Hours](/guides/store-settings/opening-hours#how-asap-delivery-interacts-with-opening-hours) for how to prevent this.
    </Note>
  </Step>

  <Step title="Set Capacity Per Slot">
    Under **Capacity per slot**, set how many orders can be accepted in each time slot.

    For example, setting this to **1** means only one order can be accepted per slot.
  </Step>

  <Step title="Configure Advanced Slot-level Throttling">
    Use **Advanced: Slot-level throttling** if you need more control over how much can be accepted in each slot.

    This lets you limit a slot by:

    * total number of items
    * total order value

    These limits are checked **across all orders in the slot**, not per individual order.

    The first order in an empty slot will always go through, even if it exceeds these limits. The limits are then applied to any additional orders placed in the same slot.

    If you need to restrict the size or value of a single order, use the **max order value** setting instead.
  </Step>

  <Step title="Set Scheduling Rules">
    Under **Scheduling**, choose:

    * How many days ahead customers can order
    * How much notice customers need before the earliest available pickup or delivery time

    For example, if customers can order up to **7 days ahead** and need at least **1 day notice**, a customer ordering on Monday would see Tuesday as the earliest available fulfilment day.
  </Step>

  <Step title="Review the Customer Preview">
    Use **Preview: What customers will see** to check the time slots that will appear at checkout.

    This preview helps confirm your slot length, capacity, and scheduling settings before saving.
  </Step>

  <Step title="Set Pickup or Delivery Times">
    Under **Pickup times** or **Delivery times**, choose which days and times customers can place pre-orders.

    You can expand each day and add the available time windows for that fulfilment type.
  </Step>

  <Step title="Save Changes">
    Click **Save** to apply the change.

    Customers will only see pre-order options once the setting has been saved.
  </Step>
</Steps>

## Pickup and Delivery Settings

Pickup and delivery are configured **separately**.

Use the **Pickup** tab to control collection pre-orders, including pickup time slots and pickup capacity.

Use the **Delivery** tab to control delivery pre-orders, including delivery time slots and delivery capacity.

This lets you offer different availability for each fulfilment type.

## What Customers Can Do

When pre-orders are enabled, customers can:

* Select a future date and time from the available slots
* Choose pickup or delivery if both fulfilment types are enabled
* Place orders outside current opening hours if this setting is enabled
* Place ASAP orders if ASAP ordering is enabled (based on preparation time)

## When to Use Pre-orders

Use pre-orders when:

* Customers need to order ahead for pickup or delivery
* Your venue prepares food in advance
* You want to accept orders outside current opening hours
* You need better control over future order volume
* You offer catering, large orders, or scheduled fulfilment

## Understanding Slot Times in Your Dashboard

When a customer places a pre-order, the time shown in the order details is the **start** of the delivery or pickup window they selected — not the end.

For example, if your store uses 30-minute slots and an order shows **12:00**, the customer's delivery window is **12:00–12:30**.

This time is referred to as the **requested fulfilment time** — it is the beginning of the slot the customer chose at checkout.

<Tip>
  You can change the scheduled time for a pre-order by clicking the time shown in the order details and selecting a different available slot.
</Tip>

## Troubleshooting

#### Customers cannot see pre-order slots

Check that **Accept pre-orders** is enabled and that the relevant pickup or delivery times have been added.

Also check that the fulfilment type is enabled under **Settings > Operations**.

#### Customers cannot see delivery pre-order slots

Check that delivery is enabled under **Settings > Operations > Fulfilment**.

If the store is set to pickup only, customers will not see delivery as a fulfilment option even if delivery pre-order times have been added.

#### Customers cannot select the expected time

Check your slot length, capacity per slot, scheduling notice, and pickup or delivery times.

If a slot has reached its capacity, it will no longer be available for new orders.

<Tip>
  Pickup and delivery pre-orders are configured separately. Make sure you check both tabs if your store accepts both fulfilment types.
</Tip>

## Related

* [**Opening Hours**](/guides/store-settings/opening-hours) — manage when your store is open for orders
* [**Enabling Pickup**](/enabling-pickup) — enable pickup/collection orders for your store
* [**Enabling Delivery**](/guides/fulfillment/delivery/enabling-delivery) — enable delivery orders for your store
* [**Delivery Zones**](/guides/fulfillment/delivery/delivery-zones) — configure where delivery is available
* [**Managing Live Orders**](/guides/orders/managing-live-orders) — handle incoming orders in real time
