Skip to content
All projects

Case study · Mobile App

Booky

Shared booking calendar, approvals and expenses for your rental property team.

Platforms Android iOS
Booky screenshot 1
Booky screenshot 2
Booky screenshot 3
Booky screenshot 4

The problem

Small rental property teams (resorts, vacation houses, transient rentals) were taking bookings through group chats and paper logbooks. With an owner, managers and agents all booking the same dates, double-bookings happened, nobody knew which bookings were confirmed, and expenses were tracked separately or not at all.

They needed one shared calendar the whole team could trust, with a clear approval step and a record of what the property spends.

Our approach

We built Booky in Flutter so one codebase ships to iOS and Android, with Firebase as the backend.

• Shared live calendar: bookings sync in real time through Firestore snapshot streams, colour-coded by status (pending, approved, completed, needs review).

• Double-booking protection: every new booking is checked against existing dates. A clash with an approved booking is blocked, a clash with pending ones shows a warning, and same-day turnover is allowed. These rules have their own unit tests.

• Approval flow: new bookings start as pending, and owners and secretaries approve or remove them.

• Role-based access: five roles (owner, investor, investor manager, secretary, agent). Each role sees only its own screens and actions, and Firestore and Storage security rules limit every user to the properties they belong to. The rules are tested against the Firebase emulators.

• Property profiles and expenses: photos, a rates image, lease terms, and per-property expenses with receipt photos and date filters.

• Hardening: Firebase App Check (Play Integrity / App Attest), email verification, and Crashlytics.

Result

Booky gives a property team one calendar instead of a group chat: bookings, downpayment proofs, approvals and expenses in one place, for each property.

What shipped:

• iOS and Android apps from a single Flutter codebase

• Real-time shared calendar with automatic conflict checks

• Five-role permission model enforced on the server, not just hidden in the UI

• Expense tracking with receipt photos

• Amounts in Philippine pesos, built first for teams in the Philippines

Stack

  • Flutter
  • Firebase

Outcome

Built for iOS and Android from one Flutter codebase, in beta on TestFlight and Google Play.

Booky screenshot 3
Booky screenshot 4
Booky screenshot 5
Next project Tiny Track

Want something like this?

Tell us what you’re building. We’ll reply with a rough scope, timeline and price range.