Medical Scheduling App with Flutterflow, Firebase, and Bookly WordPress Integration (Backend)

Job ID: 40214796

Budget: $250 – $750 USD

Medical Scheduling App with Flutterflow, Firebase, and Bookly WordPress Integration (Backend)

Description:
Development of a mobile application (iOS and Android) for scheduling online medical appointments, using FlutterFlow, Firebase, and Bookly (WordPress via API).

Patients will be able to choose specialty, doctor, time, and make payments within the app. Doctors will access it exclusively through the application to manage their schedule, appointments, chat, and reviews.

Bookly will only be used as a scheduling and pricing engine, while all the app's logic will reside in Firebase. The project has a well-defined technical scope and focuses on organization, security, and scalability.

Project Scope
Medical Appointment Scheduling Application – Ready Doctor
Flutterflow + Firebase + Bookly (Scheduling)

1. OVERVIEW
Mobile application (iOS and Android) for scheduling online medical appointments.

Patients can:
Choose specialty (service)
Choose doctor
Select time
Make payment in the app
Chat with the doctor
Rate consultations
View history
Doctors can (exclusively through the app):
Configure their schedule
View consultations
Access chat
Mark consultation as completed / not completed
View reviews
Edit basic profile (photo and bio)
The doctor never accesses WordPress
Payment never occurs on Bookly
Bookly is only the scheduling engine
Firebase is the app's backend
There is no administrative panel in the app (MVP)

2. ARCHITECTURE AND RESPONSIBILITIES
Bookly: schedule, times, services, prices, conflicts
App: user experience, payment, chat, reviews
Firebase: users, profiles, chats, reviews and logical mirroring of consultations
The app does not replicate schedules, does not calculate prices and does not resolve conflicts
3. TECHNOLOGIES
Frontend: FlutterFlow
Backend: Firebase
Firestore
Authentication: Cloud Messaging
Scheduling: Bookly (WordPress) via REST API
Payment: Mercado Pago (Pix + card)
Video call: WebRTC / Agora or equivalent FlutterFlow compatible

4. User Profiles
4.1 Patient
Login: email/password or Google
Can schedule for third parties (dependents)
History organized by consultation
Permissions: schedule, pay, chat, rate, history
4.2 Doctor
Prior registration on Bookly (staff)
Mandatory link:
firebase_doctor_id bookly_staff_id
Does not create services or set prices
Does not access WordPress or admin panel

5. Specialties, services and prices
Specialty in the app = service in Bookly
Service has: duration and value
Price may vary by doctor (override in Bookly)
Services are Created only by the admin in Bookly
The app only displays the value returned by the API

6. Doctor's Schedule
Configured by the doctor in the app
Days of the week, start/end time
Multiple blocks per day
No holidays, exceptions, or special dates
Updates replace the entire schedule
Doctors only edit their own schedule

7. Scheduling Flow (Patient)
Specialty selection
List of doctors (photo, name, reviews, price)
Doctor profile
Service selection
Available times (Bookly, in real time)
Patient data (required)
Payment in the app
Confirmation
No approved payment:
Appointment not created
Chat not enabled

8. Time conflicts
Bookly's sole responsibility
Only one user confirms the time
Error handled by the app

9. APPOINTMENTS (DOCTOR)
View the day's schedule
Future and past appointments
Filters by period (API) and patient name (location)
Sensitive patient data is not exposed
Communication only occurs within the app

10. Appointment status
Completed
Not completed
Status sent to Bookly via API

11. Doctor-patient chat
Stored in Firestore
Mandatory link to a Consultation
Release:
After payment is approved
After confirmation on Bookly
Can open x hours before and close x hours after
History remains read-only after closing
No general inbox
Exchange of external contacts is prohibited

12. Reviews
One review per consultation
Only if marked as completed
Stored in Firestore
Aggregated average saved in the doctor's profile
Bookly reviews are not used

13. Doctor's Public Profile
Stored in Firebase:
Photo
Name
Specialties
Average rating
Total reviews
Doctor can edit: Photo and bio

14. DEACTIVATION OF DOCTORS
Doctor is not deleted from Bookly
Control in Firebase: active = false
History preserved
Does not accept new appointments

15. App screens
Patient
Login/Registration
Specialties
Doctors
Doctor profile
Appointment
Payment
My appointments
Chat + Video call
Doctor
Login
Today's schedule
Future/past appointments
Appointment details
Chat
Schedule settings
Public profile

16. ADMINISTRATION (MVP)
There is no dashboard in the app.
Administration via:
WordPress (Bookly)
Firebase Console
Actions:
Register doctors
Create services
Set prices
Deactivate doctors

17. FINAL GUIDELINES
Do not duplicate Bookly logic
Do not calculate prices in the app
Do not store schedules, times, or conflicts in Firebase Bookly = source of truth for the schedule Firebase = source of truth for the app
Related categories: WordPress Flutter API Integration