Mission 02 · Client · Booking system
El Desván
Online booking for dress and suit fittings, with deposit and reminder built in.

- Platform
- Web and mobile
- Code
- Private
- Status
- In production
- Stack
- React 19 · TypeScript · Tailwind CSS
01
The mission
Let a customer book her fitting on her own, at any hour and from her phone, without anyone arranging times over messages or chasing the deposit: a booking is only confirmed once the payment clears.
Online booking of dress and suit fittings for El Desván de Irene. Customers pick the garment, day and time from real availability, pay the deposit with Mercado Pago and get a WhatsApp reminder; later they can reschedule or cancel on their own.
- Real availability from Calendly
- Deposit with Mercado Pago
- WhatsApp reminders
02
What it does
02.1Day and time
The customer picks dress or suit and the calendar only shows the free days and times from Calendly's real availability.
02.2Customer details
Name, ID number, email, phone and whether the fitting is for a dress or a suit, with validation and input masks.
02.3Deposit with Mercado Pago
She pays on Mercado Pago and, on the way back, the server verifies the real payment; only then is the booking confirmed and the Calendly event created.
02.4Confirmation and self-service
She gets an email confirmation and can reschedule or cancel on her own, from the reminder's link or with her email and booking code.
02.5WhatsApp reminders
Before the fitting she gets a WhatsApp reminder with the booking details and links to reschedule or cancel.
02.6Admin panel
WhatsApp linking with a QR code, service status, recent messages and stuck reminders at a glance.
03
How it's built
Frontend in React 19 with TypeScript, Tailwind CSS and shadcn/ui, designed mobile-first. The API, built with NestJS and SQLite, integrates with Calendly and with Mercado Pago (it checks each notification's signature and looks the payment up again before confirming it), sends the confirmation emails and delivers the WhatsApp reminders from a job queue.
Stack
- React 19
- TypeScript
- Tailwind CSS
- NestJS
- SQLite
- Calendly
- Mercado Pago
04