KODA Flutter Developer Tasks

Complete Task Breakdown & Specifications

Created: October 31, 2025
Team: Flutter Development
Total Hours: 1,142
Total Tasks: 49

Table of Contents

Overview

Flutter Team Responsibilities

The Flutter team is responsible for building:

  • KODA Mobile App (Customer-facing mobile application)
  • KODA Team (Staff & partners mobile application)

Key Technologies

  • Framework: Flutter 3.x
  • Language: Dart
  • State Management: Provider/Riverpod
  • API Calls: HTTP/Dio
  • Real-time Updates: WebSocket
  • Push Notifications: Firebase Cloud Messaging (FCM)
  • Local Storage: Hive/SharedPreferences

Important Notes

  • Build from scratch (clean codebase)
  • Follow Material Design 3 guidelines
  • Support both iOS and Android
  • Support AR and EN languages (RTL/LTR)
  • Comprehensive error handling
  • Offline mode considerations
  • Unit, widget, and integration tests required

Phase 1 Tasks - KODA Mobile App

Package 1.13: Authentication Module

Milestone M4 68 Hours 7 Tasks
FL-M4-001 12H Critical Path

Project Setup & Architecture Foundation

  • Initialize Flutter project (KODA Mobile App)
  • Configure project structure (clean architecture)
  • Setup state management (Provider/Riverpod)
  • Configure routing (GoRouter/AutoRoute)
  • Setup dependency injection (GetIt)
  • Configure environment files (.env for API URLs)
  • Setup internationalization (i18n) for AR/EN
  • Configure app icons and splash screen
  • Git repository setup
FL-M4-002 4H High

Splash Screen & App Initialization

  • Create splash screen with KODA logo animation
  • Implement app initialization logic
  • Check authentication status
  • Load cached user data
  • Check app version (force update if needed)
  • Initialize Firebase
  • Loading indicator
  • Navigate to appropriate screen (onboarding or home)
FL-M4-003 8H High

Onboarding Screens

  • Create 3-4 swipeable onboarding screens
  • Page indicator (dots)
  • Screen 1: Smart Luxury concept intro
  • Screen 2: Services overview
  • Screen 3: Golden Opportunities explanation
  • Screen 4: How to book
  • Skip button
  • "Get Started" button (last screen)
  • Language selection dialog
  • Save "onboarding completed" flag
FL-M4-004 16H Critical Path

Registration Screen

  • Create registration form UI
  • Full name input (4 parts with language toggle AR/EN)
  • Gender selection (dropdown/radio)
  • Date of birth picker
  • Phone number input with country code picker
  • Password input with show/hide toggle
  • Password strength indicator
  • Form validation (required fields, phone format, password strength)
  • Terms & conditions checkbox
  • Privacy policy link
  • API integration: POST /api/v1/register
  • Handle API errors
  • Navigate to OTP verification on success
  • Widget tests for form validation
FL-M4-005 8H Critical Path

Login Screen

  • Create login form UI
  • Phone number input
  • Password input (with show/hide)
  • Remember me checkbox
  • Login button (loading state)
  • Forgot password link
  • Don't have account? Register link
  • API integration: POST /api/v1/login
  • Store Sanctum token securely (flutter_secure_storage)
  • Handle errors (invalid credentials, network)
  • Navigate to home on success
  • Widget tests
FL-M4-006 12H High

OTP Verification Screen

  • Create OTP input UI (6 digits)
  • Auto-focus and auto-submit
  • Display phone number being verified
  • Resend OTP button with countdown timer (60 seconds)
  • Change phone number link
  • Verify button (loading state)
  • API integration: POST /api/v1/phone-verification/send-otp
  • API integration: POST /api/v1/phone-verification/verify-otp
  • Handle errors (invalid OTP, expired OTP, rate limit)
  • Navigate to home or complete registration
  • Widget tests
FL-M4-007 10H Medium

