
Flashoot is your on-demand photography booking platform that connects customers with verified photographers in just a few taps.
Built entirely using Flutter (Frontend) and Firebase (Backend), Flashoot is designed to make booking professional photography as easy as ordering food online.
Vision: To make professional photography accessible, fast, and affordable — while empowering local photographers with consistent, structured work.
Package Selection
User selects a photography package (event type, duration, pricing). Packages are fetched from Firebase Firestore in real time with dynamic pricing logic for base price, add-ons, GST calculation, and location-based adjustments.
Order Creation & WhatsApp Flow
Flashoot supports order creation via WhatsApp (Exotel WhatsApp Business API). User selects package, system calculates total with GST, a Razorpay payment link is generated, and after payment webhook confirms the transaction, the order is created and a photographer is assigned.
Secure Payment & Webhook Verification
Payment link is generated via Razorpay API. Webhook verifies payment status and signature validation. Only after successful verification does the order become Confirmed and partner assignment logic runs. All GST and price calculation happens server-side with no trust on frontend payment status.
Automated Partner Matching
Once payment is confirmed, the system checks location availability, partner availability, partner rating, and active status. Matching logic runs in the backend, the nearest available partner is assigned, and they get a push notification instantly.
Multi-Module Architecture
Customer App (browse packages, track bookings, make payments) · Partner App (accept/reject orders, view earnings, upload deliverables) · Admin Panel built on Flutter Web (CRUD for packages, order monitoring, partner management, analytics dashboard).
Event-Driven Stack
Flutter App → Firebase Auth → Cloud Functions (Business Logic) → Firestore Database → FCM Notifications. Everything is event-driven and real-time, ensuring instant updates across all modules.

