Description

DameHora is an online scheduling app for appointment-based businesses: hair salons, barbershops, beauty centres, tattoo studios, pet groomers, accountancy firms or law offices. Each business manages its calendar by staff member and location, customers book from their phone without creating an account, and every appointment is charged with a VeriFactu receipt or invoice through Bilteo.

The calendar understands services in phases: while a hair colour is processing, that time is free for another appointment. Free slots are calculated on the server and the database itself prevents double bookings. If someone calls in sick, runs late or a location has to close, the system finds the affected appointments and suggests who can take them or which day to move them to. Nothing moves on its own.

It includes a booking page per location, email reminders 24 hours ahead, reviews verified against real appointments, a public directory by sector and town, a front-desk mode for a shared iPad with a PIN per person, customer records, products, roles and permissions, and Stripe subscriptions.

Architecture: Django and Django REST Framework backend on PostgreSQL, Vue + Quasar app in TypeScript, native iOS and Android apps built with Capacitor, a Django public website, and Docker deployment on EU servers through GitLab CI/CD.

Objective

An appointment-based business usually splits its day between the calendar, the phone, WhatsApp and a separate till. Many tools in the sector charge by tier or take a commission per booking, and few handle what really happens in a salon: services with waiting times, several staff members and locations, and days when someone calls in sick.

The goal was to build a calendar that understands how an appointment-based business works, with a clear monthly fee and no commissions. Hence three lines of work:

  • A real calendar: services in phases, server-calculated slots, and incident handling that suggests solutions instead of moving appointments blindly.
  • Frictionless booking: customers choose service, staff member and time from their phone, with no account, and can reschedule or cancel from their link.
  • Payments and compliance: from appointment to VeriFactu receipt or invoice in one tap, connected to Bilteo via OAuth 2.0.

All of it on a multi-tenant architecture with data isolation enforced by the database itself, built through AI-assisted development under a strict automated quality gate.

Results

DameHora has been in production since October 2026, with the public website, the management app and online booking running on the same platform, and the native iOS and Android apps in the publishing stage.

  • Phase-based calendar by staff member and location, with server-calculated slots and PostgreSQL constraints that prevent double bookings.
  • 24/7 online booking with no account, instant confirmation, an .ics file for the calendar and an email reminder.
  • Incidents handled: sick leave, delays and closures show the affected appointments and suggest who can take them.
  • VeriFactu payments through the Bilteo integration (OAuth 2.0 with PKCE and signed webhooks) and subscriptions with Stripe Billing.
  • Multi-tenant and multilingual (Spanish, Catalan and English), with tenant isolation tests on every endpoint.
  • AI-assisted development: over 85% of commits were written with AI agents, and every change passes an automated lint, security, coverage and mutation testing gate in CI.

€0

Booking commission

24/7

Online booking, no sign-up

1,893

Automated backend tests

85%+

Commits written with AI agents

Related projects

Request it now, with no obligation
Email

info@teosalas.com

Opening hours

I don’t have fixed hours, but please don’t call me on Sundays – that’s what forms and email are for. Thanks!

Let's chat?