Forgot Password Flow

  • Create forgot password screen
  • Phone number input
  • Send OTP button
  • OTP verification (reuse component from FL-M4-006)
  • New password screen with strength indicator
  • Confirm password input
  • Reset password button
  • API integration: POST /api/v1/password/forgot
  • API integration: POST /api/v1/password/reset
  • Handle errors
  • Navigate to login on success
  • Widget tests

Summary

Total Hours by Application

Application Phase 1 Hours Phase 2 Hours Total Hours
KODA Mobile App 470 198 668
KODA Team App 474 0 474
TOTAL 944 198 1,142

Total Tasks

  • Phase 1 - Mobile App: 22 tasks
  • Phase 1 - Team App: 15 tasks
  • Phase 2 - Mobile App: 12 tasks
  • TOTAL: 49 tasks
Previous: ReactJS Developer Tasks

Package 1.14: Home & Navigation

Milestone M4 30 Hours 3 Tasks
FL-M4-008 6H High

Bottom Navigation Bar

  • Create bottom navigation bar widget
  • 4 tabs: Home, Bookings, Services, Profile
  • Active tab indicator (custom design)
  • Icon + label for each tab
  • Badge indicators (notifications count, pending bookings)
  • Handle tab switching
  • Maintain state across tabs
  • Widget tests
FL-M4-009 10H High

Home Screen Layout & Header

  • Create home screen scaffold
  • Header with KODA logo
  • Notification bell icon with badge
  • Profile avatar icon
  • Search bar (navigate to search screen on tap)
  • Pull-to-refresh functionality
  • Scroll controller
  • Loading states (shimmer effect)
  • Error states with retry button
  • Widget tests
FL-M4-010 14H Critical Path

Home Screen Content Sections

  • Banner carousel component (auto-scroll, indicators)
  • "Golden Opportunities" section (horizontal scrollable list)
  • Golden opportunity card widget
  • Show: Service, Date, Time, Original price, Golden price
  • "Book Now" button
  • "Services" section (grid of service categories)
  • Category card: Icon, Name, Starting price
  • "My Next Appointment" widget (if exists)
  • "My Points" widget (display only)
  • API integration: GET /api/v1/home/dashboard
  • API integration: GET /api/v1/golden-opportunities
  • API integration: GET /api/v1/services/categories
  • Cache responses for performance
  • Widget tests

Package 1.15: Golden Opportunities Feature

Milestone M4 52 Hours 3 Tasks
FL-M4-011 20H High

Golden Opportunities List Screen

  • Create list/grid view toggle
  • Date range picker filter
  • Service category dropdown filter
  • Branch/location dropdown filter
  • Sort by: Price, Date, Service
  • Golden opportunity card widget (reusable)
  • Gold badge indicator
  • Original price (struck through)
  • Golden price (highlighted in gold)
  • List view with pagination (infinite scroll)
  • Pull-to-refresh
  • Empty state (no opportunities available)
  • API integration: GET /api/v1/golden-opportunities
  • Real-time updates preparation (WebSocket placeholder)
  • Widget tests
FL-M4-012 12H High

Golden Opportunity Detail Screen

  • Create detail screen layout
  • Service information display (name, category, description, duration)
  • Pricing section (original price struck, golden price prominent)
  • Savings amount highlighted
  • Appointment details (date, time, branch, staff, room)
  • Terms & conditions (expandable)
  • "Book & Pay Now" button (prominent, gold)
  • "Share" button (social sharing)
  • API integration: GET /api/v1/golden-opportunities/{id}
  • Widget tests
FL-M4-013 20H Critical Path

Golden Opportunity Payment Screen

  • Create payment screen UI
  • Order summary section
  • Payment methods: Credit/Debit card, Apple Pay, Google Pay, CliQ
  • Card input form (number, expiry, CVV, name)
  • Save card checkbox
  • Apple Pay integration (iOS)
  • Google Pay integration (Android)
  • "Confirm Payment" button (loading state)
  • Security badges/trust indicators
  • API integration: POST /api/v1/golden-opportunities/{id}/book
  • API integration: POST /api/v1/payments/process
  • Handle payment success/failure
  • Navigate to confirmation screen
  • Widget and integration tests

