# A storefront where you pick dates before you pick a cart.

> Dcey (dcey.com.tr) sells rental, not stock. The storefront is a Next.js application over Magento GraphQL, built so that date ranges, availability and returns live inside the transaction rather than as fields attached beside it.

- **Email:** hello@zhajmohamad.com
- **URL:** https://zhajmohamad.com/projects/dcey

## What was built.

Magento to GraphQL to Next.js, with the rental rules expressed once — in the commerce layer, where the order also lives.

- **Date-range availability** — Availability computed per unit across a period rather than as a stock count, including the turnaround between two hires.
- **Rental pricing in the commerce layer** — Daily, weekly and longer tiers computed against the selected range, so the price the storefront shows is the price the order carries.
- **Headless storefront** — A Next.js front end reading Magento over GraphQL, with custom schema where the default one has no concept of a rental period.
- **Returns and the closing side** — The return is part of the same record as the hire, so a unit becomes available again because the system closed the transaction, not because someone remembered.

## The situation.

Standard e-commerce assumes an item leaves once. Rental assumes it comes back — and everything downstream changes.

- **A cart with no concept of time** — Adding to cart without a date range means availability cannot be checked at the moment it matters.
- **Stock counts that lie** — One unit can be free next week and booked this week; a single number cannot express that.
- **Rules written twice** — When the storefront and the backend each implement rental logic, they eventually disagree in production.
- **A storefront that has to feel modern** — The date picker is the primary interface, so it cannot be a page reload away from the catalogue.

## Related systems.

- **Hujuzatk (hujuzatk.com)** — The same availability question at property scale, across many operators.
- **Frankenspalter (frankenspalter.ch)** — The same platform under classic retail load, with ERP integration behind it.

## Questions people ask.

**Why headless here?**
Because the date picker is the product. The storefront needs to re-price and re-check availability as the customer moves the range, which is a poor fit for full page loads — and a good reason to separate the front end while keeping the rental rules in the commerce layer.

**Could this run on a non-Magento backend?**
Yes. The pattern — availability by period, pricing on the range, one place that owns the rules — is not Magento-specific. Magento earns its place when the catalogue, customer groups and order model are already carrying weight.

## Related specialisms.

- [Rental platform development](https://zhajmohamad.com/rental-platforms)
- [Magento / Adobe Commerce architect](https://zhajmohamad.com/magento-adobe-commerce)
- [Custom e-commerce development](https://zhajmohamad.com/ecommerce)
- [Booking & reservation platforms](https://zhajmohamad.com/booking-platforms)

---

Tell me what you are trying to build, automate or scale. You get a straight answer on fit within a day — and a name to call if it is not me.
