flowchart LR

subgraph C1["Login"]
  S_client_sign_in["client_sign_in_screen.dart"]
  S_client_sign_in --> S_client_sign_in_Q["Queries<br/>* user - getUserById<br/>* business - getBusinessesByUserId"]
  S_client_sign_in --> S_client_sign_in_F["Firebase<br/>* user - auth"]
end

subgraph C2["Create account"]
  S_client_sign_up["client_sign_up_screen.dart"]
  S_client_sign_up --> S_client_sign_up_Q["Queries<br/>* business - getBusinessesByUserId"]
  S_client_sign_up --> S_client_sign_up_M["Mutations<br/>* user - createUser<br/>* business - createBusiness"]
end

subgraph C3["Edit account"]
  S_edit_account_na["manual_or_unknown_screen.dart"]
  S_edit_account_na --> S_edit_account_na_M["Mutations<br/>* business - updateBusiness"]
end

subgraph C4["Profile"]
  S_client_settings["client_settings_screen.dart"]
  S_client_settings --> S_client_settings_Q["Queries<br/>* user - getUserById<br/>* business - getBusinessesByUserId"]
end

subgraph C5["Hubs"]
  S_client_hubs["client_hubs_screen.dart"]
  S_client_hubs --> S_client_hubs_Q["Queries<br/>* TeamHub - listTeamHubsByOwnerId"]
  S_client_hubs --> S_client_hubs_M["Mutations<br/>* TeamHub - createTeamHub<br/>* TeamHub - updateTeamHub<br/>* TeamHub - deleteTeamHub"]
end

subgraph C6["Orders"]
  S_client_shifts["client_shifts_screen.dart"]
  S_client_shifts --> S_client_shifts_Q["Queries<br/>* order - getOrdersByBusinessId"]
end

subgraph C7["RAPID Order"]
  S_rapid_order["rapid_order_flow_page.dart"]
  S_rapid_order --> S_rapid_order_M["Mutations<br/>* order - createOrder"]
end

subgraph C8["One-time Order"]
  S_one_time["one_time_order_flow_page.dart"]
  S_one_time --> S_one_time_Q["Queries<br/>* role - listRolesByOwnerId"]
  S_one_time --> S_one_time_M["Mutations<br/>* ShiftRole - createShiftRole<br/>* order - createOrder"]
end

subgraph C9["Permanent Placement"]
  S_permanent["permanent_order_flow_page.dart"]
  S_permanent --> S_permanent_Q["Queries<br/>* role - listRolesByOwnerId"]
  S_permanent --> S_permanent_M["Mutations<br/>* ShiftRole - createShiftRole<br/>* order - createOrder"]
end

subgraph C10["Recurring Order"]
  S_recurring["recurring_order_flow_page.dart"]
  S_recurring --> S_recurring_Q["Queries<br/>* role - listRolesByOwnerId"]
  S_recurring --> S_recurring_M["Mutations<br/>* ShiftRole - createShiftRole<br/>* order - createOrder"]
end

subgraph C11["Billing"]
  S_billing["client_billing_screen.dart"]
  S_billing --> S_billing_Q["Queries<br/>* account - getAccountsByOwnerId<br/>* invoice - listInvoicesByBusinessId<br/>* recentPayment - listRecentPaymentsByBusinessId"]
  S_billing --> S_billing_M["Mutations<br/>* account - createAccount<br/>* account - updateAccount<br/>* account - deleteAccount"]
end

subgraph C12["Coverage"]
  S_coverage["coverage_dashboard.dart"]
  S_coverage --> S_coverage_Q["Queries<br/>* order - getOrdersByBusinessId<br/>* shift - getShiftsByBusinessId<br/>* application - getApplicationsByShiftId"]
end

subgraph C13["Home"]
  S_client_home["client_home_screen.dart"]
  S_client_home --> S_client_home_Q["Queries<br/>* order - getOrdersByBusinessId<br/>* shift - getShiftsByBusinessId<br/>* application - getApplicationsByShiftId<br/>* recentPayment - listRecentPaymentsByBusinessId"]
  S_client_home --> S_client_home_M["Mutations<br/>* order - createOrder"]
end