Package 1.16: Services & Regular Booking

Milestone M8 66 Hours 4 Tasks
FL-M8-001 10H High

Service Categories Screen

  • Create grid view of categories
  • Category card widget (icon, name, service count, starting price)
  • Search bar
  • Filter by branch
  • API integration: GET /api/v1/services/categories
  • Cache categories
  • Widget tests
FL-M8-002 14H High

Category Services List Screen

  • Create services list for a category
  • Category header (name, description)
  • Service card widget (name, description, duration, price, rating)
  • "Book" button
  • Sort options: Price, Duration, Popularity
  • Filter: By staff, by branch
  • API integration: GET /api/v1/services/categories/{id}/services
  • Widget tests
FL-M8-003 18H High

Service Detail Screen

  • Create comprehensive service detail screen
  • Image gallery (swipeable)
  • Service name, category, rating
  • Full description
  • Duration and price information
  • What's included/excluded lists
  • Preparation instructions
  • Available branches list
  • Available staff members (horizontal list)
  • "Book Appointment" button (sticky bottom)
  • API integration: GET /api/v1/services/{id}
  • Widget tests
FL-M8-004 24H Critical Path

Service Booking Screen

  • Create booking flow UI
  • Service summary (sticky top)
  • Date picker (calendar view with availability)
  • Time slots section (grid, color-coded by availability)
  • Branch selection dropdown
  • Staff member selection (optional, with "Any available")
  • Special requests text area
  • Price summary section
  • "Continue to Payment" button
  • "Reserve (Pay Later)" button (if allowed)
  • API integration: GET /api/v1/bookings/availability
  • API integration: POST /api/v1/bookings/create
  • Handle booking with/without payment
  • Widget tests
Next: DevOps Engineer Tasks

Package 1.17: Bookings Management

Milestone M8 48 Hours 3 Tasks
FL-M8-005 16H High

My Bookings List Screen

  • Create bookings list with tabs
  • Tabs: Upcoming (default), Completed, Cancelled
  • Booking card widget (service, date, time, branch, staff, status)
  • Action buttons based on status (View Details, Reschedule, Cancel)
  • Empty state for each tab
  • Pull-to-refresh
  • API integration: GET /api/v1/bookings/my-bookings
  • Widget tests
FL-M8-006 18H High

Booking Detail Screen

  • QR code for check-in
  • Booking reference number (copyable)
  • Status indicator (prominent)
  • Service details section
  • Date & time section
  • Branch & location with map view
  • "Get Directions" button
  • Staff member info
  • Payment information
  • "Download Receipt" button
  • Context-based action buttons (Reschedule, Cancel, Rate)
  • API integration: GET /api/v1/bookings/{id}
  • Real-time status updates (WebSocket placeholder)
  • Widget tests
FL-M8-007 14H Medium

Reschedule Booking Screen

  • Create reschedule flow
  • Current appointment details (read-only, highlighted)
  • New date picker
  • New time slot selection (show availability)
  • Rescheduling policy information display
  • Applicable fees display (if any)
  • Reason for rescheduling (optional dropdown)
  • "Confirm Reschedule" button
  • Confirmation dialog
  • API integration: PUT /api/v1/bookings/{id}/reschedule
  • Handle success/failure
  • Widget tests

Package 1.18: Profile & Account Management

Milestone M8 78 Hours 7 Tasks
FL-M8-008 12H High

Profile Screen (Menu)

  • Create profile menu screen
  • Profile header (photo, name, phone, tier badge)
  • Account menu items (Personal Info, Phones, Addresses, Payment Methods)
  • Loyalty menu items (My Points - Phase 2)
  • Preferences menu (Notifications, Language)
  • Support menu (Help, Terms, Privacy, About KODA)
  • Logout (with confirmation dialog)
  • API integration: GET /api/v1/profile
  • Widget tests
FL-M8-009 14H Medium

