> For the complete documentation index, see [llms.txt](https://docs.loopit.co/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.loopit.co/bookings/lifecycle-of-a-booking/activating-a-booking/before-activation.md).

# Before Activation

Before a booking can be activated, the system will validate that the booking is in the correct state before continuing. The following checks will be performed:

1. If drop-off details are added to the booking, check that the return date is in the future.&#x20;

   * If this check fails then the user will be prompted to edit the booking dates to continue

   <figure><img src="/files/dmU2njXCSO7C7zadgGyk" alt=""><figcaption></figcaption></figure>
2. If a VIN is assigned, check that the asset is available.&#x20;

   * An asset is available if:
     * there are no other confirmed or active bookings during the period of the booking,&#x20;
     * the start date of the booking is not during the "end of booking" buffer period of a previous booking,
     * booking enabled is switched on for asset,
     * the asset is available at the selected location,
     * there are no blocked dates against the asset e.g. for maintenance,
     * the asset's category is assigned to the selected package&#x20;
   * If any of these checks fail then the user will be notified that the asset is no longer available and prompted to Edit the booking to select a different asset

   <figure><img src="/files/nnrukWxd8qTyDn31R9bK" alt=""><figcaption></figcaption></figure>
3. If an asset is not assigned to the booking (category based booking), check if there are any available assets for the given category, date, location and package.

   * If this check fails then the user will be prompted to edit the booking to select a different asset

   <figure><img src="/files/gToh19uPcYR9u5MLzzgj" alt=""><figcaption></figcaption></figure>
4. Check if all requirements are completed,&#x20;

   * if not then the user will be prompted to view the requirements

   <figure><img src="/files/P0l0IdgOVKJkSmUqnEew" alt=""><figcaption></figcaption></figure>
5. Check if today is earlier than the booking start/pick-up date&#x20;

   1. If the asset is available from today, then the user will be alerted that it is an "early activation", and prompted to "Activate early for an additional fee" before they can continue.

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

      * If they agree, the booking will be extended forward to today and the invoice will be updated to include the additional day
      * if they disagree/cancel, they will have to wait until the start date before they can activate
   2. if the asset is not available until the existing start date (some time after today), then the user will be notified that the asset is not available until the handover date. They can edit the booking and swap the asset, or wait until the handover date to activate

   <figure><img src="/files/LGvx9y9bDUkYmBblcR1h" alt=""><figcaption></figcaption></figure>
6. Check if today is after the booking start/pick-up date
   * if so, then the user will be alerted that it is a "late activation" and prompted to "Activate late and offer a partial discount" before they can continue with the activation.

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

     * If they agree, the booking will be updated to start from today and the invoice will be updated to reflect the new dates


---

# 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, and the optional `goal` query parameter:

```
GET https://docs.loopit.co/bookings/lifecycle-of-a-booking/activating-a-booking/before-activation.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
