# Staff Application: Use Case Overview This document details the primary business actions available within the **Staff Mobile Application**. It is organized according to the application's logical structure and navigation flow. --- ## 1. Application Access & Authentication ### 1.1 App Initialization * **Actor:** Temporary Worker * **Description:** The system checks if the user is logged in upon startup. * **Main Flow:** 1. Worker opens the app. 2. System checks for a valid auth token. 3. If valid, worker goes to **Home**. 4. If invalid, worker goes to **Get Started**. ### 1.2 Onboarding & Registration * **Actor:** New Worker * **Description:** Creating a new profile to join the KROW network. * **Main Flow:** 1. Worker enters phone number. 2. System sends SMS OTP. 3. Worker verifies OTP. 4. System checks if profile exists. 5. If new, worker completes **Profile Setup Wizard** (Personal Info -> Role/Experience -> Attire Sizes). 6. Worker enters the Main App. --- ## 2. Job Discovery (Home Tab) ### 2.1 Browse & Filter Jobs * **Actor:** Temporary Worker * **Description:** Finding suitable work opportunities. * **Main Flow:** 1. Worker taps "View Available Jobs". 2. Worker filters by Role (e.g., Server) or Distance. 3. Worker selects a job card to view details (Pay, Location, Requirements). ### 2.2 Claim Open Shift * **Actor:** Temporary Worker * **Description:** Committing to work a specific shift. * **Main Flow:** 1. From Job Details, worker taps "Claim Shift". 2. System validates eligibility (Certificates, Conflicts). 3. If eligible, shift is added to "My Schedule". 4. If missing requirements, system prompts to **Upload Compliance Docs**. ### 2.3 Set Availability * **Actor:** Temporary Worker * **Description:** Defining working hours to get better job matches. * **Main Flow:** Worker taps "Set Availability" -> Selects dates/times -> Saves preferences. --- ## 3. Shift Execution (Shifts & Clock In Tabs) ### 3.1 View Schedule * **Actor:** Temporary Worker * **Description:** Reviewing upcoming commitments. * **Main Flow:** Navigate to "My Shifts" tab -> View list of claimed shifts. ### 3.2 GPS-Verified Clock In * **Actor:** Temporary Worker * **Description:** Starting a shift once on-site. * **Main Flow:** 1. Navigate to "Clock In" tab. 2. System checks GPS location against job site coordinates. 3. If **On Site**, "Swipe to Clock In" becomes active. 4. Worker swipes to start the timer. 5. If **Off Site**, system displays an error message. ### 3.3 Submit Timesheet * **Actor:** Temporary Worker * **Description:** Completing a shift and submitting hours for payment. * **Main Flow:** 1. Worker swipes to "Clock Out". 2. Worker confirms total hours and break times. 3. Worker submits timesheet for client approval. --- ## 4. Financial Management (Payments Tab) ### 4.1 Track Earnings * **Actor:** Temporary Worker * **Description:** Monitoring financial progress. * **Main Flow:** Navigate to "Payments" -> View "Pending Pay" (unpaid) and "Total Earned" (paid). ### 4.2 Request Early Pay * **Actor:** Temporary Worker * **Description:** Accessing wages before the standard payday. * **Main Flow:** 1. Tap "Request Early Pay". 2. Select amount to withdraw from available balance. 3. Confirm transfer fee. 4. Funds are transferred to the linked bank account. --- ## 5. Profile & Compliance (Profile Tab) ### 5.1 Manage Compliance Documents * **Actor:** Temporary Worker * **Description:** Keeping certifications up to date. * **Main Flow:** Navigate to "Compliance Menu" -> "Upload Certificates" -> Take photo of ID/License -> Submit. ### 5.2 Manage Tax Forms * **Actor:** Temporary Worker * **Description:** Submitting legal employment forms. * **Main Flow:** Navigate to "Tax Forms" -> Complete W-4 or I-9 digitally -> Sign and Submit. ### 5.3 KROW University Training * **Actor:** Temporary Worker * **Description:** Improving skills to unlock better jobs. * **Main Flow:** Navigate to "KROW University" -> Select Module -> Watch Video/Take Quiz -> Earn Badge. ### 5.4 Account Settings * **Actor:** Temporary Worker * **Description:** Managing personal data. * **Main Flow:** Update Bank Details, View Benefits, or Access Support/FAQs. --- # Use Cases Diagram ```mermaid flowchart TD subgraph AppInitialization [App Initialization] Start[Start App] --> CheckAuth{Check Auth Status} CheckAuth -- Authenticated --> GoHome[Go to Main App] CheckAuth -- Unauthenticated --> GetStarted[Go to Get Started] end subgraph Authentication [Onboarding & Authentication] GetStarted --> InputPhone[Enter Phone Number] InputPhone --> VerifyOTP[Verify SMS Code] VerifyOTP --> CheckProfile{Profile Complete?} CheckProfile -- Yes --> GoHome CheckProfile -- No --> SetupProfile[Profile Setup Wizard] SetupProfile --> Step1[Personal Info] Step1 --> Step2[Role & Experience] Step2 --> Step3[Attire Sizes] Step3 --> GoHome end subgraph MainApp [Main Application Shell] GoHome --> Shell[Scaffold with Nav Bar] Shell --> TabNav{Tab Navigation} TabNav -- Index 0 --> Shifts[My Shifts Tab] TabNav -- Index 1 --> Payments[Payments Tab] TabNav -- Index 2 --> Home[Home Tab] TabNav -- Index 3 --> ClockIn[Clock In Tab] TabNav -- Index 4 --> Profile[Profile Tab] end subgraph HomeAndDiscovery [Job Discovery] Home --> ViewOpenJobs[View Available Jobs] ViewOpenJobs --> FilterJobs[Filter by Role/Distance] ViewOpenJobs --> JobDetail[View Job Details] JobDetail --> ClaimShift{Claim Shift} ClaimShift -- Success --> ShiftSuccess[Shift Added to Schedule] ClaimShift -- "Missing Req" --> PromptUpload[Prompt Compliance Upload] Home --> SetAvailability[Set Availability] Home --> ViewUpcoming[View Upcoming Shifts] end subgraph ShiftExecution [Shift Execution] Shifts --> ViewSchedule[View My Schedule] ClockIn --> CheckLocation{Verify GPS Location} CheckLocation -- "On Site" --> SwipeIn[Swipe to Clock In] CheckLocation -- "Off Site" --> LocationError[Show Location Error] SwipeIn --> ActiveShift[Shift In Progress] ActiveShift --> SwipeOut[Swipe to Clock Out] SwipeOut --> ConfirmHours[Confirm Hours & Breaks] ConfirmHours --> SubmitTimesheet[Submit Timesheet] end subgraph Financials [Earnings & Payments] Payments --> ViewEarnings[View Pending Earnings] Payments --> ViewHistory[View Payment History] ViewEarnings --> EarlyPay{Request Early Pay?} EarlyPay -- Yes --> SelectAmount[Select Amount] SelectAmount --> ConfirmTransfer[Confirm Transfer] end subgraph ProfileAndCompliance [Profile & Compliance] Profile --> ComplianceMenu[Compliance Menu] ComplianceMenu --> UploadDocs[Upload Certificates] ComplianceMenu --> TaxForms["Manage Tax Forms (W-4/I-9)"] Profile --> KrowUniversity[KROW University] KrowUniversity --> StartTraining[Start Training Module] Profile --> BankAccount[Manage Bank Details] Profile --> Benefits[View Benefits] Profile --> Support["Access Support/FAQs"] end %% Relationships across subgraphs SubmitTimesheet -.-> ViewEarnings PromptUpload -.-> ComplianceMenu ShiftSuccess -.-> ViewSchedule ```