Edit Profile Screen

  • Profile photo upload (camera or gallery)
  • Image picker and cropping
  • Editable fields (name, gender, DOB, email)
  • Identity verification status banner
  • Form validation
  • "Save Changes" button (loading state)
  • API integration: PUT /api/v1/profile/update
  • API integration: POST /api/v1/profile/photo/upload
  • Handle errors
  • Widget tests
FL-M8-010 16H Medium

Phone Numbers Management Screen

  • List of phone numbers
  • Phone card widget (number, verified badge, primary badges)
  • "Set as Primary" buttons (calls, messages, WhatsApp)
  • Delete button (with confirmation)
  • "Add Phone Number" button
  • Maximum phones limit indicator
  • API integration: GET /api/v1/profile/phones
  • API integration: PUT /api/v1/profile/phones/{id}/set-primary
  • API integration: DELETE /api/v1/profile/phones/{id}
  • Widget tests
FL-M8-011 10H Medium

Add Phone Number Flow

  • Phone number input with country code picker
  • Phone type selection
  • Set as primary checkboxes (calls, messages, WhatsApp)
  • "Add & Verify" button
  • Navigate to OTP verification
  • API integration: POST /api/v1/profile/phones/add
  • OTP verification flow
  • Widget tests
FL-M8-012 10H Medium

My Points Screen (Phase 1: Display Only)

  • Current points balance (large, prominent)
  • Points tier indicator with "Coming Soon" lock icon
  • Points history list (date, activity, points earned/spent)
  • "How to Earn Points" info button
  • Message banner: "Points redemption coming soon!"
  • API integration: GET /api/v1/loyalty/points/balance
  • API integration: GET /api/v1/loyalty/points/history
  • Widget tests
FL-M8-013 12H Medium

Notifications Settings Screen

  • Toggle switches for notification types
  • Push notifications (master switch)
  • Booking reminders, promotional offers, golden opportunities alerts
  • Points & rewards updates
  • SMS and Email notifications
  • Notification frequency dropdown
  • Quiet hours setting (time range picker)
  • "Save Preferences" button
  • API integration: GET/PUT /api/v1/profile/notification-preferences
  • Widget tests
FL-M8-014 14H Medium

Language Selection & Help Screens

  • Language selection screen (Arabic/English radio buttons)
  • Language preview and "Apply" button
  • Update app locale and persist preference
  • Help & Support screen with FAQ accordion
  • Contact Us section (phone, WhatsApp, email)
  • "Report a Problem" button
  • Branch locations & hours list
  • Static pages: Terms, Privacy, About KODA
  • API integration: GET /api/v1/help/faqs
  • Widget tests

Package 1.19: Notifications & Search

Milestone M8 30 Hours 2 Tasks
FL-M8-015 14H Medium

Notifications List Screen

  • Create notifications inbox screen
  • Notification card widget (icon, title, message, timestamp)
  • Read/unread indicator
  • Tap notification to mark as read and navigate
  • "Mark all as read" button
  • Pull-to-refresh
  • Infinite scroll (pagination)
  • Empty state
  • API integration: GET /api/v1/notifications
  • API integration: PUT /api/v1/notifications/mark-as-read
  • Real-time push notification handling (FCM)
  • Widget tests
FL-M8-016 16H High

Push Notifications Setup (FCM)

  • Integrate Firebase Cloud Messaging (FCM)
  • Platform-specific setup (iOS & Android)
  • Request notification permissions
  • Register device token with backend
  • Handle foreground notifications (in-app display)
  • Handle background notifications (system tray)
  • Handle notification tap (navigate to relevant screen)
  • Badge count management
  • API integration: POST /api/v1/profile/fcm-token
  • Test notifications (iOS & Android)

Package 1.20: Global Search & Testing

Milestone M8 98 Hours 6 Tasks
FL-M8-017 16H Medium

Global Search Screen

  • Search input with autocomplete
  • Search suggestions as user types (debounced)
  • Recent searches (locally stored)
  • Popular searches
  • Search results tabs (Services, Categories, Branches)
  • Filter options (service type, price range)
  • Search result card widgets
  • Empty state (no results found)
  • API integration: GET /api/v1/search
  • API integration: GET /api/v1/search/suggestions
  • Widget tests
