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

# NOIR Drive — car rental template

> NOIR Drive, a free open-source luxury car rental website template built on the Storefront API, plus a car-rental seed dataset and correct validation for multi-day bookings longer than 24 hours.

**October 7, 2026**

## NOIR Drive — open-source luxury car rental template

The fifth open-source Opencals template is live, and the first one built around
**multi-day bookings**. **NOIR Drive** is a luxury car-rental website set in
Dubai: the same [Storefront API](/docs/api-reference/introduction.md) and typed
[TypeScript SDK](/docs/guides/storefront-sdk.md) as
[Haar](/docs/changelog/haar-template.md), [Frisor](/docs/changelog/frisor-template.md),
[Clear Care](/docs/changelog/clarity-template.md) and [VOLT](/docs/changelog/volt-template.md),
with a black cinematic design and cars booked by the day.

Two booking surfaces over one store: a multi-day rental flow for the fleet, and
a classic staff flow for chauffeur packages. Every screen is built with the
public API.

* **Booked by the day** — each car is one staffless product with a 1-day base duration and `allowCustomDuration`, on a continuous 24/7 schedule
* **Range calendar on live availability** — reads `getCurrentAvailabilitiesMerged` and checks on the client that pick-up → return fits inside one range
* **Delivery or garage** — a `DELIVERY` location with the address captured at checkout, or a `PHYSICAL` garage
* **Handover details as custom attributes** — handover and return windows, flight number, collection address
* **Per-day extras** with `durationMultiplied`, plus one-off extras
* Licence and ID uploads and a deposit-and-terms checkbox as checkout questions
* **Chauffeur packages** with real drivers and a preferred-car request
* Rental-aware customer accounts: dates in the store timezone, day count, change dates (same length) or cancel within policy
* `AutoRental` and `Product` structured data, Open Graph, `robots.txt` and `sitemap.xml` configured
* Stack: Next.js 15, TypeScript, Tailwind v4, Framer Motion, `@opencals/storefront-sdk` v0.3.14
* MIT licensed — clone, rebrand, deploy. One-click Vercel deploy.

### Car-rental seed dataset

New Dev Stores can choose the **NOIR Drive** dataset (category Car rental,
`car_rental`). It seeds twelve cars on a 24/7 schedule, a garage and a delivery
location, per-day and fixed extras, the rental checkout questions, and four
chauffeurs with their packages, so the template matches the demo out of the box.

### Fix: bookings longer than 24 hours

Bookings with a custom duration longer than a day are now validated against
**continuous availability**: the server checks that the whole span sits inside
one free window. Before, validation used per-day slot generation and could
reject a valid multi-day booking on a 24/7 schedule. No API or SDK changes.

[Live demo ↗](https://template-noir.vercel.app) ·
[GitHub ↗](https://github.com/letsopencals/template-noir) ·
[Template docs](/docs/open-source/noir.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.