FL-M8-018 10H Medium

Booking Confirmation Screen

  • Success animation (Lottie or custom)
  • Booking reference number (large, copyable)
  • QR code for check-in
  • Appointment details summary
  • "Add to Calendar" button
  • "View My Bookings" button
  • "Share" button
  • Widget tests
FL-M8-019 20H High

Error Handling & Offline Mode

  • Implement global error handling
  • Custom error screens (network, server 500, 404, maintenance)
  • Offline mode detection
  • Cache strategy (home, services, profile, bookings)
  • Offline indicator banner
  • Queue failed requests for retry when online
  • Tests for offline scenarios
FL-M8-020 32H High

Unit & Widget Tests

  • Write unit tests for models, repositories, use cases, validators
  • Write widget tests for all custom widgets
  • Form validation tests
  • Button states tests
  • List items tests
  • Aim for >70% code coverage
  • Setup test automation in CI/CD
FL-M8-021 20H High

Integration Tests & Performance Optimization

  • Write integration tests for critical flows
  • Registration → OTP → Login flow
  • Browse services → Book → Pay flow
  • Golden opportunity booking flow
  • Performance optimization (image caching, lazy loading)
  • List performance (virtualization)
  • Profile app with Flutter DevTools
  • Optimize app size
  • Fix memory leaks
  • Tests on multiple devices (iOS & Android)
FL-M8-022 40H Security Buffer

Security Testing & Fixes (SAST/DAST Buffer)

  • Run SAST (Static Application Security Testing)
  • Check for hardcoded secrets/API keys
  • Check insecure data storage and network communication
  • Input validation issues
  • Run DAST (Dynamic Application Security Testing)
  • Test API security (authentication, authorization)
  • Man-in-the-middle attack prevention (SSL pinning)
  • Secure local storage
  • Fix all identified issues
  • Re-test after fixes
  • Document security measures

Note: This is BUFFER time - if no issues found, time can be reallocated

Phase 1 Tasks - KODA Team App

Package 1.21: Staff Authentication

Milestone M5 30 Hours 3 Tasks
FL-M5-001 10H Critical Path

KODA Team App - Project Setup

  • Initialize Flutter project (KODA Team)
  • Similar structure to KODA Mobile App
  • Configure for staff-specific features
  • Setup state management
  • Configure routing
  • Setup environment files
  • Configure app icons (different from customer app)
  • Git repository setup
FL-M5-002 10H Critical Path

Staff Login Screen

  • Create staff login form
  • Company/Branch selection dropdown
  • Staff ID or phone input
  • Password input
  • "Remember Me" checkbox
  • Login button
  • Forgot password link
  • KODA Team branding
  • API integration: POST /api/v1/staff/login
  • Store staff token separately from customer token
  • Widget tests
FL-M5-003 10H High

Branch Selection & Staff Profile

  • Branch selection screen (if multiple branches)
  • Staff profile screen (photo, name, ID, job title)
  • Department and contact info
  • Assigned services (for technicians)
  • Working hours
  • "Edit Profile" button (limited fields)
  • Change password option
  • Logout
  • API integration: GET /api/v1/staff/accessible-branches
  • API integration: GET /api/v1/staff/profile
  • Widget tests

Package 1.22: Staff Dashboard & Customer Management

Milestone M5 42 Hours 2 Tasks
FL-M5-004 28H Critical Path

Role-Based Dashboard

  • Create role-based dashboards (different for each role)
  • Reception/Front Desk Dashboard (appointments, walk-in queue, check-ins)
  • Technician Dashboard (my schedule, next appointment, active session)
  • Call Center Dashboard (callbacks, confirmation queue, quick booking)
  • Common widgets (notifications, quick actions, branch status)
  • Bottom navigation (role-specific tabs)
  • API integration: GET /api/v1/staff/dashboard (role-based response)
  • Real-time updates preparation (WebSocket)
  • Widget tests
FL-M5-005 14H High

Customer Search & Profile View

  • Customer search screen (name, phone, ID)
  • Autocomplete suggestions
  • Recent customers list
  • "Register New Customer" button
  • Customer profile view (staff perspective) with tabs
  • Tabs: Info, Bookings, Packages, Balance, Notes
  • Quick actions (create booking, check-in, call/WhatsApp)
  • Quick customer registration form
  • API integration: GET /api/v1/customers/search
  • API integration: GET /api/v1/staff/customers/{id}
  • API integration: POST /api/v1/staff/customers/quick-register
  • Widget tests

Package 1.23: Booking & Appointments (Staff)

Milestone M9 88 Hours 5 Tasks
FL-M9-001 26H Critical Path

Create Booking (Staff-Initiated)

  • Customer selection/search (autocomplete)
  • Service selection (category browser, search)
  • Date picker and time slot selection
  • Staff member and room/equipment selection
  • Pricing display (based on customer's price group)
  • Special requests/notes
  • "Hold Slot" and "Book & Confirm" buttons
  • Payment collection option
  • API integration: GET /api/v1/staff/bookings/availability
  • API integration: POST /api/v1/staff/bookings/create
  • Widget tests
FL-M9-002 24H High

Today's Appointments Screen

  • Timeline/list view of appointments
  • Appointment card (time, customer, service, status, staff/room)
  • Action buttons based on status (Check-in, Start, Complete, No-show)
  • Filter by status, staff, room
  • Summary stats (total, checked-in, completed, no-shows)
  • Pull-to-refresh
  • API integration: GET /api/v1/staff/appointments/today
  • Real-time updates (WebSocket)
  • Widget tests
FL-M9-003 14H High

Check-In Screen & QR Scanner

  • Appointment details display
  • Customer info verification
  • QR code scanner (camera integration)
  • Validate QR code and auto-fill
  • Manual check-in button
  • Confirm identity checkbox
  • "Check-In Now" button
  • Notify technician option
  • API integration: PUT /api/v1/staff/appointments/{id}/check-in
  • WebSocket notification to technician
  • Widget tests
FL-M9-004 18H High

Walk-In Queue Management

  • Queue list (FIFO order with queue numbers)
  • Customer name, phone, service, wait time
  • Priority flag (if applicable)
  • "Serve Now" and "Remove from Queue" buttons
  • "Add Walk-In" button with quick form
  • Statistics: Queue length, average wait time
  • Pull-to-refresh
  • API integration: GET/POST /api/v1/staff/walk-in-queue
  • Real-time queue updates (WebSocket)
  • Widget tests
FL-M9-005 6H Medium

Staff Reschedule & Cancel Appointment

  • Reschedule & cancel flows (with staff permissions)
  • Reschedule screen with reason dropdown
  • Cancel screen with reason and refund calculation
  • "Notify Customer" checkbox
  • Policy override option (with manager approval)
  • API integration: PUT/DELETE /api/v1/staff/appointments/{id}
  • Widget tests

Package 1.24: Session Management (Technicians)

Milestone M9 70 Hours 4 Tasks
FL-M9-006 18H High

Technician Schedule Screen

  • Technician's personal schedule view (day/week toggle)
  • Timeline of assigned sessions
  • Session card with time, customer, service, room, status
  • Next session highlight
  • Break times indicator
  • API integration: GET /api/v1/staff/my-schedule
  • Real-time schedule changes (WebSocket)
  • Widget tests
FL-M9-007 14H High

Session Detail Screen (Technician)

  • Customer info and service details
  • Procedures/steps checklist preview
  • Required consumables and equipment lists
  • Safety precautions
  • Customer notes (allergies, preferences, history)
  • Previous sessions history
  • "Start Session" and "Mark No-Show" buttons
  • API integration: GET /api/v1/staff/sessions/{id}/details
  • Widget tests
FL-M9-008 22H Critical Path

Active Session Screen (Technician)

  • Timer section (elapsed, remaining, total, overtime warning)
  • Checklist (procedure steps with checkboxes)
  • Progress indicator
  • Consumables used section (list with quantity selectors)
  • Notes/observations text field
  • "Pause Session" and "Complete Session" buttons
  • API integration: PUT /api/v1/staff/sessions/{id}/start
  • API integration: POST /api/v1/staff/sessions/{id}/log-consumables
  • Widget tests
FL-M9-009 16H High

Complete Session Screen (Technician)

  • Session summary (duration, consumables)
  • Service quality self-assessment
  • Issues/complications report
  • Post-care instructions checkbox
  • Book next appointment suggestion
  • Customer satisfaction quick rating
  • Photo upload (before/after with camera integration)
  • "Submit & Complete" button
  • API integration: PUT /api/v1/staff/sessions/{id}/complete
  • Widget tests

Package 1.25: Point of Sale (Mobile)

Milestone M9 70 Hours 3 Tasks
FL-M9-010 32H Critical Path

POS Main Screen (Mobile)

  • Mobile POS interface (customer search, cart, catalog)
  • Cart section with item cards
  • Catalog tabs (Services, Products, Packages)
  • Price summary (sticky bottom)
  • Actions: Apply discount, add custom item, hold transaction
  • API integration: GET /api/v1/staff/pos/catalog
  • Widget tests
FL-M9-011 26H Critical Path

POS Payment Processing Screen

  • Payment method selection (cash, card, balance, package, points)
  • For cash: Amount received input, change calculator
  • For card: Card terminal integration
  • For package: Deduct session confirmation
  • "Complete Transaction" button
  • Print/Send receipt options
  • API integration: POST /api/v1/staff/pos/payments/process
  • Success screen with transaction details
  • Widget tests
FL-M9-012 12H Medium

Held Transactions & Cash Drawer

  • Held transactions screen with resume/cancel options
  • End of day cash drawer screen
  • Cash count input (denomination breakdown)
  • Variance display and reason field
  • Manager approval requirement (if variance exceeds threshold)
  • API integration: GET/POST /api/v1/staff/pos/held-transactions
  • API integration: POST /api/v1/staff/pos/cash-drawer/count
  • Widget tests

Package 1.26: Notifications & Testing (Staff App)

Milestone M9 60 Hours 3 Tasks
FL-M9-013 14H Medium

Staff Notifications Screen

  • Staff notifications screen (schedule changes, check-ins, urgent requests)
  • Filter by category
  • Mark all as read
  • Sound/vibration settings
  • Real-time push notifications (FCM)
  • API integration: GET /api/v1/staff/notifications
  • Widget tests
FL-M9-014 26H High

Staff App Testing & Polish

  • Unit tests for staff app features
  • Widget tests for staff-specific widgets
  • Integration tests for critical staff workflows
  • Performance optimization
  • Error handling
  • Tests on multiple devices
  • Code coverage >70%
FL-M9-015 20H Security Buffer

Security Testing & Fixes (SAST/DAST Buffer)

  • Run SAST and DAST on KODA Team app
  • Identify and fix security vulnerabilities
  • Ensure staff data protection
  • Test role-based access controls
  • Check for privilege escalation vulnerabilities
  • Document security measures

Note: This is BUFFER time - if no issues found, time can be reallocated

Phase 2 Tasks - Loyalty, Passport & Packages

Package 2.4: Loyalty Features (Mobile App)

Milestone M15 84 Hours 3 Tasks
FL-M15-001 12H High

Enhanced My Points Screen

  • Enhance points screen from Phase 1
  • Enable points redemption
  • Add "Redeem Points" button
  • Tier progress bar
  • Tier benefits comparison section
  • Points expiration warnings
  • API integration: Enhanced GET /api/v1/loyalty/points
  • Widget tests
FL-M15-002 14H High

Redeem Points Screen

  • List of available redemptions
  • Redemption card widget (discount, free service, passport benefits)
  • Points required vs balance indicator
  • "Redeem" button (enabled/disabled)
  • Confirmation dialog
  • API integration: POST /api/v1/loyalty/redeem
  • Success/failure handling
  • Widget tests
FL-M15-003 10H Medium

Loyalty Tiers Screen

  • Current tier display (prominent)
  • Progress to next tier (visual bar, points remaining)
  • All tiers list with tier cards
  • Tier benefits list
  • Status: Current / Next Goal / Achieved
  • "How to Earn More Points" tips section
  • API integration: GET /api/v1/loyalty/tiers
  • Widget tests

Package 2.5: Passport Features (Mobile App)

Milestone M15 62 Hours 5 Tasks
FL-M15-004 14H High

Passport Home Screen

  • "My Passport" header with tier badge
  • Unlock status indicator
  • Partner categories grid
  • Featured partners carousel
  • "How Passport Works" tutorial
  • API integration: GET /api/v1/passport/partners
  • Widget tests
FL-M15-005 12H Medium

Partner Category & List Screens

  • Partner list screen for category
  • List/map view toggle
  • Partner card widget
  • Sort options (Distance, Popularity)
  • Map view (Google Maps/Apple Maps)
  • API integration: GET /api/v1/passport/partners/category/{id}
  • Widget tests
FL-M15-006 12H Medium

Partner Detail Screen

  • Partner header and rating
  • Exclusive benefit details
  • Terms & conditions
  • Branch locations with map
  • "Activate Benefit" button
  • "Get Directions" and "Share" buttons
  • API integration: GET /api/v1/passport/partners/{id}
  • Widget tests
FL-M15-007 14H High

Activate Benefit Screen (QR)

  • Benefit details reminder
  • Partner location confirmation
  • QR code generation & display (large, centered)
  • 5-minute expiry countdown timer
  • "Refresh" button (generate new QR if expired)
  • User identification display
  • Instructions for staff
  • API integration: POST /api/v1/passport/partners/{id}/activate
  • Handle expiry
  • Widget tests
FL-M15-008 10H Medium

My Passport Activity Screen

  • List of used benefits
  • Monthly usage statistics
  • Most visited partners (top 3-5)
  • Savings calculator (estimated value saved)
  • API integration: GET /api/v1/passport/my-activity
  • Widget tests

Package 2.6: Packages Features (Mobile App)

Milestone M15 52 Hours 4 Tasks
FL-M15-009 14H Medium

My Packages Screen

  • Filter: Active, Expired
  • Package card widget (name, services, sessions, expiry)
  • Progress bar (visual)
  • Status badge (Active, Expiring Soon, Expired)
  • "Book Session" button
  • Empty state (no packages)
  • API integration: GET /api/v1/packages/my-packages
  • Widget tests
FL-M15-010 12H Medium

Package Detail Screen

  • Package overview section
  • Sessions breakdown (per service)
  • Usage history (date, session number, staff, branch)
  • Expiry date & countdown
  • Terms & conditions (expandable)
  • "Book Next Session" button
  • "Transfer Package" option (if allowed)
  • API integration: GET /api/v1/packages/{id}
  • Widget tests
FL-M15-011 26H High

Browse & Purchase Packages

  • Browse packages screen with categories
  • Package card widget (name, services, sessions, price, savings)
  • Filter by: Category, Price, Duration
  • Sort by: Price, Popularity, Savings
  • Package purchase screen with payment options
  • Full payment or installment plans
  • Terms & conditions checkbox
  • "Proceed to Payment" button
  • Reuse payment screen from golden opportunities
  • API integration: GET /api/v1/packages/available
  • API integration: POST /api/v1/packages/{id}/purchase
  • Widget tests
FL-M15-012 20H Security Buffer

Security Testing & Fixes (SAST/DAST Buffer - Phase 2)

  • Run SAST and DAST on Phase 2 features
  • Identify vulnerabilities in loyalty system (points manipulation)
  • Passport QR codes security (tampering, replay attacks)
  • Package purchase flow security
  • Fix identified issues
  • Re-test

Note: This is BUFFER time - if no issues found, time can be reallocated