{
  "generated_at": "2026-02-02T14:09:30.982506Z",
  "api": "gemini",
  "model": "gemini-2.0-flash",
  "passes_run": [
    "1",
    "2",
    "3",
    "4",
    "5"
  ],
  "concurrent_workers": 8,
  "base_delay": 0.5,
  "total_processed": 90,
  "total_failed": 0,
  "screenshots": [
    {
      "screenshot_id": "IMG_2655",
      "sequence_index": 0,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2655.png",
      "basic_info": {
        "screen_name": "Login",
        "feature_area": "login",
        "ui_elements": [
          "Login button",
          "App title"
        ],
        "functionality_visible": [
          "Login to the app"
        ],
        "navigation_paths": [],
        "data_displayed": [],
        "user_actions": [
          "Tap Login button"
        ],
        "visible_text_labels": [
          "Login",
          "Track time"
        ],
        "one_line_description": "This is the login screen for the time tracking app.",
        "screenshot_id": "IMG_2655",
        "sequence_index": 0,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2655.png"
      },
      "deep_understanding": {
        "screen_context": "This is likely the initial screen displayed when the user first opens the app or after being logged out. It serves as a welcome screen and prompts the user to log in.",
        "user_goal": "The user's primary goal is to log in to the app to access its features and manage their work-related tasks.",
        "business_value": "This screen is crucial for user authentication and access control. It ensures that only authorized personnel can access sensitive workforce management data and functionalities. It also provides a clear entry point to the app, encouraging user engagement.",
        "state_information": {
          "data_shown": "The screen displays the app's name or a brief description ('Track time') and a login button.",
          "editable_fields": "None.",
          "read_only_fields": "The app name/description.",
          "current_state": "The app is in a logged-out state, awaiting user authentication."
        },
        "interactions": [
          {
            "action": "Tap 'Login' button",
            "outcome": "The app will navigate to the login screen or initiate the login process.",
            "next_state": "Login screen (likely requiring username/password or other authentication method).",
            "error_possibilities": "Network connectivity issues, server unavailability, or incorrect login credentials (if the login screen is displayed)."
          }
        ],
        "edge_cases": "1. First-time user: The user might need to create an account if they don't have one already (though this screen doesn't offer that option directly). \n2. No internet connection: The login process might fail if there's no internet connection.\n3. Server issues: The login process might fail if the server is down or experiencing issues.\n4. Different authentication methods: The login process might involve different authentication methods (e.g., username/password, SSO, biometric authentication).",
        "benefits": "The screen provides a clear and simple entry point to the app, making it easy for users to start the login process. It also reinforces the app's purpose (tracking time).",
        "mental_model": "The screen supports a simple mental model: the user understands that they need to log in to access the app's features. The 'Login' button is a standard and recognizable element, making the process intuitive."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "home",
            "trigger": "successful login",
            "data_passed": "user ID, user profile, organization data",
            "purpose": "To navigate to the main application interface after successful authentication."
          },
          {
            "screen_type": "signup",
            "trigger": "user selects 'Sign Up' or similar option",
            "data_passed": "None",
            "purpose": "To allow new users to create an account."
          },
          {
            "screen_type": "forgot password",
            "trigger": "user selects 'Forgot Password' or similar option",
            "data_passed": "None",
            "purpose": "To allow users to recover their account if they have forgotten their password."
          },
          {
            "screen_type": "error",
            "trigger": "invalid login credentials",
            "data_passed": "error message (e.g., 'Invalid username or password')",
            "purpose": "To inform the user of incorrect login attempts."
          }
        ],
        "depends_on": [],
        "data_flow": "This screen receives user credentials (username/email and password) as input. It sends these credentials to a backend authentication service. Upon successful authentication, it receives user data (user ID, profile information, organization data) from the backend. Upon failure, it receives an error message.",
        "navigation_patterns": [
          {
            "pattern_type": "branching",
            "description": "From this screen, the user can navigate to the home screen (after successful login), the signup screen, or the forgot password screen. An error message is displayed on the same screen if login fails."
          }
        ],
        "feature_dependencies": [
          "authentication",
          "user management"
        ],
        "alternative_paths": [
          {
            "description": "Users might be able to log in using third-party authentication providers (e.g., Google, Facebook).",
            "alternative_login": "Third-party authentication"
          }
        ]
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "Login to Track Time",
            "goal": "Access the time tracking application",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Login",
                "action": "Tap 'Login'",
                "outcome": "Navigates to the Login screen"
              },
              {
                "step_number": 2,
                "screen_type": "Login",
                "action": "Enter credentials and tap 'Login'",
                "outcome": "User is logged in and navigates to the main time tracking screen"
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [
          {
            "error_type": "Invalid Credentials",
            "recovery_steps": [
              {
                "step_number": 1,
                "screen_type": "Login",
                "action": "Receive error message 'Invalid username or password'",
                "outcome": "Error message displayed"
              },
              {
                "step_number": 2,
                "screen_type": "Login",
                "action": "Re-enter credentials and tap 'Login'",
                "outcome": "If credentials are now valid, user is logged in. Otherwise, error message is displayed again."
              },
              {
                "step_number": 3,
                "screen_type": "Login",
                "action": "Tap 'Forgot Password'",
                "outcome": "Navigates to password reset flow"
              }
            ]
          }
        ],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [],
          "manager": [],
          "hr_admin": [],
          "general": [
            "Access to time tracking features",
            "Ability to log in and start tracking time"
          ]
        },
        "business_value": {
          "problem_solved": "Provides a clear entry point for users to access the time tracking application.",
          "value_proposition": "Enables users to log in and begin tracking their time, facilitating accurate time management and reporting.",
          "differentiators": "Simplicity and ease of access to the core functionality of the app.",
          "impact": "Streamlines the user experience by providing a direct path to time tracking features."
        },
        "use_cases": [
          {
            "scenario": "An employee needs to start tracking their work hours for the day.",
            "user_type": "employee",
            "benefit": "Quick access to the time tracking functionality."
          },
          {
            "scenario": "A manager wants to review the time logs of their team members.",
            "user_type": "manager",
            "benefit": "Ability to log in and access team time tracking data."
          },
          {
            "scenario": "An HR administrator needs to generate payroll reports based on tracked time.",
            "user_type": "hr_admin",
            "benefit": "Access to the system to generate necessary reports."
          }
        ],
        "value_statements": [
          "Start tracking your time effortlessly with our easy-to-use login.",
          "Log in and unlock the power of accurate time management.",
          "Access your time tracking data quickly and securely."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2656",
      "sequence_index": 1,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2656.png",
      "basic_info": {
        "screen_name": "Login",
        "feature_area": "login",
        "ui_elements": [
          "Login button",
          "Swap shifts text"
        ],
        "functionality_visible": [
          "Login to the app"
        ],
        "navigation_paths": [
          "Tap Login to proceed"
        ],
        "data_displayed": [],
        "user_actions": [
          "Tap Login"
        ],
        "visible_text_labels": [
          "Login",
          "Swap shifts"
        ],
        "one_line_description": "This is the login screen for the Ordio app.",
        "screenshot_id": "IMG_2656",
        "sequence_index": 1,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2656.png"
      },
      "deep_understanding": {
        "screen_context": "This is likely the initial screen displayed after launching the app, before the user has logged in. It serves as a welcome screen and provides a clear call to action to log in.",
        "user_goal": "The user's goal is to log in to the app to access its features, such as viewing their schedule, requesting time off, or swapping shifts.",
        "business_value": "This screen exists to guide users towards logging in and using the app. It's crucial for user adoption and engagement, as it's the first impression many users will have. It solves the problem of directing users to the login process.",
        "state_information": {
          "data_shown": "The app name \"Swap shifts\" is displayed, indicating the app's primary function. A logo or visual element might be represented by the circle next to the text. The 'Login' button is also displayed.",
          "editable_fields": "None.",
          "read_only_fields": "The app name \"Swap shifts\".",
          "current_state": "The app is in a pre-login state, awaiting user authentication."
        },
        "interactions": [
          {
            "action": "Tap the 'Login' button",
            "outcome": "The app will navigate to the login screen where the user can enter their credentials.",
            "next_state": "The app transitions to the login screen.",
            "error_possibilities": "If the login screen fails to load, an error message might be displayed. If the user has no internet connection, the login screen might not load."
          }
        ],
        "edge_cases": "If the app has a 'remember me' feature, it might automatically log the user in, bypassing the login screen. If the user has forgotten their password, there should be a 'forgot password' option on the login screen (which is the next screen).",
        "benefits": "The screen provides a clear and simple entry point to the app. It immediately informs the user about the app's purpose and guides them towards logging in.",
        "mental_model": "The screen supports a simple mental model: the user understands that they need to log in to access the app's features. The app name reinforces the core functionality of shift swapping."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "Home",
            "trigger": "Successful login",
            "data_passed": "User ID, employee data, shift schedule",
            "purpose": "To display the user's dashboard and shift information after successful authentication."
          },
          {
            "screen_type": "Forgot Password",
            "trigger": "User clicks 'Forgot Password'",
            "data_passed": "None",
            "purpose": "To allow the user to reset their password if they have forgotten it."
          },
          {
            "screen_type": "Error",
            "trigger": "Invalid login credentials",
            "data_passed": "Error message (e.g., 'Incorrect username or password')",
            "purpose": "To inform the user that their login attempt failed due to incorrect credentials."
          }
        ],
        "depends_on": [],
        "data_flow": "This screen receives user input (username/password). It sends this data to a backend authentication service. It receives a success/failure response and user data upon successful authentication.",
        "navigation_patterns": [
          {
            "pattern_type": "linear",
            "description": "After successful login, the user is navigated to the Home screen."
          },
          {
            "pattern_type": "branching",
            "description": "If login fails, an error message is displayed, and the user remains on the login screen. The user can also navigate to the 'Forgot Password' screen."
          }
        ],
        "feature_dependencies": [
          "Authentication",
          "User profile"
        ],
        "alternative_paths": [
          {
            "description": "User might use biometric login (if available and configured)."
          }
        ]
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "Login to Swap Shifts",
            "goal": "Access the Swap Shifts application",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Login",
                "action": "Taps the 'Login' button",
                "outcome": "User is logged in and taken to the next screen (unspecified)."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [],
          "manager": [],
          "hr_admin": [],
          "general": [
            "Access to shift swapping functionality"
          ]
        },
        "business_value": {
          "problem_solved": "Provides a clear entry point for users to access the shift swapping application.",
          "value_proposition": "Enables users to log in and begin using the shift swapping features.",
          "differentiators": "Focuses on shift swapping as the primary function.",
          "impact": "Streamlines access to shift management tools, potentially improving employee satisfaction and operational efficiency."
        },
        "use_cases": [
          {
            "scenario": "An employee needs to swap a shift but hasn't logged in yet.",
            "user_type": "employee",
            "benefit": "Quick access to the login screen to initiate the shift swap process."
          },
          {
            "scenario": "A manager needs to approve a shift swap request.",
            "user_type": "manager",
            "benefit": "Easy access to the system to review and approve shift swap requests."
          }
        ],
        "value_statements": [
          "Log in to start swapping shifts today!",
          "Access your shift management tools with a single tap.",
          "Simplify shift swapping for your entire team."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2657",
      "sequence_index": 2,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2657.png",
      "basic_info": {
        "screen_name": "Login",
        "feature_area": "login",
        "ui_elements": [
          "Title",
          "Login button"
        ],
        "functionality_visible": [
          "Login"
        ],
        "navigation_paths": [],
        "data_displayed": [],
        "user_actions": [
          "Tap Login button"
        ],
        "visible_text_labels": [
          "Find replacements",
          "Login"
        ],
        "one_line_description": "This is the login screen of the Ordio app.",
        "screenshot_id": "IMG_2657",
        "sequence_index": 2,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2657.png"
      },
      "deep_understanding": {
        "screen_context": "This is likely the initial screen displayed after launching the app when the user is not logged in. It appears when the app needs the user to log in to access its features.",
        "user_goal": "The user wants to log in to access the app's features, such as time tracking, scheduling, or other workforce management tools.",
        "business_value": "This screen ensures that only authorized users can access the app's functionalities, protecting sensitive employee data and ensuring accurate time tracking and workforce management. It also encourages user engagement by prompting them to log in.",
        "state_information": {
          "data_shown": "The screen displays a title 'Find replacements' and a login button. The title might indicate the app's core functionality or a specific feature available after login.",
          "editable_fields": "None.",
          "read_only_fields": "The title 'Find replacements'.",
          "current_state": "The app is in a pre-login state, awaiting user authentication."
        },
        "interactions": [
          {
            "action": "Tap 'Login' button",
            "outcome": "The app will attempt to authenticate the user.",
            "next_state": "The app will navigate to the login form or authentication screen. After successful login, the app will navigate to the main dashboard or home screen.",
            "error_possibilities": "Invalid credentials, network connection issues, server errors."
          }
        ],
        "edge_cases": "1. User has forgotten their password.\n2. User does not have an account.\n3. Network connectivity issues prevent login.\n4. Server is down or experiencing issues.\n5. User has multiple accounts.",
        "benefits": "The screen provides a clear and direct path for users to log in and access the app's features. It is simple and easy to understand.",
        "mental_model": "The screen reinforces the mental model that the app requires authentication before accessing its features. It is a standard login flow that users are familiar with."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "home",
            "trigger": "successful login",
            "data_passed": "user authentication token, user profile data",
            "purpose": "To navigate the user to the main application screen after successful authentication."
          },
          {
            "screen_type": "forgot password",
            "trigger": "user clicks 'forgot password' link",
            "data_passed": "none",
            "purpose": "To allow the user to reset their password if they have forgotten it."
          },
          {
            "screen_type": "signup",
            "trigger": "user clicks 'sign up' link",
            "data_passed": "none",
            "purpose": "To allow new users to create an account."
          },
          {
            "screen_type": "error",
            "trigger": "unsuccessful login",
            "data_passed": "error message (e.g., invalid credentials)",
            "purpose": "To inform the user about login failures."
          }
        ],
        "depends_on": [
          {
            "screen_type": "login",
            "required_data": "none",
            "purpose": "This is the initial login screen, so it doesn't depend on any previous screen."
          }
        ],
        "data_flow": "This screen receives user input (username/email and password). It sends this data to the authentication service. Upon successful authentication, it receives a user authentication token and profile data. Upon failure, it receives an error message.",
        "navigation_patterns": [
          {
            "pattern_type": "branching",
            "description": "From this screen, the user can navigate to the home screen (after successful login), the 'forgot password' screen, or the 'sign up' screen. An error screen may also appear."
          }
        ],
        "feature_dependencies": [
          "authentication",
          "user accounts"
        ],
        "alternative_paths": [
          "Users might be able to log in using third-party authentication providers (e.g., Google, Facebook).",
          "Users might be able to skip login and browse a limited version of the app as a guest."
        ]
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "Login to Ordio",
            "goal": "Access Ordio to find replacements",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Login",
                "action": "Taps on the Login button",
                "outcome": "User is prompted to select a workspace."
              },
              {
                "step_number": 2,
                "screen_type": "Workspace Selection",
                "action": "Selects a workspace",
                "outcome": "User is logged in and can start finding replacements."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [],
          "manager": [],
          "hr_admin": [],
          "general": [
            "Access to replacement finding features"
          ]
        },
        "business_value": {
          "problem_solved": "Provides access to the app's features by authenticating users.",
          "value_proposition": "Secure and controlled access to replacement finding tools.",
          "differentiators": "N/A from this screen alone",
          "impact": "Enables users to utilize the app's core functionality."
        },
        "use_cases": [
          {
            "scenario": "An employee needs to find a replacement for their shift but is not logged in.",
            "user_type": "employee",
            "benefit": "Allows the employee to log in and access the replacement finding tools."
          },
          {
            "scenario": "A manager wants to approve a replacement request but is not logged in.",
            "user_type": "manager",
            "benefit": "Enables the manager to log in and manage replacement requests."
          },
          {
            "scenario": "An HR admin needs to access employee data for replacement planning but is not logged in.",
            "user_type": "hr_admin",
            "benefit": "Provides the HR admin with access to the system after logging in."
          }
        ],
        "value_statements": [
          "Log in to unlock the full potential of our replacement finding tools.",
          "Securely access your account and start finding replacements today.",
          "Get started with finding replacements by logging in."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2658",
      "sequence_index": 3,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2658.png",
      "basic_info": {
        "screen_name": "Login",
        "feature_area": "login",
        "ui_elements": [
          "Login button",
          "Text: New way of working"
        ],
        "functionality_visible": [
          "Login to the app"
        ],
        "navigation_paths": [],
        "data_displayed": [],
        "user_actions": [
          "Tap Login"
        ],
        "visible_text_labels": [
          "Login",
          "New way of working"
        ],
        "one_line_description": "This is the login screen of the Ordio app.",
        "screenshot_id": "IMG_2658",
        "sequence_index": 3,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2658.png"
      },
      "deep_understanding": {
        "screen_context": "This is likely the initial screen displayed after launching the app, before the user has logged in. It serves as an introduction or splash screen.",
        "user_goal": "The user's goal is to log in to the app and access its features.",
        "business_value": "This screen introduces the app and encourages users to log in, driving engagement and usage of the Ordio platform. It sets the stage for the app's functionality and value proposition.",
        "state_information": {
          "data_shown": "A tagline \"New way of working\" is displayed to convey the app's purpose.",
          "editable_fields": "None",
          "read_only_fields": "The tagline \"New way of working\".",
          "current_state": "The app is in a pre-login state, presenting a welcome message and a login option."
        },
        "interactions": [
          {
            "action": "Tap \"Login\" button",
            "outcome": "The app navigates to the login screen where the user can enter their credentials.",
            "next_state": "Login screen",
            "error_possibilities": "The button might not respond if there's a connectivity issue or a bug in the app."
          }
        ],
        "edge_cases": "The screen might display different taglines or introductory messages based on app updates or marketing campaigns. The login button might be disabled if the app is undergoing maintenance.",
        "benefits": "The screen provides a clear path to logging in and using the app. It also sets expectations about the app's purpose.",
        "mental_model": "The screen reinforces the idea that the app is a tool for a new way of working, encouraging users to explore its features and benefits."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "Home",
            "trigger": "Successful login",
            "data_passed": "User ID, user profile data, authentication token",
            "purpose": "To navigate the user to the main application interface after successful authentication."
          },
          {
            "screen_type": "Forgot Password",
            "trigger": "User clicks 'Forgot Password' link",
            "data_passed": "None",
            "purpose": "To allow the user to reset their password if they have forgotten it."
          },
          {
            "screen_type": "Sign Up",
            "trigger": "User clicks 'Sign Up' link",
            "data_passed": "None",
            "purpose": "To allow new users to create an account."
          },
          {
            "screen_type": "Error",
            "trigger": "Invalid login credentials",
            "data_passed": "Error message (e.g., 'Invalid username or password')",
            "purpose": "To inform the user that their login attempt failed."
          }
        ],
        "depends_on": [],
        "data_flow": "This screen receives user input (username/email and password). It sends this data to the authentication service. It receives a success/failure response and user data upon successful authentication.",
        "navigation_patterns": [
          {
            "pattern_type": "branching",
            "description": "From the login screen, the user can navigate to the home screen (upon successful login), the 'Forgot Password' screen, or the 'Sign Up' screen. An error screen is also possible."
          }
        ],
        "feature_dependencies": [
          "Authentication",
          "User Account Management"
        ],
        "alternative_paths": [
          "User might use social login (e.g., Google, Facebook) if implemented.",
          "User might be automatically logged in if 'remember me' functionality is enabled and they have previously logged in."
        ]
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "Login to Ordio",
            "goal": "Access the Ordio platform to manage work.",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Login",
                "action": "Taps the 'Login' button.",
                "outcome": "User is prompted to select a workspace."
              },
              {
                "step_number": 2,
                "screen_type": "Workspace Selection",
                "action": "Selects a workspace.",
                "outcome": "User is taken to the main application screen or onboarding if it's their first time."
              },
              {
                "step_number": 3,
                "screen_type": "Onboarding",
                "action": "Completes onboarding steps.",
                "outcome": "User is taken to the main application screen."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [],
          "manager": [],
          "hr_admin": [],
          "general": [
            "Access a new way of working"
          ]
        },
        "business_value": {
          "problem_solved": "Outdated or inefficient work processes.",
          "value_proposition": "Offers a modern and improved approach to work.",
          "differentiators": "Implied innovation and modernization of work processes.",
          "impact": "Increased efficiency, improved collaboration, and enhanced employee experience."
        },
        "use_cases": [
          {
            "scenario": "A company wants to modernize its outdated HR processes.",
            "user_type": "HR",
            "benefit": "Access to a new and potentially more efficient HR system."
          },
          {
            "scenario": "An employee is frustrated with the current cumbersome workflow.",
            "user_type": "employee",
            "benefit": "Opportunity to experience a streamlined and improved work process."
          },
          {
            "scenario": "A manager seeks to improve team collaboration and productivity.",
            "user_type": "manager",
            "benefit": "Potential access to tools and features that enhance team performance."
          }
        ],
        "value_statements": [
          "Embrace a new way of working that boosts productivity and efficiency.",
          "Transform your work experience with our innovative platform.",
          "Unlock the future of work with our modern solutions."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2659",
      "sequence_index": 4,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2659.png",
      "basic_info": {
        "screen_name": "Login",
        "feature_area": "login",
        "ui_elements": [
          "Logo",
          "E-Mail / Phone number text field",
          "Password text field",
          "Show password icon",
          "Login button",
          "Forgot password link"
        ],
        "functionality_visible": [
          "Enter email or phone number",
          "Enter password",
          "Login",
          "Recover password"
        ],
        "navigation_paths": [
          "Tap Login button to access the app",
          "Tap Forgot password to reset password"
        ],
        "data_displayed": [],
        "user_actions": [
          "Enter email or phone number",
          "Enter password",
          "Tap Login",
          "Tap Forgot password",
          "Tap show password icon"
        ],
        "visible_text_labels": [
          "E-Mail / Phone number",
          "Password",
          "Login",
          "Forgot password?"
        ],
        "one_line_description": "This is the login screen where users enter their email/phone number and password to access the Ordio app.",
        "screenshot_id": "IMG_2659",
        "sequence_index": 4,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2659.png"
      },
      "deep_understanding": {
        "screen_context": "The user sees this screen when they open the Ordio app and are not already logged in. It's the initial entry point for accessing the app's features.",
        "user_goal": "The user wants to log in to the Ordio app to access their work schedule, communicate with colleagues, or perform other work-related tasks.",
        "business_value": "This screen allows authorized users to access the Ordio platform, enabling workforce management, communication, and other business processes. It ensures only authenticated users can access sensitive company data and functionalities.",
        "state_information": {
          "data_shown": "The screen displays input fields for 'E-Mail / Phone number' and 'Password', along with a 'Login' button and a 'Forgot password?' link. These are the necessary credentials for authentication.",
          "editable_fields": [
            "E-Mail / Phone number",
            "Password"
          ],
          "read_only_fields": [],
          "current_state": "The app is in a 'login required' state, awaiting user credentials."
        },
        "interactions": [
          {
            "action": "Enter E-Mail / Phone number",
            "outcome": "The entered text is displayed in the 'E-Mail / Phone number' field.",
            "next_state": "The 'E-Mail / Phone number' field is populated with the user's input.",
            "error_possibilities": "Invalid email or phone number format."
          },
          {
            "action": "Enter Password",
            "outcome": "The entered text is displayed in the 'Password' field (usually masked).",
            "next_state": "The 'Password' field is populated with the user's input.",
            "error_possibilities": "Incorrect password."
          },
          {
            "action": "Tap Login button",
            "outcome": "The app attempts to authenticate the user with the provided credentials.",
            "next_state": "If successful, the app navigates to the main screen (e.g., dashboard or schedule view). If unsuccessful, an error message is displayed.",
            "error_possibilities": "Incorrect email/phone number or password. Network connectivity issues. Account disabled."
          },
          {
            "action": "Tap Forgot password? link",
            "outcome": "The app navigates to a password recovery screen.",
            "next_state": "Password recovery screen.",
            "error_possibilities": "Network connectivity issues."
          },
          {
            "action": "Tap the eye icon in the password field",
            "outcome": "The password is shown in plain text.",
            "next_state": "The password is shown in plain text until the eye icon is tapped again.",
            "error_possibilities": "None"
          }
        ],
        "edge_cases": [
          "User enters incorrect credentials multiple times (account lockout).",
          "User has forgotten their password.",
          "User's account is disabled or inactive.",
          "User has no network connectivity.",
          "The app's server is unavailable.",
          "User enters a valid email/phone but an invalid password.",
          "User enters an invalid email/phone but a valid password."
        ],
        "benefits": "Allows authorized users to securely access the Ordio app and its features. Provides a simple and familiar login process. Offers a password recovery option for forgotten passwords.",
        "mental_model": "The screen reinforces the standard login process: users understand they need to provide their registered email/phone and password to access the app. The 'Forgot password?' link provides a safety net for forgotten credentials."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "Home",
            "trigger": "Successful login",
            "data_passed": "User ID, authentication token, user profile data",
            "purpose": "To grant access to the app's main functionality after successful authentication."
          },
          {
            "screen_type": "Forgot Password",
            "trigger": "Tapping 'Forgot password?' link",
            "data_passed": "None",
            "purpose": "To initiate the password recovery process."
          },
          {
            "screen_type": "Error",
            "trigger": "Invalid login credentials",
            "data_passed": "Error message (e.g., 'Invalid email/password')",
            "purpose": "To inform the user about incorrect login attempts."
          }
        ],
        "depends_on": [],
        "data_flow": "This screen receives user input (email/phone number and password). It sends this data to the authentication service. It receives a success/failure response and user data upon successful authentication.",
        "navigation_patterns": [
          {
            "pattern_type": "linear",
            "description": "After entering credentials, the user proceeds to the Home screen upon successful login or receives an error message upon failure."
          },
          {
            "pattern_type": "branching",
            "description": "The user can choose to navigate to the 'Forgot Password' screen."
          }
        ],
        "feature_dependencies": [
          "Authentication",
          "User Account Management"
        ],
        "alternative_paths": [
          "User might use a different login method (e.g., social login) if available.",
          "User might create a new account if they don't have one."
        ]
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "Login to Ordio",
            "goal": "Access Ordio workspace",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Login",
                "action": "Enter email/phone number",
                "outcome": "Email/phone number is entered in the input field"
              },
              {
                "step_number": 2,
                "screen_type": "Login",
                "action": "Enter password",
                "outcome": "Password is entered in the input field"
              },
              {
                "step_number": 3,
                "screen_type": "Login",
                "action": "Tap 'Login'",
                "outcome": "User is authenticated and redirected to Workspace Selection screen"
              },
              {
                "step_number": 4,
                "screen_type": "Workspace Selection",
                "action": "Select a workspace",
                "outcome": "User is redirected to the main app screen for the selected workspace"
              }
            ],
            "happy_path": true,
            "alternative_paths": [
              {
                "journey_name": "First time user onboarding",
                "goal": "Set up Ordio account",
                "steps": [
                  {
                    "step_number": 1,
                    "screen_type": "Login",
                    "action": "Enter email/phone number",
                    "outcome": "Email/phone number is entered in the input field"
                  },
                  {
                    "step_number": 2,
                    "screen_type": "Login",
                    "action": "Enter password",
                    "outcome": "Password is entered in the input field"
                  },
                  {
                    "step_number": 3,
                    "screen_type": "Login",
                    "action": "Tap 'Login'",
                    "outcome": "User is redirected to Onboarding screen"
                  },
                  {
                    "step_number": 4,
                    "screen_type": "Onboarding",
                    "action": "Complete onboarding steps",
                    "outcome": "User is redirected to Onboarding 1 screen"
                  },
                  {
                    "step_number": 5,
                    "screen_type": "Onboarding 1",
                    "action": "Complete onboarding steps",
                    "outcome": "User is redirected to Workspace Selection screen"
                  },
                  {
                    "step_number": 6,
                    "screen_type": "Workspace Selection",
                    "action": "Select a workspace",
                    "outcome": "User is redirected to the main app screen for the selected workspace"
                  }
                ]
              }
            ]
          }
        ],
        "error_recovery_flows": [
          {
            "error_type": "Invalid email/phone number or password",
            "recovery_steps": [
              {
                "step_number": 1,
                "screen_type": "Login",
                "action": "See error message",
                "outcome": "Error message is displayed indicating invalid credentials"
              },
              {
                "step_number": 2,
                "screen_type": "Login",
                "action": "Re-enter email/phone number and password",
                "outcome": "Correct credentials are entered"
              },
              {
                "step_number": 3,
                "screen_type": "Login",
                "action": "Tap 'Login'",
                "outcome": "User is authenticated and redirected to Workspace Selection screen"
              }
            ]
          },
          {
            "error_type": "Forgot password",
            "recovery_steps": [
              {
                "step_number": 1,
                "screen_type": "Login",
                "action": "Tap 'Forgot password?'",
                "outcome": "User is redirected to the 'Forgot Password' screen"
              },
              {
                "step_number": 2,
                "screen_type": "Forgot Password",
                "action": "Enter email/phone number",
                "outcome": "Email/phone number is entered"
              },
              {
                "step_number": 3,
                "screen_type": "Forgot Password",
                "action": "Submit request",
                "outcome": "Password reset instructions are sent to the user's email/phone number"
              },
              {
                "step_number": 4,
                "screen_type": "Email/SMS",
                "action": "Follow instructions in email/SMS to reset password",
                "outcome": "User resets password successfully"
              },
              {
                "step_number": 5,
                "screen_type": "Login",
                "action": "Enter new password",
                "outcome": "New password is entered"
              },
              {
                "step_number": 6,
                "screen_type": "Login",
                "action": "Tap 'Login'",
                "outcome": "User is authenticated and redirected to Workspace Selection screen"
              }
            ]
          }
        ],
        "flow_variations": [
          {
            "variation_type": "Remember me",
            "differences": "If 'Remember me' is enabled, the user's credentials are saved, and they are automatically logged in on subsequent app launches."
          },
          {
            "variation_type": "Biometric login",
            "differences": "If biometric login is enabled, the user can authenticate using fingerprint or face recognition instead of entering their password."
          }
        ]
      },
      "benefits": {
        "user_benefits": {
          "employee": [],
          "manager": [],
          "hr_admin": [],
          "general": [
            "Secure access to the Ordio platform.",
            "Convenient login using email/phone number and password.",
            "Easy password recovery option."
          ]
        },
        "business_value": {
          "problem_solved": "Provides a secure and user-friendly entry point to the Ordio platform, ensuring only authorized users can access sensitive data and functionalities.",
          "value_proposition": "Secure and streamlined access to the Ordio platform, enabling users to quickly and easily manage their HR-related tasks.",
          "differentiators": "Focus on simplicity and security, with options for both email/phone number login and password recovery.",
          "impact": "Increased user engagement and adoption of the Ordio platform by providing a seamless and secure login experience."
        },
        "use_cases": [
          {
            "scenario": "An employee needs to access their payslip and benefits information.",
            "user_type": "employee",
            "benefit": "Secure and quick access to personal HR information."
          },
          {
            "scenario": "A manager needs to approve a time-off request from their team.",
            "user_type": "manager",
            "benefit": "Efficiently manage team requests and approvals."
          },
          {
            "scenario": "An HR administrator needs to update employee records.",
            "user_type": "hr_admin",
            "benefit": "Securely manage and maintain employee data."
          },
          {
            "scenario": "A user forgets their password and needs to regain access to their account.",
            "user_type": "general",
            "benefit": "Quick and easy password recovery to avoid disruption."
          }
        ],
        "value_statements": [
          "Securely access your Ordio account with ease.",
          "Login quickly and efficiently to manage your HR tasks.",
          "Never get locked out - easily recover your password if forgotten."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2660",
      "sequence_index": 5,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2660.png",
      "basic_info": {
        "screen_name": "Workspace Selection",
        "feature_area": "login",
        "ui_elements": [
          "Logo",
          "Workspace selection buttons",
          "Remember selection toggle"
        ],
        "functionality_visible": [
          "Select a workspace to log in to",
          "Choose to remember the workspace selection"
        ],
        "navigation_paths": [],
        "data_displayed": [
          "List of available workspaces"
        ],
        "user_actions": [
          "Tap a workspace button",
          "Toggle remember selection"
        ],
        "visible_text_labels": [
          "Hi Felix",
          "Which workspace would you like to log in to?",
          "Ordio Unternehmensgruppe",
          "Stadion Demo",
          "Remember selection",
          "You can change this option later in the settings.",
          "ordio"
        ],
        "one_line_description": "This screen allows the user to select which workspace they want to log in to within the Ordio app.",
        "screenshot_id": "IMG_2660",
        "sequence_index": 5,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2660.png"
      },
      "deep_understanding": {
        "screen_context": "This screen appears after the user has successfully logged in to the Ordio app. It is displayed when the user has access to multiple workspaces within the Ordio system.",
        "user_goal": "The user's goal is to select the specific workspace they want to log in to.",
        "business_value": "This screen allows users to access the correct workspace, ensuring they are working with the relevant data and settings for their role and location. It supports multi-tenancy and organizational structure within the Ordio system.",
        "state_information": {
          "data_shown": "A list of available workspaces (e.g., 'Ordio Unternehmensgruppe', 'Stadion Demo') that the user has access to. The user's name ('Hi Felix') is also displayed for personalization.",
          "editable_fields": "The user can toggle the 'Remember selection' option.",
          "read_only_fields": "The list of workspaces, the user's name, and the explanatory text about changing the option in settings are read-only.",
          "current_state": "The app is waiting for the user to select a workspace and optionally choose to remember the selection."
        },
        "interactions": [
          {
            "action": "Tap on a workspace (e.g., 'Ordio Unternehmensgruppe')",
            "outcome": "The app logs the user into the selected workspace.",
            "next_state": "The app transitions to the main screen of the selected workspace.",
            "error_possibilities": "If the workspace is unavailable or there are network issues, the login may fail, and an error message will be displayed."
          },
          {
            "action": "Tap on the 'Remember selection' toggle",
            "outcome": "The app will remember the selected workspace for future logins.",
            "next_state": "The toggle will switch state (on/off).",
            "error_possibilities": "The app may fail to save the preference due to storage issues, but this is unlikely."
          }
        ],
        "edge_cases": [
          "The user has access to only one workspace: In this case, the screen might be skipped, and the user is automatically logged into that workspace.",
          "The user has no access to any workspaces: An error message should be displayed, indicating that the user has no available workspaces.",
          "The list of workspaces is very long: The screen should implement scrolling to accommodate a large number of workspaces.",
          "The user's access to a workspace is revoked: The workspace should be removed from the list, or an error message should be displayed if the user tries to log in to it.",
          "Network connectivity issues: The list of workspaces may not load correctly, or the login process may fail."
        ],
        "benefits": "The screen allows users to quickly access the correct workspace, improving efficiency and reducing the risk of working with incorrect data. The 'Remember selection' option further streamlines the login process.",
        "mental_model": "The screen reinforces the mental model of Ordio as a system that can manage multiple workspaces or organizations. It presents a clear choice to the user, allowing them to select the appropriate context for their work."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "Main App Screen",
            "trigger": "User selects a workspace (Ordio Unternehmensgruppe or Stadion Demo)",
            "data_passed": "Workspace ID, User ID, potentially user roles/permissions for the selected workspace",
            "purpose": "To log the user into the selected workspace and display the main app interface."
          }
        ],
        "depends_on": [
          {
            "screen_type": "Login",
            "required_data": "User credentials (username/password or other authentication token)",
            "purpose": "To ensure the user is authenticated before allowing them to select a workspace."
          }
        ],
        "data_flow": "This screen receives the user's authentication information from the login screen. It displays a list of available workspaces for the user. Upon selection, the selected workspace ID and user ID are passed to the main app screen.",
        "navigation_patterns": [
          {
            "pattern_type": "branching",
            "description": "After successful login, the user is presented with a choice of workspaces. Selecting a workspace navigates the user to the main app screen for that workspace."
          }
        ],
        "feature_dependencies": [
          "Authentication",
          "Workspace Management"
        ],
        "alternative_paths": [
          "If the user only has access to one workspace, this screen might be skipped and the user automatically logged into that workspace.",
          "If the user has 'Remember selection' enabled, this screen might be skipped and the user automatically logged into the previously selected workspace."
        ]
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "Login to Ordio",
            "goal": "Access the Ordio application",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Login",
                "action": "Enter credentials",
                "outcome": "User is authenticated"
              },
              {
                "step_number": 2,
                "screen_type": "Workspace Selection",
                "action": "Select a workspace",
                "outcome": "User is directed to the selected workspace"
              },
              {
                "step_number": 3,
                "screen_type": "Onboarding",
                "action": "Complete onboarding steps",
                "outcome": "User is fully onboarded and can use the app"
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": [
          {
            "variation_type": "Remember selection",
            "differences": "User can choose to remember the workspace selection for future logins."
          }
        ]
      },
      "benefits": {
        "user_benefits": {
          "employee": [],
          "manager": [],
          "hr_admin": [],
          "general": [
            "Access the correct workspace to view relevant information and perform tasks.",
            "Ability to remember workspace selection for faster login in the future.",
            "Flexibility to switch between workspaces if needed."
          ]
        },
        "business_value": {
          "problem_solved": "Users with access to multiple workspaces need a way to select the correct one.",
          "value_proposition": "Ensures users access the right workspace, streamlining their workflow and preventing errors.",
          "differentiators": "Option to remember workspace selection simplifies future logins.",
          "impact": "Improved user experience, reduced errors, and streamlined workflow."
        },
        "use_cases": [
          {
            "scenario": "Felix is an employee who works for both the 'Ordio Unternehmensgruppe' and the 'Stadion Demo' workspaces. When he logs in, he needs to choose which workspace he wants to access.",
            "user_type": "employee",
            "benefit": "Felix can easily select the appropriate workspace to access the relevant information and tools for his current task."
          },
          {
            "scenario": "An HR administrator manages employee data across multiple company divisions, each represented as a separate workspace. They need to switch between workspaces to manage different employee groups.",
            "user_type": "hr_admin",
            "benefit": "The HR administrator can quickly switch between workspaces to manage employee data for different divisions without logging out and back in."
          },
          {
            "scenario": "A manager oversees projects in both the 'Ordio Unternehmensgruppe' and 'Stadion Demo' workspaces. They need to check the progress of projects in each workspace.",
            "user_type": "manager",
            "benefit": "The manager can easily switch between workspaces to monitor project progress and manage resources in each workspace."
          }
        ],
        "value_statements": [
          "Select the right workspace for your tasks.",
          "Access the information you need, quickly and easily.",
          "Streamline your workflow with easy workspace selection.",
          "Remember your workspace selection for faster login."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2661",
      "sequence_index": 6,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2661.png",
      "basic_info": {
        "screen_name": "Onboarding",
        "feature_area": "other",
        "ui_elements": [
          "Mockup of app interface",
          "Progress indicator",
          "Next button"
        ],
        "functionality_visible": [
          "Learn about the app's new navigation"
        ],
        "navigation_paths": [
          "Tap 'Next' to proceed through onboarding"
        ],
        "data_displayed": [
          "App features: Dashboard, calendar, profile"
        ],
        "user_actions": [
          "Tap 'Next'"
        ],
        "visible_text_labels": [
          "Next"
        ],
        "one_line_description": "This is an onboarding screen introducing the new Ordio app and its navigation features.",
        "screenshot_id": "IMG_2661",
        "sequence_index": 6,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2661.png"
      },
      "deep_understanding": {
        "screen_context": "This screen appears as part of a first-time user onboarding flow or after a significant app update to introduce new features and navigation.",
        "user_goal": "The user's goal is to understand the new navigation and key features of the updated Ordio app.",
        "business_value": "This screen exists to ensure users are aware of and can effectively use the new features and navigation of the Ordio app, leading to increased user satisfaction and adoption.",
        "state_information": {
          "data_shown": "A simplified visual representation of the app's dashboard, calendar, and profile sections is shown. Text describes the new navigation and key features.",
          "editable_fields": "None.",
          "read_only_fields": "The description of the new app features and the visual representation of the app's sections.",
          "current_state": "This is the first screen of the onboarding flow, indicated by the first dot being filled in the pagination indicator."
        },
        "interactions": [
          {
            "action": "Tap 'Next' button",
            "outcome": "The app proceeds to the next screen in the onboarding flow.",
            "next_state": "The next onboarding screen is displayed, likely highlighting another new feature or aspect of the app.",
            "error_possibilities": "None."
          },
          {
            "action": "Tap the 'X' button in the top right corner",
            "outcome": "The onboarding flow is skipped, and the user is taken to the main app interface.",
            "next_state": "The user is taken to the main app interface, likely the dashboard.",
            "error_possibilities": "None."
          }
        ],
        "edge_cases": [
          "The user might already be familiar with the app and want to skip the onboarding flow.",
          "The user might have a slow internet connection, causing the images to load slowly.",
          "The user might have accessibility needs that require alternative text descriptions of the images."
        ],
        "benefits": "The user benefits from this screen by quickly learning about the new navigation and key features of the updated app, allowing them to use the app more effectively.",
        "mental_model": "This screen supports a mental model of the app as having a dashboard, calendar, and profile, and that the navigation has been improved for faster access to these sections. It also supports a mental model of a guided onboarding experience."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "Onboarding",
            "trigger": "Tap \"Next\"",
            "data_passed": "None",
            "purpose": "Progress to the next onboarding screen"
          },
          {
            "screen_type": "Main Dashboard",
            "trigger": "Complete onboarding",
            "data_passed": "User account information, workspace information",
            "purpose": "Take the user to the main app after onboarding"
          }
        ],
        "depends_on": [
          {
            "screen_type": "Workspace Selection",
            "required_data": "User account information, list of workspaces",
            "purpose": "To ensure the user has selected a workspace before onboarding"
          }
        ],
        "data_flow": "This screen receives user account and workspace information from the previous screen. It doesn't send any data to the next screen, but it does signal that the onboarding process is complete.",
        "navigation_patterns": [
          {
            "pattern_type": "Linear",
            "description": "The user progresses through the onboarding screens in a linear fashion by tapping the \"Next\" button."
          }
        ],
        "feature_dependencies": [],
        "alternative_paths": []
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "Onboarding",
            "goal": "Learn about the app's new features and navigation",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Onboarding",
                "action": "Read the description of the new navigation",
                "outcome": "User understands the app's new navigation features."
              },
              {
                "step_number": 2,
                "screen_type": "Onboarding",
                "action": "Tap 'Next'",
                "outcome": "User proceeds to the next onboarding screen."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [],
          "manager": [],
          "hr_admin": [],
          "general": [
            "Faster overview of dashboard, calendar, and profile."
          ]
        },
        "business_value": {
          "problem_solved": "Users may have found the previous navigation confusing or inefficient.",
          "value_proposition": "Provides a more streamlined and efficient user experience with a completely new navigation system.",
          "differentiators": "The app offers a faster overview of key areas like the dashboard, calendar, and profile, potentially saving users time and improving productivity.",
          "impact": "Increased user engagement and satisfaction due to improved navigation and faster access to important information."
        },
        "use_cases": [
          {
            "scenario": "A user needs to quickly check their upcoming meetings for the day.",
            "user_type": "employee",
            "benefit": "The new navigation allows them to access the calendar faster and get a quick overview of their schedule."
          },
          {
            "scenario": "A manager wants to review team performance metrics.",
            "user_type": "manager",
            "benefit": "The improved dashboard navigation provides quicker access to key performance indicators."
          },
          {
            "scenario": "An HR admin needs to update employee profiles.",
            "user_type": "hr_admin",
            "benefit": "The new navigation makes it easier to find and update employee information in the profile section."
          }
        ],
        "value_statements": [
          "Experience the Ordio app like never before with our completely new navigation.",
          "Get a faster overview of your dashboard, calendar, and profile with Ordio's redesigned interface.",
          "Ordio's new navigation saves you time and improves your productivity."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2662",
      "sequence_index": 7,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2662.png",
      "basic_info": {
        "screen_name": "Onboarding 1",
        "feature_area": "other",
        "ui_elements": [
          "Phone mockup",
          "Dots indicator",
          "Next button"
        ],
        "functionality_visible": [
          "Learn about the app's features"
        ],
        "navigation_paths": [
          "Tap Next to proceed"
        ],
        "data_displayed": [
          "App features"
        ],
        "user_actions": [
          "Tap Next"
        ],
        "visible_text_labels": [
          "Next"
        ],
        "one_line_description": "This is the first screen of the onboarding flow, highlighting the app's calendar feature.",
        "screenshot_id": "IMG_2662",
        "sequence_index": 7,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2662.png"
      },
      "deep_understanding": {
        "screen_context": "This is an onboarding screen, likely shown to new users or after a significant app update. It appears after the user has logged in and selected their workspace, and is part of a series of screens introducing the app's features.",
        "user_goal": "The user's goal is to understand the core functionality of the app, in this case, the unified calendar view, and to proceed through the onboarding process to start using the app.",
        "business_value": "This screen exists to educate users about the app's key features and benefits, encouraging adoption and engagement. It highlights the value proposition of having all scheduling information in one place, which simplifies workforce management and reduces scheduling conflicts.",
        "state_information": {
          "data_shown": "A simplified visual representation of a calendar interface is shown, with color-coded events and a focus on displaying shifts, absences, and private appointments. The text highlights the 'one calendar' concept.",
          "editable_fields": "There are no editable fields on this screen.",
          "read_only_fields": "The text describing the calendar feature and the visual representation of the calendar are read-only.",
          "current_state": "The app is currently in the second step of the onboarding flow, as indicated by the active dot in the pagination indicator."
        },
        "interactions": [
          {
            "action": "Tap 'Next' button",
            "outcome": "The app advances to the next onboarding screen.",
            "next_state": "The next onboarding screen is displayed, likely focusing on another key feature of the app.",
            "error_possibilities": "There are no expected errors for this action."
          }
        ],
        "edge_cases": [
          "Users with different roles might see slightly different onboarding flows, highlighting features relevant to their specific responsibilities.",
          "If the user has already completed the onboarding process, this screen would not be shown.",
          "If there's a network error, the onboarding process might be interrupted."
        ],
        "benefits": "The user benefits from this screen by gaining a clear understanding of the app's unified calendar feature, which helps them manage their schedule more efficiently. It also provides a smooth introduction to the app's functionality, reducing the learning curve.",
        "mental_model": "This screen supports the mental model of a centralized scheduling tool that integrates all types of appointments and absences into a single, easy-to-view calendar. It reinforces the idea that the app simplifies workforce management by providing a comprehensive overview of everyone's availability."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "Onboarding 2",
            "trigger": "Tap 'Next'",
            "data_passed": "None",
            "purpose": "Progress to the next onboarding screen"
          }
        ],
        "depends_on": [
          {
            "screen_type": "Workspace Selection",
            "required_data": "Workspace ID",
            "purpose": "To know which workspace the user is onboarding into"
          }
        ],
        "data_flow": "This screen receives the workspace ID from the previous screen. It displays information about the calendar feature. No data is sent out.",
        "navigation_patterns": [
          {
            "pattern_type": "linear",
            "description": "The user progresses through the onboarding flow by tapping 'Next'."
          }
        ],
        "feature_dependencies": [],
        "alternative_paths": []
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "Onboarding",
            "goal": "Learn about the app's features and complete the onboarding process",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Onboarding 1",
                "action": "Tap 'Next'",
                "outcome": "Navigates to the next onboarding screen"
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [
            "See all your shifts, absences, and private appointments in one place.",
            "Manage your schedule more efficiently."
          ],
          "manager": [
            "Get a comprehensive view of your team's availability.",
            "Easily identify scheduling conflicts."
          ],
          "hr_admin": [
            "Consolidate all location and area calendars into a single view.",
            "Simplify workforce management."
          ],
          "general": [
            "One calendar for all locations and areas.",
            "All shifts, absences and private appointments in one view."
          ]
        },
        "business_value": {
          "problem_solved": "Fragmented scheduling information across multiple calendars and locations.",
          "value_proposition": "Provides a unified view of all scheduling information, improving efficiency and reducing conflicts.",
          "differentiators": "Combines shifts, absences, and private appointments into a single calendar view across all locations and areas.",
          "impact": "Improved scheduling accuracy, reduced administrative overhead, and better resource utilization."
        },
        "use_cases": [
          {
            "scenario": "An employee needs to book a doctor's appointment but wants to ensure it doesn't clash with their work schedule or any team meetings.",
            "user_type": "employee",
            "benefit": "The employee can quickly check the unified calendar to find a suitable time slot without conflicts."
          },
          {
            "scenario": "A manager needs to approve an employee's vacation request but wants to ensure adequate coverage for a critical project.",
            "user_type": "manager",
            "benefit": "The manager can view the team's calendar to see who else is on leave and make an informed decision about the request."
          },
          {
            "scenario": "An HR admin needs to analyze employee absence trends across different departments to identify potential issues.",
            "user_type": "hr_admin",
            "benefit": "The HR admin can use the consolidated calendar to easily track and analyze absence data across all locations and areas."
          }
        ],
        "value_statements": [
          "Simplify your schedule with one calendar for everything.",
          "See all your shifts, absences, and appointments in a single view.",
          "Manage your workforce more efficiently with a unified calendar.",
          "Eliminate scheduling conflicts with a comprehensive view of availability."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2663",
      "sequence_index": 8,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2663.png",
      "basic_info": {
        "screen_name": "Profile Onboarding",
        "feature_area": "profile",
        "ui_elements": [
          "Profile mockup",
          "Onboarding dots",
          "Let's go! button"
        ],
        "functionality_visible": [
          "Learn about profile features"
        ],
        "navigation_paths": [
          "Tap Let's go! to continue"
        ],
        "data_displayed": [
          "Profile features description"
        ],
        "user_actions": [
          "Tap Let's go!"
        ],
        "visible_text_labels": [
          "Let's go!"
        ],
        "one_line_description": "This screen introduces the profile section, highlighting personal data management and direct access to adjustments and feedback.",
        "screenshot_id": "IMG_2663",
        "sequence_index": 8,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2663.png"
      },
      "deep_understanding": {
        "screen_context": "This is likely the second screen in an onboarding flow, appearing after the user has seen the first onboarding screen. It appears to be introducing the user profile section of the app.",
        "user_goal": "The user's goal is to understand the purpose and benefits of the profile section within the Ordio app.",
        "business_value": "This screen exists to educate new users about the profile section, encouraging them to engage with it and personalize their experience. This leads to better data quality, more accurate workforce management, and increased user satisfaction.",
        "state_information": {
          "data_shown": "A simplified visual representation of a user profile screen is shown. The text indicates that the profile contains personal data and allows for adjustments and feedback.",
          "editable_fields": "None are explicitly shown, but the description implies that the profile will contain editable fields.",
          "read_only_fields": "None are explicitly shown, but the description implies that the profile will contain read-only fields.",
          "current_state": "The screen is in an introductory state, presenting a conceptual overview of the profile section."
        },
        "interactions": [
          {
            "action": "Tap 'Let's go!' button",
            "outcome": "The app proceeds to the next step in the onboarding flow, likely the next onboarding screen or the main app interface.",
            "next_state": "Next onboarding screen or main app interface.",
            "error_possibilities": "None, as this is a simple navigation action."
          },
          {
            "action": "Tap the 'X' button in the top right corner",
            "outcome": "The onboarding flow is skipped, and the user is taken to the main app interface.",
            "next_state": "Main app interface.",
            "error_possibilities": "None, as this is a simple navigation action."
          }
        ],
        "edge_cases": [
          "The user might have already seen the onboarding flow and may not need to see this screen again.",
          "The user might have limited personal data available, affecting the content displayed in the profile section.",
          "The user might have specific permissions that restrict access to certain profile features."
        ],
        "benefits": "The screen helps users understand the purpose and value of the profile section, encouraging them to keep their information up-to-date and provide feedback. This leads to a more personalized and effective experience within the app.",
        "mental_model": "The screen supports a mental model of the app as a tool that allows users to manage their personal data, provide feedback, and customize their experience. It reinforces the idea that the app is designed to be user-friendly and adaptable to individual needs."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "Profile Setup",
            "trigger": "Tap \"Let's go!\"",
            "data_passed": "None",
            "purpose": "Initiate the profile setup process"
          }
        ],
        "depends_on": [
          {
            "screen_type": "Onboarding 1",
            "required_data": "None",
            "purpose": "To ensure the user has seen the previous onboarding screen before proceeding to the profile onboarding screen."
          }
        ],
        "data_flow": "This screen receives no data. It triggers the profile setup flow.",
        "navigation_patterns": [
          {
            "pattern_type": "linear",
            "description": "The user progresses linearly through the onboarding flow by tapping the \"Let's go!\" button."
          }
        ],
        "feature_dependencies": [
          "profile"
        ],
        "alternative_paths": []
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "Complete Profile Onboarding",
            "goal": "User wants to complete the profile onboarding process to access the app's features.",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Workspace Selection",
                "action": "Select a workspace",
                "outcome": "User is taken to the onboarding screen."
              },
              {
                "step_number": 2,
                "screen_type": "Onboarding",
                "action": "Tap through the onboarding screens",
                "outcome": "User is taken to the profile onboarding screen."
              },
              {
                "step_number": 3,
                "screen_type": "Onboarding 1",
                "action": "Tap through the onboarding screens",
                "outcome": "User is taken to the profile onboarding screen."
              },
              {
                "step_number": 4,
                "screen_type": "Profile Onboarding",
                "action": "Tap 'Let's go!'",
                "outcome": "User is taken to the dashboard."
              },
              {
                "step_number": 5,
                "screen_type": "Dashboard",
                "action": "View the dashboard",
                "outcome": "User can now use the app's features."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [],
          "manager": [],
          "hr_admin": [],
          "general": [
            "Access and manage your personal data within the app.",
            "Easily adjust your profile information.",
            "Provide feedback directly through your profile."
          ]
        },
        "business_value": {
          "problem_solved": "Lack of user control and transparency over personal data and feedback mechanisms.",
          "value_proposition": "Provides users with a centralized profile for managing personal data, making adjustments, and offering feedback, enhancing user experience and data accuracy.",
          "differentiators": "Direct access to profile adjustments and feedback mechanisms within the app.",
          "impact": "Improved user engagement, data accuracy, and a more personalized experience."
        },
        "use_cases": [
          {
            "scenario": "An employee needs to update their contact information after moving to a new address.",
            "user_type": "employee",
            "benefit": "Easy access to personal data allows the employee to quickly update their address, ensuring accurate records."
          },
          {
            "scenario": "A user wants to provide feedback on a new feature released in the app.",
            "user_type": "employee",
            "benefit": "Direct access to feedback mechanisms allows the user to easily share their thoughts, contributing to product improvement."
          },
          {
            "scenario": "A manager needs to verify the accuracy of their team's profile information.",
            "user_type": "manager",
            "benefit": "The profile provides a central location to view and verify team member data, ensuring data integrity."
          }
        ],
        "value_statements": [
          "Take control of your personal data with a dedicated profile.",
          "Effortlessly manage your profile and provide valuable feedback.",
          "Your profile: Your data, your adjustments, your voice.",
          "Direct access to your profile, empowering you to manage your information and share your thoughts."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2664",
      "sequence_index": 9,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2664.png",
      "basic_info": {
        "screen_name": "Dashboard",
        "feature_area": "dashboard",
        "ui_elements": [
          "Greeting",
          "Start time tracking card",
          "Calendar date selector",
          "Open shifts list",
          "Salary information card",
          "Weather information card"
        ],
        "functionality_visible": [
          "View current day",
          "View open shifts",
          "View salary information",
          "View weather information"
        ],
        "navigation_paths": [],
        "data_displayed": [
          "Employee name (Felix)",
          "Current date",
          "Open shifts details",
          "Salary amount",
          "Weather conditions",
          "Temperature"
        ],
        "user_actions": [
          "Tap on a date to view shifts",
          "Tap on open shifts for details"
        ],
        "visible_text_labels": [
          "Home",
          "Calendar",
          "Good Morning",
          "Felix",
          "Start",
          "January",
          "Sun",
          "Mon",
          "Tue",
          "Wed",
          "Thu",
          "Fri",
          "Sat",
          "Open Shifts",
          "Salary"
        ],
        "one_line_description": "This is the dashboard screen showing a greeting, time tracking options, calendar, open shifts, salary, and weather information.",
        "screenshot_id": "IMG_2664",
        "sequence_index": 9,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2664.png"
      },
      "deep_understanding": {
        "screen_context": "This is the home screen of the Ordio app, displayed after the user has logged in and completed any onboarding flows. It provides a daily overview of the user's schedule, salary, and relevant information.",
        "user_goal": "The user wants to quickly understand their work schedule, salary information, and any open shifts available to them. They also want to see the current weather.",
        "business_value": "This screen provides a central hub for employees to access key information related to their work, improving efficiency and transparency. It reduces the need for employees to contact managers for basic information, saving time and resources.",
        "state_information": {
          "data_shown": "The screen displays the current date, the user's name, a 'Start' button (presumably to start a shift), a calendar view for the current month, a list of open shifts, salary information, and the current weather. This data is relevant because it provides a snapshot of the user's work-related information for the day.",
          "editable_fields": "None are visible on this screen.",
          "read_only_fields": "User's name, date, calendar, open shifts, salary, weather.",
          "current_state": "The app is showing the user's dashboard with the current date (January 21st, 2026), no shift started, open shifts available, salary information, and the current weather."
        },
        "interactions": [
          {
            "action": "Tap on a date in the calendar",
            "outcome": "The app will display the user's schedule for the selected date.",
            "next_state": "The app will navigate to a detailed view of the selected date's schedule.",
            "error_possibilities": "If there is no schedule for the selected date, the app may display an empty schedule or a message indicating that there are no shifts scheduled."
          },
          {
            "action": "Tap on the 'Start' button",
            "outcome": "The app will start tracking the user's shift.",
            "next_state": "The 'Start' button will likely change to a 'Stop' button, and the app will begin tracking the shift duration.",
            "error_possibilities": "The app may encounter an error if the user is not scheduled for a shift on that day, or if there are network connectivity issues."
          },
          {
            "action": "Tap on the '7' next to the open shifts",
            "outcome": "The app will display a list of all 7 open shifts.",
            "next_state": "The app will navigate to a screen displaying the list of open shifts.",
            "error_possibilities": "The app may encounter an error if there are network connectivity issues."
          }
        ],
        "edge_cases": "Different user roles (e.g., manager vs. employee) may have different information displayed on the home screen. The availability of open shifts may vary depending on the user's location and job role. The salary information may be unavailable if the user is a new employee or if there are payroll processing issues. The weather information may be unavailable if there are issues with the weather API.",
        "benefits": "The user benefits from this screen by having a quick and easy way to access their work schedule, salary information, and any available open shifts. This improves transparency and reduces the need for the user to contact their manager for basic information.",
        "mental_model": "The screen supports a mental model of a central dashboard providing a daily overview of work-related information. The user understands that they can use this screen to quickly check their schedule, salary, and any available open shifts."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "Calendar",
            "trigger": "Tap on 'Calendar' navigation item",
            "data_passed": "None",
            "purpose": "Navigate to the calendar view"
          },
          {
            "screen_type": "Shift Detail",
            "trigger": "Tap on an open shift",
            "data_passed": "Shift details (date, time, location, job)",
            "purpose": "View details of an open shift"
          },
          {
            "screen_type": "Profile",
            "trigger": "Tap on the profile icon (FK)",
            "data_passed": "User profile information",
            "purpose": "View and edit user profile"
          }
        ],
        "depends_on": [
          {
            "screen_type": "Login",
            "required_data": "User authentication status",
            "purpose": "Ensure the user is logged in before displaying the dashboard"
          },
          {
            "screen_type": "Workspace Selection",
            "required_data": "Selected workspace ID",
            "purpose": "Display data relevant to the selected workspace"
          },
          {
            "screen_type": "Onboarding",
            "required_data": "Onboarding completion status",
            "purpose": "Ensure the user has completed the onboarding process"
          },
          {
            "screen_type": "Profile Onboarding",
            "required_data": "User profile information",
            "purpose": "Ensure the user has completed the profile onboarding process"
          }
        ],
        "data_flow": "Incoming: User authentication status, workspace ID, shift data, salary data, weather data. Outgoing: Navigation actions to other screens.",
        "navigation_patterns": [
          {
            "pattern_type": "Tab Navigation",
            "description": "Uses a tab bar to navigate between 'Home' (this dashboard) and 'Calendar'."
          },
          {
            "pattern_type": "Direct Navigation",
            "description": "Tapping on elements like open shifts or the profile icon leads directly to the corresponding screens."
          }
        ],
        "feature_dependencies": [
          "Authentication",
          "Workspace Management",
          "Shift Management",
          "Salary Calculation",
          "Weather Integration",
          "User Profile"
        ],
        "alternative_paths": [
          "Users might access the calendar directly from a notification.",
          "Users might access the profile screen from a settings menu."
        ]
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "View Dashboard",
            "goal": "See an overview of schedule, salary, and weather",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Dashboard",
                "action": "User opens the app",
                "outcome": "Dashboard is displayed showing current date, open shifts, salary, and weather."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          },
          {
            "journey_name": "Check Open Shifts",
            "goal": "View available open shifts",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Dashboard",
                "action": "User opens the app",
                "outcome": "Dashboard is displayed."
              },
              {
                "step_number": 2,
                "screen_type": "Dashboard",
                "action": "User views the 'Open Shifts' section",
                "outcome": "User sees the date, time, location, and kitchen information for open shifts."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          },
          {
            "journey_name": "Check Salary",
            "goal": "View current salary information",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Dashboard",
                "action": "User opens the app",
                "outcome": "Dashboard is displayed."
              },
              {
                "step_number": 2,
                "screen_type": "Dashboard",
                "action": "User views the 'Salary' section",
                "outcome": "User sees a visual representation of their salary and the total amount."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          },
          {
            "journey_name": "Check Weather",
            "goal": "View current weather information",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Dashboard",
                "action": "User opens the app",
                "outcome": "Dashboard is displayed."
              },
              {
                "step_number": 2,
                "screen_type": "Dashboard",
                "action": "User views the 'Sunny' section",
                "outcome": "User sees the current weather condition and temperature."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [
            "Quickly view today's schedule and open shifts.",
            "Track earnings and salary information.",
            "See the weather forecast for the day.",
            "Easily access the calendar to view future shifts.",
            "Start tracking work time with a single tap."
          ],
          "manager": [],
          "hr_admin": [],
          "general": [
            "Personalized greeting and overview of the day."
          ]
        },
        "business_value": {
          "problem_solved": "Provides a centralized dashboard for employees to view their schedule, earnings, and relevant information, reducing the need to check multiple sources.",
          "value_proposition": "Offers a convenient and efficient way for employees to stay informed and manage their work life.",
          "differentiators": "Combines schedule, salary, and weather information in a single, easy-to-use interface.",
          "impact": "Increases employee engagement and productivity by providing quick access to essential information."
        },
        "use_cases": [
          {
            "scenario": "Felix logs into the app in the morning to see his schedule for the day and the weather forecast before heading to work.",
            "user_type": "employee",
            "benefit": "Provides a quick overview of the day's schedule and weather conditions, allowing for better planning."
          },
          {
            "scenario": "An employee wants to see how much they've earned so far this month.",
            "user_type": "employee",
            "benefit": "Provides easy access to salary information, allowing employees to track their earnings."
          },
          {
            "scenario": "An employee wants to pick up an open shift.",
            "user_type": "employee",
            "benefit": "Highlights available shifts, making it easy for employees to find and claim them."
          }
        ],
        "value_statements": [
          "Stay informed and manage your work life with ease.",
          "Get a quick overview of your schedule, earnings, and weather in one place.",
          "Track your earnings and find open shifts effortlessly.",
          "Start your day prepared with all the information you need."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2665",
      "sequence_index": 10,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2665.png",
      "basic_info": {
        "screen_name": "Dashboard",
        "feature_area": "dashboard",
        "ui_elements": [
          "Salary card",
          "Weather card",
          "Broadcasts card",
          "Documents card",
          "Checklists card",
          "Holiday & Absences card",
          "Events card",
          "Tips card"
        ],
        "functionality_visible": [
          "View salary",
          "View weather",
          "View broadcasts",
          "View documents",
          "View checklists",
          "View holiday and absences",
          "View events",
          "View tips"
        ],
        "navigation_paths": [],
        "data_displayed": [
          "Salary amount",
          "Weather temperature",
          "Broadcast message",
          "Number of documents",
          "Checklist progress",
          "Holiday and absence days",
          "Event details",
          "Tips amount"
        ],
        "user_actions": [
          "Tap cards for more details"
        ],
        "visible_text_labels": [
          "Salary",
          "Sunny",
          "Broadcasts",
          "Documents",
          "Checklists",
          "All",
          "Holiday & Absences",
          "Events",
          "Tips",
          "HACCP",
          "Until Today",
          "Felix Knoerzer",
          "Hallo zusammen Plan für die KW3 ist da"
        ],
        "one_line_description": "This is the dashboard screen of the Ordio app, displaying key information such as salary, weather, broadcasts, documents, checklists, holiday & absences, events, and tips.",
        "screenshot_id": "IMG_2665",
        "sequence_index": 10,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2665.png"
      },
      "deep_understanding": {
        "screen_context": "This is the home screen or dashboard of the Ordio mobile app, displayed after the user has logged in and completed any onboarding steps. It provides a summary of key information and quick access to different sections of the app.",
        "user_goal": "The user wants to quickly get an overview of important information related to their work, such as salary, weather, broadcasts, documents, checklists, holidays, events, and tips.",
        "business_value": "This screen provides a central hub for employees to access essential information and tools, improving efficiency and communication. It helps employees stay informed and manage their work-related tasks effectively, leading to increased productivity and satisfaction.",
        "state_information": {
          "data_shown": "Salary (2.365 €), Weather (-4° and sunny), Broadcasts (message from Felix Knoerzer), Documents (39), Checklists (HACCP, 0/4 tasks completed), Holiday & Absences (77.6 days), Events (Backstreet Boys event), Tips (61,09 €). This data is relevant because it provides a snapshot of the employee's current work situation and upcoming events.",
          "editable_fields": "None directly on this screen, but each section likely leads to screens where data can be edited.",
          "read_only_fields": "All the data displayed on the dashboard is read-only, providing a summary of information from other sections of the app.",
          "current_state": "The current state is a summary of the user's information at a specific point in time. The values will change as the user's salary, weather, broadcasts, document count, checklist progress, holiday balance, events, and tips are updated."
        },
        "interactions": [
          {
            "action": "Tap on the 'Salary' card",
            "outcome": "Navigates to the salary details screen.",
            "next_state": "Salary details screen",
            "error_possibilities": "Network error, leading to failure to load salary details."
          },
          {
            "action": "Tap on the 'Sunny' card",
            "outcome": "Navigates to the weather details screen.",
            "next_state": "Weather details screen",
            "error_possibilities": "Network error, leading to failure to load weather details."
          },
          {
            "action": "Tap on the 'Broadcasts' card",
            "outcome": "Navigates to the broadcasts screen.",
            "next_state": "Broadcasts screen",
            "error_possibilities": "Network error, leading to failure to load broadcasts."
          },
          {
            "action": "Tap on the 'Documents' card",
            "outcome": "Navigates to the documents screen.",
            "next_state": "Documents screen",
            "error_possibilities": "Network error, leading to failure to load documents."
          },
          {
            "action": "Tap on the 'Checklists' card",
            "outcome": "Navigates to the checklists screen.",
            "next_state": "Checklists screen",
            "error_possibilities": "Network error, leading to failure to load checklists."
          },
          {
            "action": "Tap on the 'Holiday & Absences' card",
            "outcome": "Navigates to the holiday & absences screen.",
            "next_state": "Holiday & absences screen",
            "error_possibilities": "Network error, leading to failure to load holiday & absences information."
          },
          {
            "action": "Tap on the 'Events' card",
            "outcome": "Navigates to the events screen.",
            "next_state": "Events screen",
            "error_possibilities": "Network error, leading to failure to load events."
          },
          {
            "action": "Tap on the 'Tips' card",
            "outcome": "Navigates to the tips screen.",
            "next_state": "Tips screen",
            "error_possibilities": "Network error, leading to failure to load tips."
          }
        ],
        "edge_cases": "Different user roles (e.g., manager vs. employee) might have different cards displayed. The data displayed might be empty or incomplete if the user is new or if there are no relevant events or broadcasts. Error conditions such as network connectivity issues or server errors could prevent the data from loading correctly.",
        "benefits": "Provides a quick overview of important information, saves time by providing direct access to different sections of the app, helps employees stay informed and organized, improves communication and collaboration.",
        "mental_model": "The screen supports a dashboard mental model, where users expect to see a summary of key information and quick links to different sections of the app. It helps users understand that the app is a central hub for managing their work-related tasks and information."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "Calendar",
            "trigger": "Tap on 'Calendar' tab",
            "data_passed": "None",
            "purpose": "Navigate to the calendar view"
          },
          {
            "screen_type": "Salary Details",
            "trigger": "Tap on the 'Salary' card",
            "data_passed": "Salary data (2.365 €)",
            "purpose": "View detailed salary information"
          },
          {
            "screen_type": "Weather Details",
            "trigger": "Tap on the 'Sunny' card",
            "data_passed": "Weather data (-4°)",
            "purpose": "View detailed weather information"
          },
          {
            "screen_type": "Broadcast Details",
            "trigger": "Tap on the 'Broadcasts' card",
            "data_passed": "Broadcast message details (Felix Knoerzer, Hallo zusammen Plan für die KW3 ist da)",
            "purpose": "View the full broadcast message"
          },
          {
            "screen_type": "Documents List",
            "trigger": "Tap on the 'Documents' card",
            "data_passed": "Number of documents (39)",
            "purpose": "View the list of documents"
          },
          {
            "screen_type": "Checklist Details",
            "trigger": "Tap on the 'Checklists' card",
            "data_passed": "Checklist data (HACCP, 0/4 tasks completed)",
            "purpose": "View the checklist details and tasks"
          },
          {
            "screen_type": "Holiday & Absences Details",
            "trigger": "Tap on the 'Holiday & Absences' card",
            "data_passed": "Holiday & Absences data (77.6 days)",
            "purpose": "View detailed holiday and absence information"
          },
          {
            "screen_type": "Event Details",
            "trigger": "Tap on the 'Events' card",
            "data_passed": "Event data (Backstreet Boys are b..., 24.01.2026 - 25.01.2026)",
            "purpose": "View the event details"
          },
          {
            "screen_type": "Tips Details",
            "trigger": "Tap on the 'Tips' card",
            "data_passed": "Tips data (61,09 €)",
            "purpose": "View detailed tips information"
          },
          {
            "screen_type": "Profile",
            "trigger": "Tap on the profile icon (FK)",
            "data_passed": "User profile data",
            "purpose": "Navigate to the user profile"
          }
        ],
        "depends_on": [
          {
            "screen_type": "Workspace Selection",
            "required_data": "Workspace ID",
            "purpose": "To display data relevant to the selected workspace"
          },
          {
            "screen_type": "Onboarding",
            "required_data": "User profile data",
            "purpose": "To personalize the dashboard with user-specific information"
          },
          {
            "screen_type": "Profile Onboarding",
            "required_data": "User profile data",
            "purpose": "To personalize the dashboard with user-specific information"
          }
        ],
        "data_flow": "The screen receives data about salary, weather, broadcasts, documents, checklists, holidays, events, and tips from backend services. User interactions (taps) trigger navigation to other screens, passing relevant data to those screens.",
        "navigation_patterns": [
          {
            "pattern_type": "Branching",
            "description": "From the dashboard, the user can navigate to various detail screens by tapping on the corresponding cards. The user can also navigate to the calendar or profile screen."
          }
        ],
        "feature_dependencies": [
          "Salary",
          "Weather",
          "Broadcasts",
          "Documents",
          "Checklists",
          "Holidays & Absences",
          "Events",
          "Tips",
          "Calendar",
          "User Profile"
        ],
        "alternative_paths": [
          "Users might access specific detail screens (e.g., Salary Details) directly through notifications or deep links instead of navigating from the dashboard."
        ]
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "View Dashboard",
            "goal": "See an overview of key information",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Dashboard",
                "action": "App opens to the dashboard",
                "outcome": "User sees salary, weather, broadcasts, documents, checklists, holiday & absences, events, and tips."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [
            "Quickly view your salary information.",
            "See the current weather conditions.",
            "Stay updated with company broadcasts and announcements.",
            "Access important documents.",
            "Manage and track your checklists.",
            "View your holiday and absence balance.",
            "Stay informed about upcoming events.",
            "Access helpful tips and resources."
          ],
          "manager": [
            "Communicate important information to your team through broadcasts.",
            "Ensure team members are aware of upcoming events.",
            "Track team members' holiday and absence balances.",
            "Ensure compliance with checklists (e.g., HACCP)."
          ],
          "hr_admin": [
            "Distribute important documents to employees.",
            "Manage and track employee checklists.",
            "Communicate company-wide announcements through broadcasts.",
            "Provide employees with access to their salary information.",
            "Manage and track employee holiday and absence balances."
          ],
          "general": [
            "Centralized access to key information.",
            "Easy navigation to different sections of the app.",
            "Personalized dashboard experience."
          ]
        },
        "business_value": {
          "problem_solved": "Information overload and difficulty accessing key employee information.",
          "value_proposition": "Provides a centralized dashboard for employees to access essential information and tasks, improving efficiency and engagement.",
          "differentiators": "Combines various employee-related information (salary, weather, broadcasts, documents, checklists, holidays, events, tips) into a single, easily accessible dashboard.",
          "impact": "Increased employee engagement, improved communication, streamlined workflows, and better access to important information."
        },
        "use_cases": [
          {
            "scenario": "An employee wants to quickly check their latest salary information.",
            "user_type": "employee",
            "benefit": "Easy access to salary details without navigating through multiple screens."
          },
          {
            "scenario": "A manager needs to inform their team about a new company policy.",
            "user_type": "manager",
            "benefit": "Ability to send out a broadcast message to all team members, ensuring everyone is informed."
          },
          {
            "scenario": "An HR administrator needs to distribute a new employee handbook.",
            "user_type": "hr_admin",
            "benefit": "Ability to upload and share the document with all employees through the documents section."
          },
          {
            "scenario": "An employee needs to check how many holiday days they have left.",
            "user_type": "employee",
            "benefit": "Quickly view their remaining holiday balance on the dashboard."
          },
          {
            "scenario": "A restaurant manager needs to ensure all staff have completed the daily HACCP checklist.",
            "user_type": "manager",
            "benefit": "Monitor checklist completion status and ensure compliance with food safety regulations."
          }
        ],
        "value_statements": [
          "Stay informed and organized with your personalized dashboard.",
          "Access all your essential employee information in one place.",
          "Simplify your workday with quick access to key tasks and resources.",
          "Empower your employees with a centralized information hub.",
          "Improve communication and engagement with company broadcasts."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2666",
      "sequence_index": 11,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2666.png",
      "basic_info": {
        "screen_name": "Dashboard",
        "feature_area": "dashboard",
        "ui_elements": [
          "Checklists card",
          "Holiday & Absences card",
          "Events card",
          "Tips card",
          "Recommend Ordio card",
          "Feature Vote card",
          "Edit Dashboard button"
        ],
        "functionality_visible": [
          "View checklists",
          "View holiday and absence information",
          "View events",
          "View tips",
          "Recommend Ordio",
          "Vote on features",
          "Edit dashboard"
        ],
        "navigation_paths": [
          "Tap checklists card for details",
          "Tap holiday & absences card for details",
          "Tap events card for details",
          "Tap tips card for details",
          "Tap recommend Ordio card for details",
          "Tap feature vote card for details",
          "Tap Edit Dashboard to customize"
        ],
        "data_displayed": [
          "Number of checklists completed",
          "Number of holiday days",
          "Upcoming events",
          "Tips amount",
          "Recommend Ordio amount",
          "Feature vote information"
        ],
        "user_actions": [
          "Tap",
          "Scroll"
        ],
        "visible_text_labels": [
          "Home",
          "Calendar",
          "Checklists",
          "All",
          "Holiday & Absences",
          "HACCP",
          "0/4 tasks completed",
          "Until Today",
          "Events",
          "Tips",
          "Recommend Ordio",
          "Feature Vote",
          "Here you can request features for the Ordio app",
          "Edit Dashboard"
        ],
        "one_line_description": "The dashboard screen provides an overview of checklists, holiday and absence information, events, tips, referral program, and feature voting within the Ordio app.",
        "screenshot_id": "IMG_2666",
        "sequence_index": 11,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2666.png"
      },
      "deep_understanding": {
        "screen_context": "This is the main dashboard screen of the Ordio app, displayed after login or when the user navigates to the 'Home' tab. It provides an overview of key information and actions.",
        "user_goal": "The user wants to quickly access important information, track progress on tasks, stay informed about events and tips, and potentially contribute to feature voting or recommend the app.",
        "business_value": "This screen provides a centralized hub for employees to access relevant information, increasing engagement and efficiency. It also promotes app adoption through the referral program and feature voting.",
        "state_information": {
          "data_shown": "Checklists (HACCP progress), Holiday & Absences (number of days), Events (Backstreet Boys event details), Tips (monetary value), Recommend Ordio (referral bonus), Feature Vote (opportunity to suggest features). This data is relevant to keep employees informed and engaged.",
          "editable_fields": "None of the data displayed is directly editable on this screen. The 'Edit Dashboard' button might allow customization of the displayed widgets.",
          "read_only_fields": "All the data shown (checklist progress, holiday days, event details, tips, referral bonus, feature vote) is read-only.",
          "current_state": "The current state reflects the user's progress on checklists (0/4 completed), the number of holiday/absence days (77.6), upcoming events (Backstreet Boys event), available tips (61,09 €), referral bonus (250€), and the availability of feature voting."
        },
        "interactions": [
          {
            "action": "Tap on the 'Checklists' card",
            "outcome": "Navigates to the checklists section, showing the details of the HACCP checklist.",
            "next_state": "Checklists screen",
            "error_possibilities": "Network error, checklist data unavailable."
          },
          {
            "action": "Tap on the 'Holiday & Absences' card",
            "outcome": "Navigates to the holiday and absences section, showing details about remaining holiday days and absence requests.",
            "next_state": "Holiday & Absences screen",
            "error_possibilities": "Network error, holiday data unavailable."
          },
          {
            "action": "Tap on the 'Events' card",
            "outcome": "Navigates to the events section, showing more details about the 'Backstreet Boys are b...' event.",
            "next_state": "Events screen",
            "error_possibilities": "Network error, event data unavailable."
          },
          {
            "action": "Tap on the 'Tips' card",
            "outcome": "Navigates to the tips section, showing more details about the available tips.",
            "next_state": "Tips screen",
            "error_possibilities": "Network error, tips data unavailable."
          },
          {
            "action": "Tap on the 'Recommend Ordio' card",
            "outcome": "Navigates to the referral section, allowing the user to recommend the app to others.",
            "next_state": "Referral screen",
            "error_possibilities": "Network error, referral service unavailable."
          },
          {
            "action": "Tap on the 'Feature Vote' card",
            "outcome": "Navigates to the feature voting section, allowing the user to request and vote on new features.",
            "next_state": "Feature Vote screen",
            "error_possibilities": "Network error, feature voting service unavailable."
          },
          {
            "action": "Tap on the 'Edit Dashboard' button",
            "outcome": "Opens a screen where the user can customize the dashboard by adding, removing, or reordering widgets.",
            "next_state": "Dashboard customization screen",
            "error_possibilities": "Network error, customization service unavailable."
          }
        ],
        "edge_cases": "Different user roles might have different widgets displayed. The amount of data shown in each widget might vary depending on the user's activity and company policies. Error conditions include network errors, data unavailability, and permission issues.",
        "benefits": "Provides a quick overview of important information. Allows users to track progress on tasks. Keeps users informed about events and tips. Enables users to contribute to the app's development through feature voting. Promotes app adoption through the referral program.",
        "mental_model": "The screen acts as a central hub, providing a snapshot of the user's current status and access to different sections of the app. Users understand that tapping on a card will lead them to more detailed information about that topic."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "Checklist",
            "trigger": "Tap on the HACCP checklist card",
            "data_passed": "HACCP checklist data",
            "purpose": "To view and interact with the HACCP checklist"
          },
          {
            "screen_type": "Calendar",
            "trigger": "Tap on the Calendar tab",
            "data_passed": "Current date",
            "purpose": "To view the calendar and scheduled events"
          },
          {
            "screen_type": "Event Detail",
            "trigger": "Tap on the Backstreet Boys event card",
            "data_passed": "Backstreet Boys event details",
            "purpose": "To view the details of the Backstreet Boys event"
          },
          {
            "screen_type": "Tips Detail",
            "trigger": "Tap on the Tips card",
            "data_passed": "Tips data",
            "purpose": "To view the details of the tips"
          },
          {
            "screen_type": "Referral Screen",
            "trigger": "Tap on the Recommend Ordio card",
            "data_passed": "Referral information",
            "purpose": "To initiate the referral process"
          },
          {
            "screen_type": "Feature Vote",
            "trigger": "Tap on the Feature Vote card",
            "data_passed": "None",
            "purpose": "To allow users to request and vote on new features"
          },
          {
            "screen_type": "Edit Dashboard",
            "trigger": "Tap on the Edit Dashboard button",
            "data_passed": "Current dashboard configuration",
            "purpose": "To allow users to customize the dashboard"
          },
          {
            "screen_type": "Profile",
            "trigger": "Tap on the profile icon (FK)",
            "data_passed": "User profile data",
            "purpose": "To view and edit the user's profile"
          }
        ],
        "depends_on": [
          {
            "screen_type": "Onboarding",
            "required_data": "User authentication and profile data",
            "purpose": "To ensure the user is authenticated and has a profile before accessing the dashboard"
          },
          {
            "screen_type": "Profile Onboarding",
            "required_data": "User profile data",
            "purpose": "To ensure the user has completed their profile before accessing the dashboard"
          }
        ],
        "data_flow": "The screen receives data about checklists, events, tips, referral bonuses, and feature votes from the backend. It sends data to the backend when the user interacts with the dashboard, such as voting on a feature or editing the dashboard configuration.",
        "navigation_patterns": [
          {
            "pattern_type": "branching",
            "description": "From the dashboard, the user can navigate to various feature areas such as checklists, events, tips, referral, feature vote, profile, or edit the dashboard."
          },
          {
            "pattern_type": "tabbed",
            "description": "The user can switch between the 'Home' and 'Calendar' views using the tab bar."
          }
        ],
        "feature_dependencies": [
          "Checklists",
          "Events",
          "Tips",
          "Referral Program",
          "Feature Voting",
          "User Profile"
        ],
        "alternative_paths": [
          {
            "description": "Users might reach the checklist, event, or tips details screens through notifications or other entry points within the app."
          }
        ]
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "View Dashboard",
            "goal": "See an overview of key information and tasks",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Dashboard",
                "action": "Open the app",
                "outcome": "Dashboard is displayed with checklists, holiday absences, events, tips, recommend ordio, and feature vote."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          },
          {
            "journey_name": "Edit Dashboard",
            "goal": "Customize the dashboard to show relevant information",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Dashboard",
                "action": "Tap 'Edit Dashboard'",
                "outcome": "Navigates to the Edit Dashboard screen."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [
            "Stay informed about upcoming events and deadlines.",
            "Easily track progress on assigned checklists.",
            "See holiday and absence information.",
            "Access helpful tips and resources.",
            "Request new features for the app."
          ],
          "manager": [
            "Monitor team progress on checklists.",
            "Get an overview of team absences.",
            "Stay informed about important events.",
            "Access tips and resources to improve team performance."
          ],
          "hr_admin": [
            "Communicate important information to employees through checklists and events.",
            "Manage and track employee absences.",
            "Provide helpful tips and resources to employees.",
            "Gather feedback on desired features for the app."
          ],
          "general": [
            "Centralized access to key information and tasks.",
            "Customizable dashboard to prioritize relevant information.",
            "Easy navigation and user-friendly interface."
          ]
        },
        "business_value": {
          "problem_solved": "Provides a centralized dashboard for employees, managers, and HR to access key information, track progress, and stay informed, reducing information silos and improving communication.",
          "value_proposition": "Increases efficiency and productivity by providing a clear overview of tasks, events, and important information, enabling users to quickly access what they need and stay on track.",
          "differentiators": "Combines checklists, events, absence tracking, tips, and feature voting in a single dashboard, offering a comprehensive solution for employee engagement and communication.",
          "impact": "Improved employee engagement, increased productivity, better communication, and data-driven decision-making."
        },
        "use_cases": [
          {
            "scenario": "An employee needs to complete a safety checklist before starting their shift.",
            "user_type": "employee",
            "benefit": "The employee can quickly access the checklist from the dashboard and track their progress."
          },
          {
            "scenario": "A manager wants to see how many employees are out on vacation this week.",
            "user_type": "manager",
            "benefit": "The manager can view the holiday and absence information on the dashboard to get a quick overview."
          },
          {
            "scenario": "HR wants to inform employees about an upcoming company-wide training event.",
            "user_type": "hr_admin",
            "benefit": "HR can create an event on the dashboard to notify all employees and track attendance."
          },
          {
            "scenario": "An employee has an idea for a new feature that would improve their workflow.",
            "user_type": "employee",
            "benefit": "The employee can submit a feature request through the feature vote section of the dashboard."
          }
        ],
        "value_statements": [
          "Stay informed and organized with a centralized dashboard for all your key information.",
          "Boost productivity with easy access to checklists, events, and absence tracking.",
          "Improve communication and engagement with a user-friendly dashboard designed for your team.",
          "Empower your employees to contribute to the app's development through feature voting.",
          "Streamline your workflow and stay on top of your tasks with our intuitive dashboard."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2667",
      "sequence_index": 12,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2667.png",
      "basic_info": {
        "screen_name": "Edit Dashboard",
        "feature_area": "dashboard",
        "ui_elements": [
          "List of dashboard widgets",
          "Toggle switches",
          "Upper area section",
          "Lower area section"
        ],
        "functionality_visible": [
          "Reorder dashboard widgets",
          "Enable/disable dashboard widgets"
        ],
        "navigation_paths": [
          "Tap X to close and return to dashboard"
        ],
        "data_displayed": [
          "List of available dashboard widgets",
          "Widget enabled/disabled status"
        ],
        "user_actions": [
          "Long press and drag to reorder widgets",
          "Toggle switches to enable/disable widgets"
        ],
        "visible_text_labels": [
          "Edit Dashboard",
          "Long press and drag to reorder",
          "Upper Area",
          "Shifts",
          "Calendar",
          "Replacement Search",
          "Open Shifts",
          "Lower Area",
          "Working Times",
          "Weather",
          "Broadcasts",
          "Documents"
        ],
        "one_line_description": "This screen allows the user to edit their dashboard by reordering and enabling/disabling widgets.",
        "screenshot_id": "IMG_2667",
        "sequence_index": 12,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2667.png"
      },
      "deep_understanding": {
        "screen_context": "The user sees this screen when they want to customize the appearance and content of their dashboard within the Ordio app.",
        "user_goal": "The user wants to personalize their dashboard by reordering and toggling the visibility of different modules or widgets.",
        "business_value": "This screen allows users to customize their experience, making the app more relevant and useful to their specific needs. This increases user engagement and satisfaction.",
        "state_information": {
          "data_shown": "The screen displays a list of available modules or widgets that can be added to or removed from the dashboard, categorized into 'Upper Area' and 'Lower Area'.",
          "editable_fields": "The user can toggle the visibility of each module using the switches and reorder the modules by long-pressing and dragging.",
          "read_only_fields": "The names of the modules (e.g., Shifts, Calendar, Working Times) and the categorization into 'Upper Area' and 'Lower Area' are read-only.",
          "current_state": "The current state reflects which modules are currently visible on the dashboard and their order."
        },
        "interactions": [
          {
            "action": "Toggle a switch next to a module",
            "outcome": "The visibility of the corresponding module on the dashboard is changed.",
            "next_state": "The switch reflects the new visibility state (on/off), and the dashboard will update accordingly.",
            "error_possibilities": "The toggle might not respond due to a network error or a bug in the app."
          },
          {
            "action": "Long press and drag a module",
            "outcome": "The module is reordered within its area (Upper or Lower).",
            "next_state": "The module appears in its new position in the list.",
            "error_possibilities": "The drag and drop functionality might be unresponsive or glitchy."
          },
          {
            "action": "Tap the 'X' icon",
            "outcome": "The user exits the 'Edit Dashboard' screen.",
            "next_state": "The app returns to the main dashboard screen, reflecting the changes made.",
            "error_possibilities": "The app might not save the changes if there's a network error or a bug."
          }
        ],
        "edge_cases": [
          "Different user roles might have access to different modules.",
          "Some modules might be mandatory and cannot be toggled off.",
          "The app might have a limit on the number of modules that can be displayed in each area.",
          "Network errors could prevent changes from being saved.",
          "The user might not have permission to edit the dashboard.",
          "The app might have a default configuration that is restored if the user resets their settings."
        ],
        "benefits": "The user benefits from a personalized dashboard that displays the information most relevant to them, improving efficiency and reducing information overload.",
        "mental_model": "The screen supports a mental model of a customizable dashboard where users can choose which modules to display and arrange them according to their preferences."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "Dashboard",
            "trigger": "Tap the 'X' button",
            "data_passed": "Updated dashboard configuration (enabled/disabled widgets, widget order)",
            "purpose": "Return to the main dashboard with the applied changes."
          }
        ],
        "depends_on": [
          {
            "screen_type": "Dashboard",
            "required_data": "Current dashboard configuration (enabled/disabled widgets, widget order)",
            "purpose": "To display the current dashboard configuration and allow the user to edit it."
          }
        ],
        "data_flow": "The screen receives the current dashboard configuration from the Dashboard screen. The user can modify the configuration by enabling/disabling widgets and reordering them. When the user taps the 'X' button, the updated configuration is sent back to the Dashboard screen.",
        "navigation_patterns": [
          {
            "pattern_type": "modal",
            "description": "The 'Edit Dashboard' screen is presented as a modal overlay on top of the Dashboard screen. The user can dismiss the modal by tapping the 'X' button, which returns them to the Dashboard screen."
          }
        ],
        "feature_dependencies": [
          "dashboard",
          "widget configuration"
        ],
        "alternative_paths": [
          "Users might not reach this screen if they are satisfied with the default dashboard configuration.",
          "Users might access a similar settings screen from a profile or settings menu."
        ]
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "Customize Dashboard",
            "goal": "Personalize the dashboard by adding or removing widgets",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Dashboard",
                "action": "Taps on the edit dashboard icon",
                "outcome": "Navigates to the Edit Dashboard screen"
              },
              {
                "step_number": 2,
                "screen_type": "Edit Dashboard",
                "action": "Toggles the switches for Calendar, Replacement Search, Open Shifts, Working Times, Weather, Broadcasts, and Documents to add or remove widgets",
                "outcome": "Widgets are added or removed from the dashboard"
              },
              {
                "step_number": 3,
                "screen_type": "Edit Dashboard",
                "action": "Taps the 'X' icon",
                "outcome": "Navigates back to the Dashboard screen with the updated widgets"
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          },
          {
            "journey_name": "Reorder Dashboard Widgets",
            "goal": "Change the order of widgets on the dashboard",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Dashboard",
                "action": "Taps on the edit dashboard icon",
                "outcome": "Navigates to the Edit Dashboard screen"
              },
              {
                "step_number": 2,
                "screen_type": "Edit Dashboard",
                "action": "Long presses and drags the 'Shifts' widget to a new position in the upper area",
                "outcome": "The 'Shifts' widget is reordered"
              },
              {
                "step_number": 3,
                "screen_type": "Edit Dashboard",
                "action": "Taps the 'X' icon",
                "outcome": "Navigates back to the Dashboard screen with the updated widget order"
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [
            "Customize your dashboard to see the information most relevant to you.",
            "Prioritize the modules you use most often for quick access.",
            "Easily toggle on/off modules to declutter your dashboard."
          ],
          "manager": [
            "Ensure your team has access to the most important information on their dashboards.",
            "Customize the dashboard to highlight key performance indicators and team updates.",
            "Quickly enable/disable modules based on team needs."
          ],
          "hr_admin": [
            "Control which modules are available to employees based on their roles and responsibilities.",
            "Customize the dashboard to promote important company announcements and documents.",
            "Ensure consistent information delivery across the organization."
          ],
          "general": [
            "Personalize your dashboard experience.",
            "Improve efficiency by focusing on the most important information.",
            "Stay informed with relevant updates and notifications."
          ]
        },
        "business_value": {
          "problem_solved": "Users have different needs and priorities, and a one-size-fits-all dashboard is not effective.",
          "value_proposition": "Provides a customizable dashboard experience that allows users to focus on the information most relevant to their roles and responsibilities.",
          "differentiators": "Drag-and-drop reordering and easy toggle switches for modules.",
          "impact": "Increased user engagement, improved efficiency, and better information delivery."
        },
        "use_cases": [
          {
            "scenario": "An employee wants to quickly see their upcoming shifts and calendar events when they open the app.",
            "user_type": "employee",
            "benefit": "They can move the 'Shifts' and 'Calendar' modules to the top of their dashboard for easy access."
          },
          {
            "scenario": "A manager wants to ensure their team is aware of any open shifts that need to be filled.",
            "user_type": "manager",
            "benefit": "They can enable the 'Open Shifts' module for all team members to see."
          },
          {
            "scenario": "An HR admin wants to make sure all employees have access to important company documents.",
            "user_type": "hr_admin",
            "benefit": "They can enable the 'Documents' module for all employees and ensure it's prominently displayed."
          },
          {
            "scenario": "An employee doesn't need to see the weather on their dashboard.",
            "user_type": "employee",
            "benefit": "They can disable the 'Weather' module to declutter their dashboard."
          }
        ],
        "value_statements": [
          "Customize your Ordio dashboard to see the information that matters most to you.",
          "Take control of your dashboard and prioritize the modules you use most often.",
          "Stay informed and efficient with a personalized dashboard experience.",
          "Easily manage your dashboard modules with drag-and-drop reordering and simple toggle switches."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2668",
      "sequence_index": 13,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2668.png",
      "basic_info": {
        "screen_name": "Edit Dashboard",
        "feature_area": "dashboard",
        "ui_elements": [
          "Toggle switches",
          "Cards with module names"
        ],
        "functionality_visible": [
          "Enable/disable dashboard modules"
        ],
        "navigation_paths": [
          "Tap X to close"
        ],
        "data_displayed": [
          "List of available dashboard modules",
          "Current status of each module (enabled/disabled)"
        ],
        "user_actions": [
          "Toggle switches to enable/disable modules"
        ],
        "visible_text_labels": [
          "Edit Dashboard",
          "LOWER AREA",
          "Working Times",
          "Weather",
          "Broadcasts",
          "Documents",
          "Checklists",
          "Vacation",
          "Events",
          "Tips"
        ],
        "one_line_description": "This screen allows the user to customize their dashboard by enabling or disabling various modules.",
        "screenshot_id": "IMG_2668",
        "sequence_index": 13,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2668.png"
      },
      "deep_understanding": {
        "screen_context": "The user sees this screen when they want to customize their dashboard by adding, removing, or reordering widgets.",
        "user_goal": "The user wants to personalize their dashboard by selecting which widgets are displayed.",
        "business_value": "This screen allows users to customize their experience, making the app more relevant and useful to them. This increases user engagement and satisfaction.",
        "state_information": {
          "data_shown": "A list of available widgets (Working Times, Weather, Broadcasts, Documents, Checklists, Vacation, Events, Tips) that can be added to the dashboard. Each widget has a toggle switch to enable or disable it.",
          "editable_fields": "The toggle switches for each widget, allowing the user to enable or disable them.",
          "read_only_fields": "The names of the widgets (Working Times, Weather, Broadcasts, Documents, Checklists, Vacation, Events, Tips).",
          "current_state": "The current state of each widget (enabled or disabled) as indicated by the toggle switch position."
        },
        "interactions": [
          {
            "action": "Tap a toggle switch",
            "outcome": "The toggle switch changes position, enabling or disabling the corresponding widget on the dashboard.",
            "next_state": "The state of the widget is updated (enabled/disabled).",
            "error_possibilities": "The toggle switch might not respond if there is a network connection issue or a bug in the app."
          },
          {
            "action": "Tap the 'X' icon in the top right corner",
            "outcome": "The user exits the edit dashboard screen and returns to the main dashboard.",
            "next_state": "The main dashboard is displayed, reflecting the changes made to the widget selection.",
            "error_possibilities": "The changes might not be saved if there is a network connection issue or a bug in the app."
          }
        ],
        "edge_cases": [
          "Different user roles might have access to different widgets.",
          "Some widgets might be mandatory and cannot be disabled.",
          "The app might have a limit on the number of widgets that can be enabled at the same time.",
          "Network connection issues could prevent changes from being saved.",
          "The user might not have permission to edit the dashboard."
        ],
        "benefits": "The user benefits from this screen by being able to personalize their dashboard to display the information that is most relevant to them. This makes the app more efficient and user-friendly.",
        "mental_model": "The screen supports the mental model of a customizable dashboard where users can choose which widgets to display based on their individual needs and preferences. The toggle switches provide a clear and intuitive way to enable or disable widgets."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "Dashboard",
            "trigger": "Tap the 'X' button",
            "data_passed": "Updated dashboard settings (enabled/disabled widgets)",
            "purpose": "Return to the main dashboard with the selected widgets displayed."
          }
        ],
        "depends_on": [
          {
            "screen_type": "Dashboard",
            "required_data": "Current dashboard settings (enabled/disabled widgets)",
            "purpose": "To display the current state of the dashboard widgets and allow the user to modify them."
          }
        ],
        "data_flow": "The screen receives the current dashboard settings (which widgets are enabled/disabled). The user can toggle the switches to enable or disable widgets. When the user taps the 'X' button, the updated settings are sent back to the dashboard.",
        "navigation_patterns": [
          {
            "pattern_type": "modal",
            "description": "The 'Edit Dashboard' screen is presented as a modal overlay on top of the main dashboard. Tapping the 'X' button dismisses the modal and returns to the dashboard."
          }
        ],
        "feature_dependencies": [
          "dashboard",
          "user settings"
        ],
        "alternative_paths": [
          "The user might not need to edit the dashboard and can continue using the default configuration."
        ]
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "Customize Dashboard",
            "goal": "Customize the dashboard by enabling or disabling specific widgets.",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Edit Dashboard",
                "action": "Toggle the switches for Working Times, Weather, Broadcasts, Documents, Checklists, Vacation, Events, and Tips to enable or disable them.",
                "outcome": "The selected widgets are enabled or disabled on the dashboard."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [
            "Customize your dashboard to see the information most relevant to you.",
            "Quickly access the tools and information you need for your daily tasks.",
            "Stay informed about important company updates and events."
          ],
          "manager": [
            "Tailor the dashboard to monitor team performance and key metrics.",
            "Easily access reports and data to make informed decisions.",
            "Stay on top of team events, vacations, and working times."
          ],
          "hr_admin": [
            "Customize the dashboard to track company-wide metrics and compliance.",
            "Quickly access HR-related documents and information.",
            "Stay informed about employee vacations, events, and working times."
          ],
          "general": [
            "Personalize your dashboard experience.",
            "Improve efficiency by having key information readily available.",
            "Stay organized and informed."
          ]
        },
        "business_value": {
          "problem_solved": "Employees often struggle to find the information they need quickly, leading to wasted time and frustration. Managers need a way to easily monitor team performance and make informed decisions. HR admins need to track company-wide metrics and compliance.",
          "value_proposition": "Provides a customizable dashboard that allows users to quickly access the information and tools they need, improving efficiency and productivity.",
          "differentiators": "Offers a wide range of customizable widgets, including working times, weather, broadcasts, documents, checklists, vacation, events, and tips.",
          "impact": "Increased employee productivity, improved decision-making for managers, and better tracking of company-wide metrics for HR admins."
        },
        "use_cases": [
          {
            "scenario": "An employee wants to quickly see their upcoming events and working times for the week.",
            "user_type": "employee",
            "benefit": "They can customize their dashboard to include the 'Events' and 'Working Times' widgets, providing them with a quick overview of their schedule."
          },
          {
            "scenario": "A manager wants to monitor their team's vacation schedules.",
            "user_type": "manager",
            "benefit": "They can add the 'Vacation' widget to their dashboard to easily see who is on vacation and when."
          },
          {
            "scenario": "An HR admin wants to ensure all employees have completed their required checklists.",
            "user_type": "hr_admin",
            "benefit": "They can add the 'Checklists' widget to their dashboard to track completion rates and identify any outstanding tasks."
          }
        ],
        "value_statements": [
          "Customize your dashboard for a personalized experience.",
          "Access the information you need, when you need it.",
          "Improve your efficiency and productivity with a tailored dashboard.",
          "Stay informed and organized with customizable widgets.",
          "Empower your team with a personalized dashboard experience."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2669",
      "sequence_index": 14,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2669.png",
      "basic_info": {
        "screen_name": "Edit Dashboard",
        "feature_area": "dashboard",
        "ui_elements": [
          "Toggle switches",
          "Cards",
          "Close button"
        ],
        "functionality_visible": [
          "Enable/disable dashboard sections",
          "Rearrange dashboard sections"
        ],
        "navigation_paths": [
          "Tap X to close"
        ],
        "data_displayed": [
          "List of dashboard sections",
          "Toggle status of each section"
        ],
        "user_actions": [
          "Toggle switches",
          "Drag and drop cards"
        ],
        "visible_text_labels": [
          "Checklists",
          "Vacation",
          "Events",
          "Tips",
          "Feature Vote & Recommend Ordio",
          "Reset to Default Layout"
        ],
        "one_line_description": "This screen allows the user to customize their dashboard by enabling or disabling different sections.",
        "screenshot_id": "IMG_2669",
        "sequence_index": 14,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2669.png"
      },
      "deep_understanding": {
        "screen_context": "The user sees this screen after navigating from the dashboard and selecting an option to edit or customize the dashboard layout and visible modules.",
        "user_goal": "The user wants to customize their dashboard by enabling, disabling, and reordering the modules (widgets) that are displayed.",
        "business_value": "This screen allows users to personalize their experience, making the app more relevant and useful to them. This increases user engagement and satisfaction, and ensures that users see the information most important to them.",
        "state_information": {
          "data_shown": "A list of available modules (Checklists, Vacation, Events, Tips, Feature Vote & Recommend Ordio) with toggle switches to enable or disable them. Also, empty placeholders for reordering.",
          "editable_fields": "The toggle switches for each module, and the ability to drag and drop modules to reorder them.",
          "read_only_fields": "The names of the modules.",
          "current_state": "The current state of each module (enabled or disabled) is reflected by the state of the toggle switch. The current order of the modules is also reflected."
        },
        "interactions": [
          {
            "action": "Toggle a module's switch",
            "outcome": "The module is either enabled or disabled on the dashboard.",
            "next_state": "The dashboard will reflect the change in module visibility.",
            "error_possibilities": "The toggle switch might not respond, or the change might not be reflected on the dashboard due to a network error."
          },
          {
            "action": "Drag and drop a module",
            "outcome": "The module is reordered on the dashboard.",
            "next_state": "The dashboard will reflect the new order of modules.",
            "error_possibilities": "The drag and drop operation might fail, or the new order might not be saved due to a network error."
          },
          {
            "action": "Tap the 'X' icon",
            "outcome": "The user exits the edit dashboard screen.",
            "next_state": "The user is returned to the dashboard, reflecting the changes made (if any).",
            "error_possibilities": "None."
          },
          {
            "action": "Tap 'Reset to Default Layout'",
            "outcome": "The dashboard layout is reset to the default configuration.",
            "next_state": "The dashboard will display the default modules in their default order.",
            "error_possibilities": "The reset operation might fail due to a network error."
          }
        ],
        "edge_cases": "Different user roles might have access to different modules. Some modules might be mandatory and cannot be disabled. The app should handle cases where a module is temporarily unavailable (e.g., due to a server outage).",
        "benefits": "Users can customize their dashboard to see the information that is most relevant to them, improving their efficiency and overall experience. This personalization makes the app more useful and engaging.",
        "mental_model": "The screen supports a mental model of a customizable dashboard where users can choose which modules to display and how to arrange them. It reinforces the idea that the app can be tailored to individual needs and preferences."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "Dashboard",
            "trigger": "Tap the 'X' icon",
            "data_passed": "Updated dashboard configuration (enabled/disabled widgets)",
            "purpose": "Return to the main dashboard with the changes made in the edit screen."
          },
          {
            "screen_type": "Dashboard",
            "trigger": "Tap 'Reset to Default Layout'",
            "data_passed": "Default dashboard configuration",
            "purpose": "Return to the main dashboard with the default widgets enabled."
          }
        ],
        "depends_on": [
          {
            "screen_type": "Dashboard",
            "required_data": "Current dashboard configuration (enabled/disabled widgets)",
            "purpose": "To display the current state of the dashboard widgets and allow the user to edit them."
          }
        ],
        "data_flow": "The screen receives the current dashboard configuration from the main dashboard. The user can then toggle widgets on or off. When the user exits the screen, the updated configuration is sent back to the main dashboard.",
        "navigation_patterns": [
          {
            "pattern_type": "modal",
            "description": "The 'Edit Dashboard' screen is presented as a modal overlay on top of the main dashboard. The user can dismiss the modal to return to the dashboard."
          }
        ],
        "feature_dependencies": [
          "dashboard",
          "checklists",
          "vacation",
          "events",
          "tips",
          "feature voting"
        ],
        "alternative_paths": [
          {
            "description": "Instead of editing the dashboard, the user might choose to use the dashboard as is, without making any changes."
          }
        ]
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "Customize Dashboard",
            "goal": "Personalize the dashboard by enabling or disabling specific features.",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Edit Dashboard",
                "action": "Toggle the 'Checklists' switch to disable it.",
                "outcome": "The 'Checklists' feature is disabled on the dashboard."
              },
              {
                "step_number": 2,
                "screen_type": "Edit Dashboard",
                "action": "Toggle the 'Vacation' switch to disable it.",
                "outcome": "The 'Vacation' feature is disabled on the dashboard."
              },
              {
                "step_number": 3,
                "screen_type": "Edit Dashboard",
                "action": "Toggle the 'Events' switch to disable it.",
                "outcome": "The 'Events' feature is disabled on the dashboard."
              },
              {
                "step_number": 4,
                "screen_type": "Edit Dashboard",
                "action": "Toggle the 'Tips' switch to disable it.",
                "outcome": "The 'Tips' feature is disabled on the dashboard."
              },
              {
                "step_number": 5,
                "screen_type": "Edit Dashboard",
                "action": "Toggle the 'Feature Vote & Recommend Ordio' switch to disable it.",
                "outcome": "The 'Feature Vote & Recommend Ordio' feature is disabled on the dashboard."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [
            "Customize your dashboard to see the information most relevant to you.",
            "Hide modules you don't use to declutter your dashboard.",
            "Prioritize the modules you use most often by rearranging them."
          ],
          "manager": [
            "Ensure your team has access to the most important information by customizing the default dashboard layout.",
            "Highlight key performance indicators (KPIs) for your team by making them prominent on the dashboard."
          ],
          "hr_admin": [
            "Control which modules are available to employees to ensure compliance and consistency.",
            "Promote important company initiatives by featuring them on the dashboard."
          ],
          "general": [
            "Personalize your dashboard experience.",
            "Improve efficiency by focusing on relevant information.",
            "Reduce information overload."
          ]
        },
        "business_value": {
          "problem_solved": "Users are often overwhelmed by too much information on their dashboards and struggle to find what they need quickly.",
          "value_proposition": "Provides users with the ability to customize their dashboard layout and content, making it more efficient and relevant to their individual needs.",
          "differentiators": "Offers a simple and intuitive interface for customizing the dashboard, allowing users to easily rearrange and hide modules.",
          "impact": "Increased user engagement, improved productivity, and better access to critical information."
        },
        "use_cases": [
          {
            "scenario": "An employee wants to focus on their upcoming events and checklists, so they move those modules to the top of their dashboard and hide the 'Tips' module.",
            "user_type": "employee",
            "benefit": "Improved focus and efficiency by prioritizing relevant information."
          },
          {
            "scenario": "A manager wants to ensure their team is aware of upcoming vacations, so they make the 'Vacation' module prominent on the team's default dashboard layout.",
            "user_type": "manager",
            "benefit": "Improved team coordination and awareness of time off."
          },
          {
            "scenario": "An HR admin wants to promote a new feature vote and recommendation system, so they ensure the 'Feature Vote & Recommend Ordio' module is visible to all employees.",
            "user_type": "hr_admin",
            "benefit": "Increased employee participation in company initiatives and improved feedback collection."
          }
        ],
        "value_statements": [
          "Customize your dashboard for a more personalized and efficient experience.",
          "Take control of your dashboard and focus on what matters most.",
          "Declutter your dashboard and improve your productivity.",
          "Make your dashboard work for you, not the other way around."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2670",
      "sequence_index": 15,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2670.png",
      "basic_info": {
        "screen_name": "Shift calendar",
        "feature_area": "schichtplanung",
        "ui_elements": [
          "Calendar grid",
          "Time slots",
          "Plus button",
          "Filter button",
          "Availability button"
        ],
        "functionality_visible": [
          "View daily schedule",
          "Add new shift",
          "Filter shifts",
          "Set availability"
        ],
        "navigation_paths": [
          "Tap date to view schedule",
          "Tap plus button to add shift",
          "Tap filter button to filter shifts"
        ],
        "data_displayed": [
          "Calendar dates",
          "Shift times",
          "Availability status",
          "Restaurant name"
        ],
        "user_actions": [
          "Tap date",
          "Tap plus button",
          "Tap filter button",
          "Tap availability button"
        ],
        "visible_text_labels": [
          "Mon",
          "Tue",
          "Wed",
          "Thu",
          "Fri",
          "Sat",
          "Sun",
          "January 2026",
          "Restaurant Bachingen, Bar",
          "Verfügbar",
          "08:00",
          "09:00",
          "10:00",
          "11:00",
          "12:00"
        ],
        "one_line_description": "This screen displays the shift calendar for a specific location, allowing users to view scheduled shifts, add new shifts, filter shifts, and set their availability.",
        "screenshot_id": "IMG_2670",
        "sequence_index": 15,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2670.png"
      },
      "deep_understanding": {
        "screen_context": "The user is viewing the calendar to check availability and potentially schedule or view appointments at 'Restaurant Bachingen, Bar'. The screen appears after the user has navigated to the calendar section of the app, possibly after selecting a specific location or resource.",
        "user_goal": "The user wants to check the availability of 'Restaurant Bachingen, Bar' on a specific date and time, and potentially schedule an appointment or view existing appointments.",
        "business_value": "This screen allows employees to manage their schedules and appointments at a specific location, ensuring efficient resource allocation and preventing scheduling conflicts. It helps the business optimize its workforce and service delivery.",
        "state_information": {
          "data_shown": "The screen displays a calendar view for January 2026, showing the days of the week and dates. It also shows the availability status of 'Restaurant Bachingen, Bar' for different time slots. The current time (11:33) is indicated on the time axis.",
          "editable_fields": "The user can select different dates on the calendar to view availability for those dates. They can also potentially add or modify appointments using the '+' button.",
          "read_only_fields": "The calendar dates, days of the week, the name of the location ('Restaurant Bachingen, Bar'), and the time slots are read-only.",
          "current_state": "The screen is currently displaying the availability for 'Restaurant Bachingen, Bar' on a specific date (likely the current date or a previously selected date). The time axis shows the current time (11:33)."
        },
        "interactions": [
          {
            "action": "Tap a date on the calendar",
            "outcome": "The screen updates to show the availability of 'Restaurant Bachingen, Bar' for the selected date.",
            "next_state": "The calendar view updates to display the selected date's availability.",
            "error_possibilities": "The app might fail to load the availability data for the selected date due to network issues or server errors."
          },
          {
            "action": "Tap the '+' button",
            "outcome": "A screen appears allowing the user to create a new appointment or booking.",
            "next_state": "The app navigates to a screen for creating a new appointment.",
            "error_possibilities": "The app might fail to open the appointment creation screen due to internal errors."
          },
          {
            "action": "Tap the filter button (three horizontal lines)",
            "outcome": "A filter menu appears, allowing the user to filter the displayed information (e.g., by employee, resource, or appointment type).",
            "next_state": "A filter menu is displayed.",
            "error_possibilities": "The filter menu might fail to load or display correctly."
          },
          {
            "action": "Tap the 'Verfügbar' (Available) button",
            "outcome": "Potentially, the user can book the time slot or view more details about the availability.",
            "next_state": "The app might navigate to a booking confirmation screen or display more details about the availability.",
            "error_possibilities": "The booking might fail due to conflicts with existing appointments or insufficient resources."
          }
        ],
        "edge_cases": [
          "The location ('Restaurant Bachingen, Bar') might have no availability on certain dates.",
          "The user might not have permission to schedule appointments at this location.",
          "The app might be used in offline mode, limiting the availability data that can be displayed.",
          "The user might have different roles with different permissions, affecting what they can see and do.",
          "The location might have specific opening hours or booking rules that affect availability.",
          "The user might be trying to schedule an appointment in the past, which is not allowed."
        ],
        "benefits": "The screen provides a clear and intuitive way for users to check availability and schedule appointments at a specific location. It helps them manage their time effectively and avoid scheduling conflicts.",
        "mental_model": "The screen supports a mental model of a traditional calendar, where users can browse dates and view availability information. The '+' button reinforces the idea that users can add new appointments to the calendar."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "create shift",
            "trigger": "Tap the '+' button",
            "data_passed": "Selected date and time (if any)",
            "purpose": "To allow the user to create a new shift"
          },
          {
            "screen_type": "filter shifts",
            "trigger": "Tap the filter icon",
            "data_passed": "None",
            "purpose": "To allow the user to filter the shifts displayed on the calendar"
          }
        ],
        "depends_on": [
          {
            "screen_type": "Dashboard",
            "required_data": "User authentication, restaurant information, existing shifts",
            "purpose": "To display the calendar with the correct shifts for the user and restaurant"
          }
        ],
        "data_flow": "Incoming: User authentication, restaurant information, existing shifts. Outgoing: Shift creation requests, filter requests.",
        "navigation_patterns": [
          {
            "pattern_type": "branching",
            "description": "From the dashboard, the user can navigate to the shift calendar. From the shift calendar, the user can navigate to create a shift or filter shifts."
          },
          {
            "pattern_type": "back",
            "description": "The user can navigate back to the dashboard."
          }
        ],
        "feature_dependencies": [
          "user authentication",
          "restaurant management",
          "shift management"
        ],
        "alternative_paths": [
          "The user could potentially create a shift directly from the dashboard (if such a feature exists)."
        ]
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "Create a new shift",
            "goal": "Create a new shift for a specific date and time",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Shift calendar",
                "action": "Tap the '+' button",
                "outcome": "Navigates to the shift creation screen"
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          },
          {
            "journey_name": "Filter shifts",
            "goal": "Filter shifts based on certain criteria",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Shift calendar",
                "action": "Tap the filter button",
                "outcome": "Opens the filter options"
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [
            "Easily view your work schedule.",
            "See available shifts and request to work them.",
            "Check your schedule from anywhere, anytime."
          ],
          "manager": [
            "Quickly see staff availability.",
            "Easily identify scheduling conflicts.",
            "Efficiently manage and adjust schedules.",
            "Ensure adequate staffing levels."
          ],
          "hr_admin": [
            "Centralized view of all employee schedules.",
            "Simplified scheduling process.",
            "Improved workforce management."
          ],
          "general": [
            "Clear and intuitive calendar interface.",
            "Real-time schedule updates.",
            "Improved communication regarding schedules."
          ]
        },
        "business_value": {
          "problem_solved": "Inefficient and error-prone manual scheduling processes.",
          "value_proposition": "Streamlines scheduling, reduces errors, and improves communication, leading to better workforce management and increased efficiency.",
          "differentiators": "Real-time availability updates, integrated communication, and user-friendly interface.",
          "impact": "Reduced administrative overhead, improved employee satisfaction, and optimized staffing levels."
        },
        "use_cases": [
          {
            "scenario": "A restaurant manager needs to quickly fill an open shift for a server on a busy Friday night.",
            "user_type": "manager",
            "benefit": "The manager can quickly view employee availability on the calendar and contact available staff to fill the shift, ensuring adequate staffing for the evening."
          },
          {
            "scenario": "An employee wants to see their work schedule for the upcoming week.",
            "user_type": "employee",
            "benefit": "The employee can easily access the calendar on their mobile device to view their schedule, ensuring they are aware of their assigned shifts."
          },
          {
            "scenario": "An HR administrator needs to generate a report of all employee schedules for payroll purposes.",
            "user_type": "hr_admin",
            "benefit": "The HR administrator can access a centralized view of all employee schedules, making it easier to generate accurate payroll reports."
          },
          {
            "scenario": "An employee wants to request to work an available shift.",
            "user_type": "employee",
            "benefit": "The employee can see available shifts on the calendar and easily request to work them, increasing their earning potential and helping the business fill staffing needs."
          }
        ],
        "value_statements": [
          "Simplify your scheduling process with our intuitive calendar view.",
          "Ensure optimal staffing levels with real-time availability updates.",
          "Empower your employees with easy access to their schedules.",
          "Reduce scheduling errors and improve communication with our integrated platform.",
          "Manage your workforce more efficiently with our comprehensive scheduling solution."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2671",
      "sequence_index": 16,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2671.png",
      "basic_info": {
        "screen_name": "Shift calendar",
        "feature_area": "schichtplanung",
        "ui_elements": [
          "Calendar grid",
          "Time slots",
          "Shift blocks",
          "Add button",
          "Filter button"
        ],
        "functionality_visible": [
          "View daily schedule",
          "View weekly schedule",
          "Add new shift",
          "Filter shifts"
        ],
        "navigation_paths": [
          "Tap date to view day",
          "Tap shift for details",
          "Tap + to add shift",
          "Tap filter to filter shifts"
        ],
        "data_displayed": [
          "Shift times",
          "Shift names",
          "Employee names",
          "Calendar dates",
          "Location (Restaurant Bachingen, Küche)"
        ],
        "user_actions": [
          "Tap",
          "Swipe"
        ],
        "visible_text_labels": [
          "Home",
          "Calendar",
          "Mon",
          "Tue",
          "Wed",
          "Thu",
          "Fri",
          "Sat",
          "Sun",
          "January 2026",
          "Restaurant Bachingen, Küche",
          "Verfügbar",
          "Thomas Schm...",
          "Vorbereitung",
          "07:00 - 13:00"
        ],
        "one_line_description": "This screen displays the shift calendar for a specific location, showing scheduled shifts and availability for each day of the week.",
        "screenshot_id": "IMG_2671",
        "sequence_index": 16,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2671.png"
      },
      "deep_understanding": {
        "screen_context": "The user sees this screen when they navigate to the calendar view within the app, specifically to view and manage their shifts and availability for a particular location (Restaurant Bachingen, Küche) in January 2026.",
        "user_goal": "The user is trying to view their schedule, understand their availability, and potentially manage or modify their shifts for the selected date (January 21, 2026).",
        "business_value": "This screen allows employees to view their work schedules, manage their availability, and coordinate with their employer, ensuring adequate staffing and efficient workforce management. It reduces scheduling conflicts and improves communication between employees and management.",
        "state_information": {
          "data_shown": "The screen displays a calendar view for January 2026, highlighting the selected date (January 21st). It also shows the user's scheduled shifts and availability for the selected location (Restaurant Bachingen, Küche), including 'Vorbereitung' (Preparation) from 07:00 to 13:00 on the 20th and 'Thomas Schm...' at 10:00 on the 21st. The current time (11:33) is also indicated on the time axis.",
          "editable_fields": "The user can likely tap on different dates to view the schedule for those days. They can also likely tap on the '+' button to add new shifts or availability entries. The 'Verfügbar' (Available) button suggests the ability to set availability.",
          "read_only_fields": "The calendar dates, days of the week, the name of the location (Restaurant Bachingen, Küche), the current time (11:33), and the existing shift details (time and description) are read-only.",
          "current_state": "The user is currently viewing the schedule for January 21, 2026, at Restaurant Bachingen, Küche. They have a 'Vorbereitung' shift scheduled on the 20th from 07:00 to 13:00 and 'Thomas Schm...' at 10:00 on the 21st. The current time is 11:33."
        },
        "interactions": [
          {
            "action": "Tap on a different date in the calendar.",
            "outcome": "The calendar view updates to display the schedule and availability for the selected date.",
            "next_state": "The screen updates to show the schedule for the newly selected date.",
            "error_possibilities": "If there is no data for the selected date, the screen might display an empty schedule or a message indicating no shifts are scheduled."
          },
          {
            "action": "Tap the '+' button.",
            "outcome": "A menu or screen appears, allowing the user to add a new shift or availability entry.",
            "next_state": "The app navigates to a screen where the user can create a new shift or availability entry.",
            "error_possibilities": "The app might display an error message if the user lacks the necessary permissions to add shifts or availability."
          },
          {
            "action": "Tap the 'Verfügbar' (Available) button.",
            "outcome": "The user's availability for the selected date is set or modified.",
            "next_state": "The screen updates to reflect the user's new availability status.",
            "error_possibilities": "The app might display an error message if the user's availability conflicts with existing shifts or other constraints."
          },
          {
            "action": "Tap on an existing shift (e.g., 'Vorbereitung').",
            "outcome": "A screen appears allowing the user to view details or edit the shift.",
            "next_state": "The app navigates to a shift details or edit screen.",
            "error_possibilities": "The app might display an error message if the user lacks the necessary permissions to edit the shift."
          },
          {
            "action": "Tap the filter button (three horizontal lines).",
            "outcome": "A filter menu appears, allowing the user to filter shifts based on various criteria.",
            "next_state": "The app displays a filter menu.",
            "error_possibilities": "No immediate error possibilities, but the filter might not return the expected results if the filter criteria are not properly configured."
          }
        ],
        "edge_cases": "Different user roles (e.g., manager vs. employee) might have different permissions and access to features. The screen might display different information or options depending on the user's role. The screen might also handle different types of shifts or availability entries (e.g., vacation, sick leave). Error conditions might arise if the user's device is offline or if there are issues with the server.",
        "benefits": "The screen provides a clear and organized view of the user's schedule, allowing them to easily plan their work and personal life. It also facilitates communication and coordination between employees and management, ensuring adequate staffing and efficient workforce management. The ability to manage availability helps prevent scheduling conflicts and ensures that employees are available when needed.",
        "mental_model": "The screen supports a mental model of a traditional calendar, where users can view and manage their appointments and commitments. It also introduces the concept of shift-based scheduling, where users are assigned specific shifts at a particular location. The screen helps users understand how their work schedule fits into the overall workforce management system."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "shift detail",
            "trigger": "Tap on a shift event",
            "data_passed": "Shift details (time, employee, location, task)",
            "purpose": "View details of a specific shift"
          },
          {
            "screen_type": "add shift",
            "trigger": "Tap on the '+' button",
            "data_passed": "Selected date",
            "purpose": "Create a new shift for the selected date"
          },
          {
            "screen_type": "filter shifts",
            "trigger": "Tap on the filter icon",
            "data_passed": "None",
            "purpose": "Filter shifts based on criteria (e.g., employee, location)"
          }
        ],
        "depends_on": [
          {
            "screen_type": "Dashboard",
            "required_data": "Employee list, location list, shift data",
            "purpose": "To display the calendar with existing shifts and allow for shift creation/modification"
          }
        ],
        "data_flow": "Incoming: Employee list, location list, existing shift data. Outgoing: Shift creation/modification requests.",
        "navigation_patterns": [
          {
            "pattern_type": "branching",
            "description": "From the calendar, users can navigate to shift details, add a new shift, or filter shifts."
          },
          {
            "pattern_type": "back",
            "description": "Users can return to the dashboard."
          }
        ],
        "feature_dependencies": [
          "schichtplanung",
          "employee management",
          "location management"
        ],
        "alternative_paths": [
          "Users might create shifts directly from the dashboard if that functionality exists.",
          "Users might import shifts from an external system."
        ]
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "View Calendar",
            "goal": "View the calendar to see scheduled shifts and availability.",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Shift calendar",
                "action": "Open the calendar view.",
                "outcome": "The user sees the calendar with dates and scheduled shifts."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          },
          {
            "journey_name": "Navigate to a specific date",
            "goal": "Navigate to a specific date in the calendar to view shifts.",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Shift calendar",
                "action": "Open the calendar view.",
                "outcome": "The user sees the calendar with dates and scheduled shifts."
              },
              {
                "step_number": 2,
                "screen_type": "Shift calendar",
                "action": "Tap on a specific date (e.g., 21).",
                "outcome": "The calendar displays the shifts scheduled for that date."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          },
          {
            "journey_name": "Create a new shift",
            "goal": "Create a new shift for a specific date.",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Shift calendar",
                "action": "Open the calendar view.",
                "outcome": "The user sees the calendar with dates and scheduled shifts."
              },
              {
                "step_number": 2,
                "screen_type": "Shift calendar",
                "action": "Tap the '+' button.",
                "outcome": "The screen navigates to the shift creation screen."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [
            "View your scheduled shifts for the selected day.",
            "See the details of your shifts, including the time and type of work (e.g., Vorbereitung).",
            "Understand your availability and scheduled tasks.",
            "Quickly identify which days you are working.",
            "See who else is working on the same day (e.g., Thomas Schm...).",
            "Manage your own availability (implied by 'Verfügbar' button)."
          ],
          "manager": [
            "View the entire team's schedule for a specific day.",
            "See who is available and who is working.",
            "Identify potential scheduling conflicts or gaps.",
            "Manage employee availability and assign shifts.",
            "Ensure adequate staffing levels for each day.",
            "Quickly see the distribution of tasks and responsibilities."
          ],
          "hr_admin": [
            "Oversee the scheduling for the entire organization or specific locations.",
            "Ensure compliance with labor laws and company policies.",
            "Generate reports on employee schedules and availability.",
            "Manage employee time off requests and integrate them into the schedule."
          ],
          "general": [
            "Clear and intuitive calendar view.",
            "Easy navigation between days and weeks.",
            "Visual representation of shifts and availability.",
            "Quick access to shift details."
          ]
        },
        "business_value": {
          "problem_solved": "Inefficient and error-prone manual scheduling processes, leading to staffing shortages, scheduling conflicts, and employee dissatisfaction.",
          "value_proposition": "Provides a centralized and streamlined platform for managing employee schedules, availability, and shift assignments, resulting in improved efficiency, reduced errors, and increased employee satisfaction.",
          "differentiators": "Potentially integrates with other HR and payroll systems, offers real-time updates and notifications, and provides advanced analytics on scheduling patterns.",
          "impact": "Improved operational efficiency, reduced labor costs, increased employee satisfaction, and better compliance with labor laws."
        },
        "use_cases": [
          {
            "scenario": "A kitchen employee wants to check their schedule for the upcoming week to plan their personal activities.",
            "user_type": "employee",
            "benefit": "Allows the employee to easily view their shifts and plan their personal life accordingly."
          },
          {
            "scenario": "A restaurant manager needs to find a replacement for a sick employee on short notice.",
            "user_type": "manager",
            "benefit": "Enables the manager to quickly identify available employees and assign them the shift."
          },
          {
            "scenario": "An HR administrator needs to generate a report on employee working hours for payroll purposes.",
            "user_type": "hr_admin",
            "benefit": "Provides the HR administrator with access to accurate and up-to-date scheduling data for payroll processing."
          },
          {
            "scenario": "A manager needs to ensure adequate staffing for a busy weekend.",
            "user_type": "manager",
            "benefit": "Allows the manager to visualize the schedule and identify any potential staffing gaps, enabling them to proactively address the issue."
          }
        ],
        "value_statements": [
          "Simplify your employee scheduling with our intuitive calendar view.",
          "Eliminate scheduling conflicts and ensure optimal staffing levels.",
          "Empower your employees with easy access to their schedules.",
          "Reduce administrative overhead and improve operational efficiency.",
          "Gain valuable insights into your workforce scheduling patterns."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2672",
      "sequence_index": 17,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2672.png",
      "basic_info": {
        "screen_name": "Shift calendar",
        "feature_area": "schichtplanung",
        "ui_elements": [
          "Calendar grid",
          "Time slots",
          "Request Absence/Set Availability menu",
          "Employee list"
        ],
        "functionality_visible": [
          "View daily schedule",
          "Request absence",
          "Set availability"
        ],
        "navigation_paths": [
          "Tap time slot to set availability",
          "Tap time slot to request absence",
          "Tap employee to view schedule"
        ],
        "data_displayed": [
          "Date",
          "Time slots",
          "Employee names",
          "Shift assignments"
        ],
        "user_actions": [
          "Tap",
          "Swipe"
        ],
        "visible_text_labels": [
          "Home",
          "Calendar",
          "Mon",
          "Tue",
          "Wed",
          "Thu",
          "Fri",
          "Sat",
          "Sun",
          "January 2026",
          "Week 4",
          "Restaurant Bachingen, Bar",
          "Verfügbar",
          "Request Absence",
          "Set Availability"
        ],
        "one_line_description": "This screen displays the shift calendar for a specific day, allowing users to view schedules, request absences, and set availability.",
        "screenshot_id": "IMG_2672",
        "sequence_index": 17,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2672.png"
      },
      "deep_understanding": {
        "screen_context": "The user has tapped on a time slot in the shift calendar (Schichtplanung) and is presented with options to either request absence or set availability for that time slot.",
        "user_goal": "The user wants to either request time off (absence) or set their availability for the selected time slot in the shift calendar.",
        "business_value": "This screen allows employees to manage their availability and request time off, which helps the business to schedule staff effectively and ensure adequate coverage. It streamlines the process of managing employee availability and reduces administrative overhead.",
        "state_information": {
          "data_shown": "The screen displays options to 'Request Absence' or 'Set Availability'.",
          "editable_fields": "None.",
          "read_only_fields": "The selected time slot (implicitly) and the options 'Request Absence' and 'Set Availability'.",
          "current_state": "The app is waiting for the user to choose between requesting absence or setting availability for the selected time slot."
        },
        "interactions": [
          {
            "action": "Tap 'Request Absence'",
            "outcome": "The app navigates to a screen where the user can specify the details of their absence request (e.g., reason, duration).",
            "next_state": "Absence request screen.",
            "error_possibilities": "Network error, inability to create absence request due to conflicting rules (e.g., too many absences already requested)."
          },
          {
            "action": "Tap 'Set Availability'",
            "outcome": "The app navigates to a screen where the user can set their availability for the selected time slot or date.",
            "next_state": "Availability setting screen.",
            "error_possibilities": "Network error, inability to set availability due to conflicting rules (e.g., already scheduled for a shift)."
          }
        ],
        "edge_cases": "Different user roles might have different options available (e.g., managers might have additional options). The available options might also depend on the specific time slot selected (e.g., if a shift is already scheduled, the 'Set Availability' option might be disabled).",
        "benefits": "The screen provides a clear and simple way for employees to manage their availability and request time off. It simplifies the process and reduces the need for manual communication with managers.",
        "mental_model": "The screen supports the mental model of a calendar where users can interact with specific time slots to manage their availability and request time off. It reinforces the idea that the app is a tool for managing their work schedule."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "Request Absence",
            "trigger": "Tap 'Request Absence'",
            "data_passed": "Selected date and time",
            "purpose": "To allow the user to request time off"
          },
          {
            "screen_type": "Set Availability",
            "trigger": "Tap 'Set Availability'",
            "data_passed": "Selected date and time",
            "purpose": "To allow the user to set their availability for work"
          }
        ],
        "depends_on": [
          {
            "screen_type": "Edit Dashboard",
            "required_data": "User authentication, restaurant information, employee list",
            "purpose": "To display the shift calendar with relevant data"
          },
          {
            "screen_type": "Shift calendar",
            "required_data": "Date selection",
            "purpose": "To display the selected date's shift calendar"
          }
        ],
        "data_flow": "Incoming: User authentication, restaurant information, employee list, selected date. Outgoing: Request absence, set availability.",
        "navigation_patterns": [
          {
            "pattern_type": "branching",
            "description": "From the shift calendar, the user can either request absence or set availability."
          },
          {
            "pattern_type": "back",
            "description": "The user can navigate back to the previous screen (Edit Dashboard or Shift calendar)."
          }
        ],
        "feature_dependencies": [
          "User authentication",
          "Restaurant management",
          "Employee management",
          "Shift scheduling"
        ],
        "alternative_paths": [
          "The user might reach this screen by selecting a date from a different view (e.g., a monthly calendar view).",
          "The user might accomplish the same goal (requesting absence or setting availability) through a different interface (e.g., a dedicated absence request form)."
        ]
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "Request Absence",
            "goal": "Request time off from work",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Shift calendar",
                "action": "Long press on a time slot",
                "outcome": "Context menu appears with options 'Request Absence' and 'Set Availability'"
              },
              {
                "step_number": 2,
                "screen_type": "Shift calendar",
                "action": "Tap 'Request Absence'",
                "outcome": "Navigates to the Absence Request screen"
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          },
          {
            "journey_name": "Set Availability",
            "goal": "Set availability for a specific time slot",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Shift calendar",
                "action": "Long press on a time slot",
                "outcome": "Context menu appears with options 'Request Absence' and 'Set Availability'"
              },
              {
                "step_number": 2,
                "screen_type": "Shift calendar",
                "action": "Tap 'Set Availability'",
                "outcome": "Navigates to the Set Availability screen"
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [
            "Easily request time off directly from the shift calendar.",
            "Quickly set availability preferences for specific time slots."
          ],
          "manager": [
            "Streamline absence request management.",
            "Gain better visibility into employee availability for optimal shift scheduling."
          ],
          "hr_admin": [
            "Simplify absence tracking and reporting.",
            "Improve resource allocation based on employee availability."
          ],
          "general": [
            "Improved shift planning and management.",
            "Reduced scheduling conflicts."
          ]
        },
        "business_value": {
          "problem_solved": "Inefficient and time-consuming processes for requesting absences and managing employee availability.",
          "value_proposition": "Provides a streamlined and intuitive way for employees to request absences and set availability, leading to better shift planning and resource allocation.",
          "differentiators": "Direct integration with the shift calendar, simplifying the process compared to separate absence request systems.",
          "impact": "Increased efficiency in shift scheduling, reduced administrative overhead, and improved employee satisfaction."
        },
        "use_cases": [
          {
            "scenario": "An employee needs to request a day off for a doctor's appointment.",
            "user_type": "employee",
            "benefit": "The employee can quickly request the absence directly from the calendar, saving time and effort."
          },
          {
            "scenario": "A manager needs to find a replacement for an employee who has called in sick.",
            "user_type": "manager",
            "benefit": "The manager can easily view the availability of other employees and quickly find a suitable replacement."
          },
          {
            "scenario": "HR needs to track employee absences for compliance purposes.",
            "user_type": "hr_admin",
            "benefit": "HR can easily generate reports on employee absences, ensuring compliance with labor laws."
          },
          {
            "scenario": "An employee wants to indicate they are only available for certain shifts.",
            "user_type": "employee",
            "benefit": "The employee can set their availability directly on the calendar, ensuring they are only scheduled for shifts they can work."
          }
        ],
        "value_statements": [
          "Request absences and set availability with ease, directly from your shift calendar.",
          "Streamline your shift planning and reduce scheduling conflicts.",
          "Improve resource allocation and employee satisfaction with efficient absence management.",
          "Gain better visibility into employee availability for optimal shift scheduling."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2673",
      "sequence_index": 18,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2673.png",
      "basic_info": {
        "screen_name": "Absence Request",
        "feature_area": "abwesenheiten",
        "ui_elements": [
          "Start date field",
          "End date field",
          "Half first day toggle",
          "Half last day toggle",
          "Type of absence field",
          "Note text area",
          "Request absence button"
        ],
        "functionality_visible": [
          "Request absence",
          "Select start and end dates",
          "Specify half days",
          "Add a note"
        ],
        "navigation_paths": [
          "Tap X to close"
        ],
        "data_displayed": [
          "Start date",
          "End date",
          "Type of absence"
        ],
        "user_actions": [
          "Select start date",
          "Select end date",
          "Toggle half first day",
          "Toggle half last day",
          "Enter note",
          "Tap Request absence"
        ],
        "visible_text_labels": [
          "Request absence",
          "Start",
          "End",
          "Half first day",
          "Half last day",
          "Type of absence",
          "Bezahlter Urlaub",
          "Note",
          "Wednesday, 21.01.2026"
        ],
        "one_line_description": "This screen allows the user to submit a request for an absence, specifying the start and end dates, whether the first and last days are half days, the type of absence, and an optional note.",
        "screenshot_id": "IMG_2673",
        "sequence_index": 18,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2673.png"
      },
      "deep_understanding": {
        "screen_context": "The user sees this screen after selecting the option to request an absence from the shift calendar screen.",
        "user_goal": "The user wants to request time off from work.",
        "business_value": "This screen allows employees to easily request absences, which helps with workforce planning and ensures adequate staffing levels. It streamlines the absence request process, reducing administrative overhead.",
        "state_information": {
          "data_shown": "Start date, end date, options for half-day absences, type of absence, and a note field. These are relevant for specifying the details of the absence request.",
          "editable_fields": [
            "Start date",
            "End date",
            "Half first day (toggle)",
            "Half last day (toggle)",
            "Note (text field)"
          ],
          "read_only_fields": [
            "Type of absence (Bezahlter Urlaub - Paid leave)"
          ],
          "current_state": "The screen is in a state where the user can input the details of their absence request. The start and end dates are pre-filled with the same date (Wednesday, 21.01.2026). The half-day toggles are off."
        },
        "interactions": [
          {
            "action": "Tap the 'Start' date field",
            "outcome": "A date picker appears, allowing the user to select a different start date.",
            "next_state": "Date picker is displayed.",
            "error_possibilities": "The date picker might not load correctly."
          },
          {
            "action": "Tap the 'End' date field",
            "outcome": "A date picker appears, allowing the user to select a different end date.",
            "next_state": "Date picker is displayed.",
            "error_possibilities": "The date picker might not load correctly."
          },
          {
            "action": "Toggle the 'Half first day' switch",
            "outcome": "The 'Half first day' option is enabled or disabled.",
            "next_state": "The 'Half first day' option is either enabled or disabled.",
            "error_possibilities": "The toggle might not respond."
          },
          {
            "action": "Toggle the 'Half last day' switch",
            "outcome": "The 'Half last day' option is enabled or disabled.",
            "next_state": "The 'Half last day' option is either enabled or disabled.",
            "error_possibilities": "The toggle might not respond."
          },
          {
            "action": "Enter text in the 'Note' field",
            "outcome": "The entered text is saved in the 'Note' field.",
            "next_state": "The 'Note' field contains the entered text.",
            "error_possibilities": "The text field might not accept input, or there might be a character limit."
          },
          {
            "action": "Tap the 'Request absence' button",
            "outcome": "The absence request is submitted.",
            "next_state": "The user is likely returned to the shift calendar screen, and the absence request is pending approval.",
            "error_possibilities": "The request might fail due to network issues, invalid data, or other server-side errors. An error message should be displayed."
          },
          {
            "action": "Tap the 'X' icon",
            "outcome": "The absence request screen is closed.",
            "next_state": "The user is returned to the previous screen (shift calendar).",
            "error_possibilities": "None."
          }
        ],
        "edge_cases": [
          "The user might have insufficient remaining vacation days.",
          "The requested dates might conflict with other employees' absences.",
          "The user might try to request an absence in the past.",
          "The user might have different types of absence available (e.g., sick leave, unpaid leave).",
          "The user's role might not allow them to request certain types of absences."
        ],
        "benefits": "The screen simplifies the process of requesting time off, making it easy for employees to submit their requests. It provides clear options for specifying the details of the absence, such as the start and end dates and whether it's a half-day absence.",
        "mental_model": "The screen supports the mental model of a form where the user fills in the required information to submit an absence request. The user understands that they need to provide the start and end dates, specify if it's a half-day absence, and add any relevant notes."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "confirmation",
            "trigger": "User taps 'Request absence'",
            "data_passed": "Absence request details (start date, end date, half-day options, type of absence, note)",
            "purpose": "To confirm the absence request has been submitted"
          },
          {
            "screen_type": "error",
            "trigger": "API error when submitting absence request",
            "data_passed": "Error message",
            "purpose": "To inform the user that the absence request failed"
          },
          {
            "screen_type": "shift calendar",
            "trigger": "User taps the 'X' button",
            "data_passed": "None",
            "purpose": "To return to the shift calendar without submitting the request"
          }
        ],
        "depends_on": [
          {
            "screen_type": "shift calendar",
            "required_data": "User's shift calendar data, user authentication",
            "purpose": "To allow the user to request absence from the calendar view"
          }
        ],
        "data_flow": "This screen receives user's shift calendar data and user authentication from the previous screen. The user inputs absence request details (start date, end date, half-day options, type of absence, note). This data is then sent to the backend when the user taps 'Request absence'.",
        "navigation_patterns": [
          {
            "pattern_type": "modal",
            "description": "This screen appears as a modal overlay on top of the shift calendar. It can be dismissed by tapping the 'X' button or by submitting the request."
          }
        ],
        "feature_dependencies": [
          "abwesenheiten",
          "shift calendar"
        ],
        "alternative_paths": [
          {
            "description": "User might not request absence at all and remain on the shift calendar."
          }
        ]
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "Request Absence",
            "goal": "Request time off from work",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Shift calendar",
                "action": "Tap on a date to request absence",
                "outcome": "Absence request screen is displayed"
              },
              {
                "step_number": 2,
                "screen_type": "Absence Request",
                "action": "Select start date",
                "outcome": "Start date is set"
              },
              {
                "step_number": 3,
                "screen_type": "Absence Request",
                "action": "Select end date",
                "outcome": "End date is set"
              },
              {
                "step_number": 4,
                "screen_type": "Absence Request",
                "action": "Toggle half first day (optional)",
                "outcome": "Half first day is set"
              },
              {
                "step_number": 5,
                "screen_type": "Absence Request",
                "action": "Toggle half last day (optional)",
                "outcome": "Half last day is set"
              },
              {
                "step_number": 6,
                "screen_type": "Absence Request",
                "action": "Select type of absence",
                "outcome": "Type of absence is set"
              },
              {
                "step_number": 7,
                "screen_type": "Absence Request",
                "action": "Add a note (optional)",
                "outcome": "Note is added"
              },
              {
                "step_number": 8,
                "screen_type": "Absence Request",
                "action": "Tap on Request absence",
                "outcome": "Absence request is submitted"
              },
              {
                "step_number": 9,
                "screen_type": "Shift Calendar",
                "action": "Return to shift calendar",
                "outcome": "Shift calendar is displayed"
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [
            "Easily request time off directly from the mobile app.",
            "Specify the start and end dates of the absence.",
            "Indicate if the absence is for a half-day on the first or last day.",
            "Select the type of absence (e.g., paid leave).",
            "Add a note to provide additional context for the request."
          ],
          "manager": [
            "Receive absence requests from employees in a structured format.",
            "Have access to all relevant information (dates, type, notes) to make informed decisions.",
            "Streamline the absence approval process."
          ],
          "hr_admin": [
            "Maintain accurate records of employee absences.",
            "Gain insights into absence patterns and trends.",
            "Ensure compliance with company policies and labor laws."
          ],
          "general": [
            "Improved transparency and communication regarding absences.",
            "Reduced administrative burden for both employees and managers.",
            "Centralized platform for managing all absence-related activities."
          ]
        },
        "business_value": {
          "problem_solved": "Manual and inefficient absence request processes that lead to errors, delays, and lack of visibility.",
          "value_proposition": "Streamlines the absence request and approval process, improving efficiency, accuracy, and transparency.",
          "differentiators": "Mobile-first design, integrated with shift calendar, easy-to-use interface, customizable absence types.",
          "impact": "Reduced administrative costs, improved employee satisfaction, better workforce planning, and enhanced compliance."
        },
        "use_cases": [
          {
            "scenario": "An employee needs to request a week of vacation.",
            "user_type": "employee",
            "benefit": "Submits a vacation request quickly and easily through the mobile app, specifying the dates and adding a note for their manager."
          },
          {
            "scenario": "A manager receives an absence request from an employee.",
            "user_type": "manager",
            "benefit": "Reviews the request details (dates, type, notes) and approves or denies it based on team workload and company policy."
          },
          {
            "scenario": "HR needs to track employee absence trends.",
            "user_type": "hr_admin",
            "benefit": "Accesses absence data to identify patterns, manage staffing levels, and ensure compliance with labor laws."
          },
          {
            "scenario": "An employee needs to take a half day off for a doctor's appointment.",
            "user_type": "employee",
            "benefit": "Easily indicates that the absence is for a half-day on either the first or last day of the absence period."
          }
        ],
        "value_statements": [
          "Request time off anytime, anywhere with our mobile app.",
          "Simplify your absence management process and save time.",
          "Gain complete visibility into employee absences for better workforce planning.",
          "Ensure compliance with company policies and labor laws.",
          "Improve employee satisfaction with a streamlined absence request process."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2674",
      "sequence_index": 19,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2674.png",
      "basic_info": {
        "screen_name": "Absence Request",
        "feature_area": "abwesenheiten",
        "ui_elements": [
          "Start date field",
          "End date field",
          "Half first day toggle",
          "Half last day toggle",
          "Type of absence selection",
          "Camera button",
          "Gallery button",
          "Note field"
        ],
        "functionality_visible": [
          "Request absence",
          "Select start and end dates",
          "Indicate half days",
          "Choose absence type",
          "Add attachments",
          "Add a note"
        ],
        "navigation_paths": [
          "Tap X to close",
          "Select absence type",
          "Select start date",
          "Select end date",
          "Add image from camera",
          "Add image from gallery"
        ],
        "data_displayed": [
          "Start date",
          "End date",
          "Absence type options"
        ],
        "user_actions": [
          "Tap",
          "Select date",
          "Toggle switch",
          "Select absence type",
          "Add image",
          "Enter text"
        ],
        "visible_text_labels": [
          "Request absence",
          "Start",
          "End",
          "Half first day",
          "Half last day",
          "Type of absence",
          "Krankheit (Kind)",
          "Bezahlter Urlaub",
          "Krankheit",
          "Überstundenabbau",
          "Camera",
          "Gallery",
          "Note"
        ],
        "one_line_description": "This screen allows the user to request an absence by specifying the start and end dates, indicating half days, selecting the type of absence, and adding attachments or notes.",
        "screenshot_id": "IMG_2674",
        "sequence_index": 19,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2674.png"
      },
      "deep_understanding": {
        "screen_context": "The user is on the 'Request Absence' screen, likely after selecting an option to request time off from a shift calendar or similar screen. This screen allows the user to specify the details of their absence request.",
        "user_goal": "The user wants to submit a request for an absence, specifying the dates, type of absence, and any relevant notes or attachments.",
        "business_value": "This screen enables employees to easily request time off, which streamlines the absence management process for both employees and managers. It ensures that absence requests are properly documented and routed for approval, improving workforce planning and resource allocation.",
        "state_information": {
          "data_shown": "Start date, end date, half-day options for the first and last day, type of absence, and options to add attachments and notes. The dates are pre-filled with the current date (Wednesday, 21.01.2026).",
          "editable_fields": "Start date, end date, half first day, half last day, type of absence, attachment (camera/gallery), and note.",
          "read_only_fields": "None.",
          "current_state": "The screen is in a state where the user can input the details of their absence request. The start and end dates are pre-filled with the same date, and the half-day options are disabled. The type of absence is not yet selected."
        },
        "interactions": [
          {
            "action": "Tap the 'Start' date field",
            "outcome": "A date picker is displayed, allowing the user to select the start date of their absence.",
            "next_state": "Date picker is displayed.",
            "error_possibilities": "None."
          },
          {
            "action": "Tap the 'End' date field",
            "outcome": "A date picker is displayed, allowing the user to select the end date of their absence.",
            "next_state": "Date picker is displayed.",
            "error_possibilities": "None."
          },
          {
            "action": "Toggle the 'Half first day' switch",
            "outcome": "The switch changes state, indicating whether the first day of the absence is a half day or a full day.",
            "next_state": "The 'Half first day' switch is toggled.",
            "error_possibilities": "None."
          },
          {
            "action": "Toggle the 'Half last day' switch",
            "outcome": "The switch changes state, indicating whether the last day of the absence is a half day or a full day.",
            "next_state": "The 'Half last day' switch is toggled.",
            "error_possibilities": "None."
          },
          {
            "action": "Tap the 'Type of absence' field",
            "outcome": "A list of absence types is displayed, allowing the user to select the appropriate type of absence (e.g., Paid Vacation, Sickness, Sickness (Child), Overtime Reduction).",
            "next_state": "List of absence types is displayed.",
            "error_possibilities": "None."
          },
          {
            "action": "Select an absence type from the list",
            "outcome": "The selected absence type is displayed in the 'Type of absence' field.",
            "next_state": "The selected absence type is displayed.",
            "error_possibilities": "None."
          },
          {
            "action": "Tap the 'Camera' button",
            "outcome": "The device's camera app is launched, allowing the user to take a photo and attach it to the absence request.",
            "next_state": "Camera app is launched.",
            "error_possibilities": "The user may not have granted the app permission to access the camera. The camera may not be available."
          },
          {
            "action": "Tap the 'Gallery' button",
            "outcome": "The device's photo gallery is displayed, allowing the user to select an image to attach to the absence request.",
            "next_state": "Photo gallery is displayed.",
            "error_possibilities": "The user may not have granted the app permission to access the photo gallery."
          },
          {
            "action": "Enter text in the 'Note' field",
            "outcome": "The entered text is saved as a note associated with the absence request.",
            "next_state": "The note field contains the entered text.",
            "error_possibilities": "None."
          },
          {
            "action": "Tap the 'X' icon in the top right corner",
            "outcome": "The absence request screen is closed, and the user is likely returned to the previous screen (e.g., shift calendar).",
            "next_state": "Returns to the previous screen.",
            "error_possibilities": "The user may lose any unsaved changes."
          }
        ],
        "edge_cases": [
          "The user may have insufficient permissions to request certain types of absences.",
          "The user may be requesting an absence that overlaps with existing scheduled shifts or other absences.",
          "The user may be requesting an absence that exceeds the maximum allowed duration.",
          "The user may be requesting an absence in the past.",
          "The user may not have internet connectivity, preventing the absence request from being submitted.",
          "The user may select a start date that is later than the end date, resulting in an error.",
          "The user may try to submit the form without selecting an absence type."
        ],
        "benefits": "This screen provides a user-friendly interface for requesting absences, simplifying the process and reducing the likelihood of errors. It allows users to specify all relevant details of their absence request in a single location, improving efficiency and transparency.",
        "mental_model": "The screen supports a mental model of a form that needs to be filled out with the details of the absence. The user understands that they need to provide the start and end dates, specify whether the absence is for a full or half day, select the type of absence, and add any relevant notes or attachments. Once the form is complete, the user expects to be able to submit the request for approval."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "confirmation",
            "trigger": "Successful submission of absence request",
            "data_passed": "Absence details (start date, end date, type of absence, attachments)",
            "purpose": "To confirm that the absence request has been successfully submitted."
          },
          {
            "screen_type": "error",
            "trigger": "Invalid input or submission failure",
            "data_passed": "Error message describing the issue",
            "purpose": "To inform the user about errors during submission."
          },
          {
            "screen_type": "camera",
            "trigger": "Tap on the 'Camera' button",
            "data_passed": "None",
            "purpose": "To allow the user to take a photo and attach it to the absence request."
          },
          {
            "screen_type": "gallery",
            "trigger": "Tap on the 'Gallery' button",
            "data_passed": "None",
            "purpose": "To allow the user to select an image from their gallery and attach it to the absence request."
          }
        ],
        "depends_on": [
          {
            "screen_type": "Shift calendar",
            "required_data": "User authentication and shift calendar data",
            "purpose": "To ensure the user is logged in and to provide context for the absence request (e.g., to check for conflicts)."
          }
        ],
        "data_flow": "This screen receives user authentication and shift calendar data from previous screens. The user inputs absence details (start date, end date, type of absence, attachments). This data is then submitted to the server for processing. The server returns a confirmation or error message.",
        "navigation_patterns": [
          {
            "pattern_type": "modal",
            "description": "This screen appears as a modal overlay on top of the shift calendar. The user can dismiss the modal by tapping the 'X' button or by submitting the absence request."
          }
        ],
        "feature_dependencies": [
          "authentication",
          "shift_calendar",
          "camera",
          "gallery"
        ],
        "alternative_paths": [
          {
            "description": "The user might not request absence at all and navigate back to the shift calendar."
          }
        ]
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "Request Absence",
            "goal": "Request time off from work",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Shift calendar",
                "action": "Tap on a date or a button to initiate absence request",
                "outcome": "Navigates to the Absence Request screen"
              },
              {
                "step_number": 2,
                "screen_type": "Absence Request",
                "action": "Fill out the absence request form, including start and end dates, type of absence, and any relevant notes or attachments.",
                "outcome": "Absence request is submitted."
              },
              {
                "step_number": 3,
                "screen_type": "Shift calendar",
                "action": "View the updated shift calendar to see the requested absence.",
                "outcome": "The shift calendar reflects the requested absence."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [
            "Easily request time off for various reasons (vacation, illness, etc.).",
            "Specify the start and end dates of the absence.",
            "Indicate if the absence is for a half-day.",
            "Attach supporting documentation (e.g., doctor's note) via camera or gallery.",
            "Add a note to provide additional context for the request."
          ],
          "manager": [
            "Receive clear and detailed absence requests from employees.",
            "Quickly understand the type and duration of the requested absence.",
            "Access supporting documentation to aid in the approval process.",
            "Improved visibility into team availability and potential coverage needs."
          ],
          "hr_admin": [
            "Streamlined absence request process.",
            "Centralized record of all employee absences.",
            "Improved data for absence tracking and reporting.",
            "Reduced administrative overhead associated with manual absence management."
          ],
          "general": [
            "Simplified and intuitive absence request process.",
            "Improved communication between employees and managers regarding time off.",
            "Increased transparency and accountability in absence management."
          ]
        },
        "business_value": {
          "problem_solved": "Manual and inefficient absence request processes that lead to errors, delays, and lack of visibility.",
          "value_proposition": "Provides a centralized and automated system for employees to request absences, managers to review and approve requests, and HR to track and manage employee time off.",
          "differentiators": "Integration with camera and gallery for easy document attachment, clear categorization of absence types, and intuitive user interface.",
          "impact": "Reduced administrative overhead, improved accuracy of absence records, enhanced communication, and better workforce planning."
        },
        "use_cases": [
          {
            "scenario": "An employee needs to take a day off due to illness. They use the app to request a sick day, attaching a photo of their doctor's note.",
            "user_type": "employee",
            "benefit": "Simplified sick day request process with easy documentation upload."
          },
          {
            "scenario": "A manager receives an absence request from an employee. They review the request details, including the attached documentation, and approve it.",
            "user_type": "manager",
            "benefit": "Efficient review and approval of absence requests with all necessary information readily available."
          },
          {
            "scenario": "HR uses the app to generate a report on employee absences for the past quarter, identifying trends and potential areas for improvement.",
            "user_type": "hr",
            "benefit": "Data-driven insights into employee absence patterns for better workforce management."
          },
          {
            "scenario": "An employee wants to request a half day off to attend a doctor's appointment.",
            "user_type": "employee",
            "benefit": "Ability to easily request partial day absences."
          }
        ],
        "value_statements": [
          "Request time off with ease, anytime, anywhere.",
          "Simplify absence management for employees, managers, and HR.",
          "Gain complete visibility into employee absences.",
          "Reduce administrative overhead and improve accuracy.",
          "Empower employees to manage their time off effectively."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2675",
      "sequence_index": 20,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2675.png",
      "basic_info": {
        "screen_name": "Shift Calendar",
        "feature_area": "schichtplanung",
        "ui_elements": [
          "Calendar grid",
          "Time slots",
          "Availability selection popup",
          "Availability status indicators"
        ],
        "functionality_visible": [
          "View daily schedule",
          "Set availability for a specific day",
          "View restaurant location"
        ],
        "navigation_paths": [
          "Tap a day to set availability",
          "Tap the minus button to remove a shift",
          "Tap the filter button to filter shifts"
        ],
        "data_displayed": [
          "Date",
          "Day of the week",
          "Shift times",
          "Restaurant location",
          "Availability status (Available, Partly Available, Not Available)"
        ],
        "user_actions": [
          "Tap",
          "Select availability status",
          "Filter shifts"
        ],
        "visible_text_labels": [
          "Home",
          "Calendar",
          "Mon",
          "Tue",
          "Wed",
          "Thu",
          "Fri",
          "Sat",
          "Sun",
          "January 2026",
          "Restaurant Bachingen, Bar",
          "Verfügbar",
          "Wednesday, 21. January",
          "Available",
          "Partly Available"
        ],
        "one_line_description": "This screen displays the shift calendar for a specific location and allows the user to set their availability for a selected day.",
        "screenshot_id": "IMG_2675",
        "sequence_index": 20,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2675.png"
      },
      "deep_understanding": {
        "screen_context": "The user is viewing the shift calendar for Wednesday, January 21, 2026, and has tapped on a time slot to set their availability for that day.",
        "user_goal": "The user wants to set their availability for Wednesday, January 21, 2026, for a specific time slot.",
        "business_value": "This screen allows employees to communicate their availability to the scheduling system, enabling efficient shift planning and resource allocation. It reduces scheduling conflicts and ensures adequate staffing levels.",
        "state_information": {
          "data_shown": "The screen displays the date (Wednesday, 21. January), and options for availability: No Selection, Available, Partly Available, and Not Available. A checkmark indicates the currently selected availability status (Available).",
          "editable_fields": "The user can change their availability status by selecting one of the options: No Selection, Available, Partly Available, or Not Available.",
          "read_only_fields": "The date (Wednesday, 21. January) is read-only.",
          "current_state": "The current state is that the user has selected 'Available' for the selected time slot on Wednesday, January 21, 2026."
        },
        "interactions": [
          {
            "action": "Tap 'No Selection'",
            "outcome": "The availability status for the selected time slot is set to 'No Selection'.",
            "next_state": "The checkmark moves to 'No Selection'.",
            "error_possibilities": "None."
          },
          {
            "action": "Tap 'Available'",
            "outcome": "The availability status for the selected time slot is set to 'Available'.",
            "next_state": "The checkmark moves to 'Available'.",
            "error_possibilities": "None."
          },
          {
            "action": "Tap 'Partly Available'",
            "outcome": "The availability status for the selected time slot is set to 'Partly Available'.",
            "next_state": "The checkmark moves to 'Partly Available' and a new screen might appear to specify the partial availability.",
            "error_possibilities": "None."
          },
          {
            "action": "Tap 'Not Available'",
            "outcome": "The availability status for the selected time slot is set to 'Not Available'.",
            "next_state": "The checkmark moves to 'Not Available'.",
            "error_possibilities": "None."
          }
        ],
        "edge_cases": "Different user roles might have different availability options. For example, a manager might have the ability to override availability. The 'Partly Available' option might lead to a more complex screen where the user specifies the exact hours they are available. If the user has already requested an absence for that day, the availability options might be limited or disabled.",
        "benefits": "The screen allows employees to easily communicate their availability, leading to more accurate and efficient scheduling. It reduces the need for manual communication and minimizes scheduling conflicts.",
        "mental_model": "The screen supports a mental model where employees can manage their availability on a per-time-slot basis. The options are clear and easy to understand, allowing employees to quickly set their availability status."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "Partly Available Options",
            "trigger": "Tapping 'Partly Available'",
            "data_passed": "Date (Wednesday, 21. January)",
            "purpose": "To allow the user to specify the partial availability for the selected date."
          }
        ],
        "depends_on": [
          {
            "screen_type": "Shift calendar",
            "required_data": "Employee shifts and availability data for the selected month",
            "purpose": "To display the shift calendar with employee availability."
          }
        ],
        "data_flow": "This screen receives employee shift and availability data from the backend. It allows the user to modify the availability for a specific date. The updated availability data is then sent back to the backend.",
        "navigation_patterns": [
          {
            "pattern_type": "modal",
            "description": "The availability options appear as a modal overlay on the shift calendar screen."
          },
          {
            "pattern_type": "back",
            "description": "The user can dismiss the modal by selecting an option or tapping outside the modal."
          }
        ],
        "feature_dependencies": [
          "schichtplanung",
          "availability management"
        ],
        "alternative_paths": [
          "The user could navigate to a different date on the calendar to modify availability.",
          "The user could modify availability through a different interface, such as a profile settings page."
        ]
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "Set availability for a day",
            "goal": "Set availability status for a specific day in the shift calendar",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Shift Calendar",
                "action": "Tap on a day in the calendar (e.g., Wednesday, 21. January)",
                "outcome": "A modal appears with availability options for the selected day."
              },
              {
                "step_number": 2,
                "screen_type": "Shift Calendar",
                "action": "Select an availability option (e.g., Available)",
                "outcome": "The selected availability status is applied to the day."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [
            "Easily set your availability for shifts.",
            "Communicate your preferred working times to your manager.",
            "Avoid being scheduled for shifts you cannot work."
          ],
          "manager": [
            "Quickly see employee availability for scheduling.",
            "Optimize shift scheduling based on employee preferences.",
            "Reduce scheduling conflicts and improve employee satisfaction."
          ],
          "hr_admin": [],
          "general": [
            "Clear visual representation of shift availability.",
            "Simple and intuitive interface for managing availability.",
            "Improved communication between employees and managers."
          ]
        },
        "business_value": {
          "problem_solved": "Difficulty in managing and communicating employee availability for shift scheduling, leading to scheduling conflicts and inefficiencies.",
          "value_proposition": "Provides a centralized and streamlined system for employees to set their availability and managers to view and utilize this information for optimal shift scheduling.",
          "differentiators": "Integrated availability management within the shift calendar, offering a seamless user experience.",
          "impact": "Improved shift scheduling efficiency, reduced scheduling conflicts, increased employee satisfaction, and better resource allocation."
        },
        "use_cases": [
          {
            "scenario": "An employee knows they have a doctor's appointment on Wednesday afternoon and wants to ensure they are not scheduled for a shift during that time.",
            "user_type": "employee",
            "benefit": "The employee can easily mark themselves as 'Not Available' for the relevant time slot, preventing them from being scheduled and avoiding potential conflicts."
          },
          {
            "scenario": "A manager is creating the shift schedule for the upcoming week and needs to know which employees are available on Wednesday.",
            "user_type": "manager",
            "benefit": "The manager can quickly view the availability of all employees for Wednesday and use this information to create an optimal schedule that meets the needs of the business and the preferences of the employees."
          },
          {
            "scenario": "An employee is generally available but has a recurring commitment that makes them only 'Partly Available' during a specific time.",
            "user_type": "employee",
            "benefit": "The employee can mark themselves as 'Partly Available' and provide details about their limited availability, allowing the manager to consider this when scheduling."
          }
        ],
        "value_statements": [
          "Effortlessly manage your shift availability with our intuitive calendar.",
          "Optimize shift scheduling by knowing your employees' availability.",
          "Reduce scheduling conflicts and improve employee satisfaction.",
          "Streamline your shift planning process with integrated availability management."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2676",
      "sequence_index": 21,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2676.png",
      "basic_info": {
        "screen_name": "Calendar View Selection",
        "feature_area": "schichtplanung",
        "ui_elements": [
          "Agenda View selection",
          "Timeline View selection",
          "Filter section",
          "Sync private calendar toggle",
          "Restaurant Bachingen filter",
          "Veranstaltungshalle 4711 filter",
          "Close button"
        ],
        "functionality_visible": [
          "Select calendar view (Agenda or Timeline)",
          "Filter calendar events by location",
          "Sync private calendar"
        ],
        "navigation_paths": [
          "Tap X to close the view selection",
          "Select Agenda View",
          "Select Timeline View"
        ],
        "data_displayed": [
          "Calendar view options",
          "Filter options",
          "Location filters",
          "Sync private calendar setting"
        ],
        "user_actions": [
          "Tap to select Agenda View",
          "Tap to select Timeline View",
          "Toggle Sync private calendar",
          "Tap location filters",
          "Tap X to close"
        ],
        "visible_text_labels": [
          "Home",
          "Calendar",
          "Select A View",
          "Agenda View",
          "Timeline View",
          "Filter",
          "Sync private calendar",
          "Restaurant Bachingen",
          "Veranstaltungshalle 4711",
          "Felix",
          "Wed",
          "12:00",
          "13:00",
          "14:00",
          "15:00"
        ],
        "one_line_description": "This screen allows the user to select the calendar view (Agenda or Timeline) and filter events by location.",
        "screenshot_id": "IMG_2676",
        "sequence_index": 21,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2676.png"
      },
      "deep_understanding": {
        "screen_context": "The user sees this screen after tapping on a button or icon related to calendar settings or view options within the shift calendar screen. It allows the user to customize how the calendar is displayed and what information is shown.",
        "user_goal": "The user wants to customize the calendar view to display the information that is most relevant to them and in a format that is easy to understand. They may also want to filter the calendar to only show specific types of events or locations.",
        "business_value": "This screen allows users to personalize their calendar view, making it easier to manage their schedules and stay informed about relevant events. This increases user satisfaction and efficiency, leading to better workforce management.",
        "state_information": {
          "data_shown": "The screen displays options for selecting the calendar view (Agenda View or Timeline View), a filter section to sync private calendars, and filters for specific locations (Restaurant Bachingen, Veranstaltungshalle 4711). The number of shifts/events for each location is also displayed (3/3).",
          "editable_fields": "The user can select between Agenda View and Timeline View, toggle the Sync private calendar option, and enable/disable the location filters.",
          "read_only_fields": "The names of the locations (Restaurant Bachingen, Veranstaltungshalle 4711) and the number of shifts/events for each location (3/3) are read-only.",
          "current_state": "The current state shows that Timeline View is selected, private calendar sync is disabled, and both Restaurant Bachingen and Veranstaltungshalle 4711 are selected as filters."
        },
        "interactions": [
          {
            "action": "Tap on the 'Agenda View' radio button.",
            "outcome": "The calendar view switches to Agenda View.",
            "next_state": "The Agenda View is selected, and the Timeline View is deselected.",
            "error_possibilities": "None."
          },
          {
            "action": "Tap on the 'Timeline View' radio button.",
            "outcome": "The calendar view switches to Timeline View.",
            "next_state": "The Timeline View is selected, and the Agenda View is deselected.",
            "error_possibilities": "None."
          },
          {
            "action": "Toggle the 'Sync private calendar' switch.",
            "outcome": "The app attempts to sync the user's private calendar with the work calendar.",
            "next_state": "The 'Sync private calendar' setting is either enabled or disabled.",
            "error_possibilities": "The sync may fail due to network connectivity issues or permission problems."
          },
          {
            "action": "Tap on the 'Restaurant Bachingen' filter.",
            "outcome": "The filter for 'Restaurant Bachingen' is toggled on or off.",
            "next_state": "The calendar displays or hides events related to 'Restaurant Bachingen'.",
            "error_possibilities": "None."
          },
          {
            "action": "Tap on the 'Veranstaltungshalle 4711' filter.",
            "outcome": "The filter for 'Veranstaltungshalle 4711' is toggled on or off.",
            "next_state": "The calendar displays or hides events related to 'Veranstaltungshalle 4711'.",
            "error_possibilities": "None."
          },
          {
            "action": "Tap the 'X' button in the top right corner.",
            "outcome": "The 'Select A View' screen closes.",
            "next_state": "Returns to the previous screen (Shift Calendar).",
            "error_possibilities": "None."
          }
        ],
        "edge_cases": [
          "The user may have no private calendar connected.",
          "The user may have no events scheduled for a particular location.",
          "The user may have a large number of events, making the calendar difficult to navigate.",
          "The user may have different roles with different permissions, affecting which locations or events they can see.",
          "The user may have poor network connectivity, affecting the ability to sync private calendars or load event data."
        ],
        "benefits": "The user benefits from this screen by being able to customize their calendar view to suit their individual needs and preferences. This makes it easier to manage their schedules, stay informed about relevant events, and avoid confusion.",
        "mental_model": "This screen supports the mental model of a customizable calendar where the user can control the display of information and filter events based on various criteria. The user understands that they can personalize the calendar to make it more useful and efficient for their work."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "Shift calendar",
            "trigger": "Selecting a view (Agenda or Timeline) and closing the modal",
            "data_passed": "Selected calendar view (Agenda or Timeline), filter settings (Sync private calendar, Restaurant Bachingen, Veranstaltungshalle 4711)",
            "purpose": "To update the shift calendar with the selected view and filter settings."
          }
        ],
        "depends_on": [
          {
            "screen_type": "Shift calendar",
            "required_data": "Current date, list of shifts, calendar filter settings",
            "purpose": "To display the current calendar view and filter settings."
          }
        ],
        "data_flow": "This screen receives the current calendar view and filter settings from the shift calendar screen. The user can then select a different calendar view (Agenda or Timeline) and modify the filter settings. The selected view and filter settings are then passed back to the shift calendar screen.",
        "navigation_patterns": [
          {
            "pattern_type": "modal",
            "description": "This screen is presented as a modal overlay on top of the shift calendar screen. The user can close the modal by tapping the 'X' button or by selecting a view and closing the modal, which returns them to the shift calendar screen with the updated view."
          }
        ],
        "feature_dependencies": [
          "schichtplanung",
          "calendar filtering",
          "calendar view selection"
        ],
        "alternative_paths": [
          {
            "description": "Users can achieve a similar goal by using the filter icon on the main calendar view to filter events."
          }
        ]
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "Change Calendar View",
            "goal": "Change the calendar view to agenda or timeline view.",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Shift Calendar",
                "action": "Tap on the calendar view selection button (filter icon)",
                "outcome": "The 'Select A View' modal appears."
              },
              {
                "step_number": 2,
                "screen_type": "Calendar View Selection",
                "action": "Select either 'Agenda View' or 'Timeline View'",
                "outcome": "The calendar view changes to the selected view."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          },
          {
            "journey_name": "Filter Calendar Events",
            "goal": "Filter calendar events based on location.",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Shift Calendar",
                "action": "Tap on the calendar view selection button (filter icon)",
                "outcome": "The 'Select A View' modal appears."
              },
              {
                "step_number": 2,
                "screen_type": "Calendar View Selection",
                "action": "Toggle the switches for 'Restaurant Bachingen' and 'Veranstaltungshalle 4711' to filter events.",
                "outcome": "The calendar displays events only for the selected locations."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [
            "Easily switch between different calendar views (Agenda and Timeline) to find the most convenient way to view their shifts and appointments.",
            "Filter the calendar to only show shifts and appointments for specific locations (e.g., Restaurant Bachingen, Veranstaltungshalle 4711), reducing clutter and focusing on relevant information.",
            "Option to sync personal calendar events, providing a unified view of work and personal commitments."
          ],
          "manager": [
            "Quickly switch between calendar views to get an overview of employee schedules and resource allocation.",
            "Filter the calendar to view schedules for specific locations, simplifying management of multiple venues.",
            "Ensure complete visibility of employee availability by allowing them to sync personal calendars, preventing scheduling conflicts."
          ],
          "hr_admin": [
            "Customize calendar views and filters to efficiently manage employee schedules across different locations.",
            "Gain a comprehensive view of employee availability by enabling personal calendar sync, improving workforce planning.",
            "Streamline scheduling processes by providing employees with flexible calendar options."
          ],
          "general": [
            "Personalize calendar view to suit individual preferences.",
            "Reduce information overload by filtering specific locations.",
            "Improve time management by integrating personal and work schedules."
          ]
        },
        "business_value": {
          "problem_solved": "Difficulty in viewing and managing employee schedules effectively due to cluttered calendar views and lack of filtering options.",
          "value_proposition": "Provides flexible calendar views and filtering options to streamline schedule management and improve employee visibility.",
          "differentiators": "Offers both Agenda and Timeline views, location-based filtering, and personal calendar sync for a comprehensive scheduling solution.",
          "impact": "Improved scheduling efficiency, reduced scheduling conflicts, enhanced employee visibility, and better resource allocation."
        },
        "use_cases": [
          {
            "scenario": "An employee wants to see all their shifts for the week in a list format.",
            "user_type": "employee",
            "benefit": "The employee can select the 'Agenda View' to see a chronological list of their shifts."
          },
          {
            "scenario": "A manager needs to see the schedule for a specific restaurant location.",
            "user_type": "manager",
            "benefit": "The manager can filter the calendar to only show shifts for 'Restaurant Bachingen', simplifying the view."
          },
          {
            "scenario": "An employee wants to avoid scheduling conflicts between work and personal appointments.",
            "user_type": "employee",
            "benefit": "The employee can sync their personal calendar to see all appointments in one place."
          },
          {
            "scenario": "HR needs to get a quick overview of the schedule for all employees at a specific venue.",
            "user_type": "hr_admin",
            "benefit": "HR can use the timeline view and filter by venue to see all shifts at that location."
          }
        ],
        "value_statements": [
          "Customize your calendar view for optimal schedule management.",
          "Filter by location to focus on relevant shifts and appointments.",
          "Sync your personal calendar for a unified view of your commitments.",
          "Streamline scheduling with flexible calendar options."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2677",
      "sequence_index": 22,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2677.png",
      "basic_info": {
        "screen_name": "Shift calendar",
        "feature_area": "schichtplanung",
        "ui_elements": [
          "Calendar date selection",
          "Available/Authorized filter buttons",
          "List of shifts",
          "Add shift button",
          "Filter shifts button"
        ],
        "functionality_visible": [
          "View daily shifts",
          "Filter shifts by availability",
          "Add new shift",
          "Filter shifts"
        ],
        "navigation_paths": [
          "Tap date to view shifts",
          "Tap shift for details",
          "Tap + to add shift",
          "Tap filter icon to filter shifts"
        ],
        "data_displayed": [
          "Date",
          "Employee name",
          "Shift type",
          "Shift times",
          "Location"
        ],
        "user_actions": [
          "Tap",
          "Scroll"
        ],
        "visible_text_labels": [
          "Available",
          "Authorized",
          "Vorbereitung",
          "Hauptgeschäft",
          "Frühschicht",
          "Spätschicht",
          "Küche, Restaurant Bachingen",
          "Bar, Restaurant Bachingen",
          "Mon",
          "Tue",
          "Wed",
          "Thu",
          "Fri",
          "Sat",
          "Sun"
        ],
        "one_line_description": "This screen displays the shift schedule for a specific day, allowing users to view, filter, and add shifts.",
        "screenshot_id": "IMG_2677",
        "sequence_index": 22,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2677.png"
      },
      "deep_understanding": {
        "screen_context": "The user sees this screen after selecting a specific date (in this case, Wednesday, January 21, 2026) on the shift calendar. This screen displays the shifts scheduled for that day.",
        "user_goal": "The user wants to view the scheduled shifts for a specific day, understand who is working, what their roles are, and the timings of their shifts. They might also want to see their own availability status for that day.",
        "business_value": "This screen allows employees to view their work schedule, ensuring adequate staffing levels and efficient resource allocation. It reduces confusion and improves communication regarding shift assignments.",
        "state_information": {
          "data_shown": "The screen displays the date (Wednesday, 21), availability status (Available, Authorized), and a list of scheduled shifts for that day. Each shift includes the employee's name, role (e.g., Vorbereitung, Hauptgeschäft, Frühschicht, Spätschicht), time, and location (e.g., Küche, Restaurant Bachingen, Bar).",
          "editable_fields": "The user can likely change their availability status (Available/Authorized) for the selected day.",
          "read_only_fields": "The employee names, shift times, roles, and locations are likely read-only on this screen.",
          "current_state": "The current state shows the shifts scheduled for Wednesday, January 21, 2026. The user's availability is also displayed."
        },
        "interactions": [
          {
            "action": "Tap on the 'Available' or 'Authorized' button",
            "outcome": "The user's availability status for that day is updated.",
            "next_state": "The screen refreshes to reflect the updated availability status.",
            "error_possibilities": "The update might fail due to network connectivity issues or server errors. The user might not have permission to change their availability."
          },
          {
            "action": "Tap the '+' button",
            "outcome": "The user is taken to a screen to add a new shift or request a change to the schedule.",
            "next_state": "A screen for adding a new shift or requesting a change is displayed.",
            "error_possibilities": "The user might not have the necessary permissions to add a new shift."
          },
          {
            "action": "Tap the filter button (three horizontal lines)",
            "outcome": "The user is presented with options to filter the displayed shifts (e.g., by location, role, or employee).",
            "next_state": "A filter options screen is displayed.",
            "error_possibilities": "No shifts might match the selected filter criteria."
          }
        ],
        "edge_cases": "Different user roles (e.g., manager vs. employee) might have different permissions and see different information. Some shifts might be unassigned or have conflicting schedules. The user might not have any shifts scheduled for that day. There might be errors loading the shift data from the server.",
        "benefits": "The screen provides a clear and concise overview of the daily schedule, allowing employees to easily understand their work assignments. It improves transparency and reduces scheduling conflicts. The ability to set availability helps with workforce planning.",
        "mental_model": "The screen reinforces the mental model of a calendar-based scheduling system where each day displays the assigned shifts and employee availability. Users understand that they can view and potentially modify their availability for a given day."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "Available",
            "trigger": "Tap on the 'Available' button",
            "data_passed": "Date (Wed 21), User ID",
            "purpose": "To mark the user as available for shifts on the selected date."
          },
          {
            "screen_type": "Authorized",
            "trigger": "Tap on the 'Authorized' button",
            "data_passed": "Date (Wed 21), User ID",
            "purpose": "To mark the user as authorized for shifts on the selected date."
          },
          {
            "screen_type": "Add Shift",
            "trigger": "Tap on the '+' button",
            "data_passed": "Date (Wed 21)",
            "purpose": "To create a new shift on the selected date."
          },
          {
            "screen_type": "Filter Shifts",
            "trigger": "Tap on the filter button",
            "data_passed": "None",
            "purpose": "To filter the shifts displayed on the calendar."
          }
        ],
        "depends_on": [
          {
            "screen_type": "Calendar View Selection",
            "required_data": "Selected date (e.g., January 21, 2026)",
            "purpose": "To display the shifts for the selected date."
          }
        ],
        "data_flow": "Incoming: Selected date from the calendar view. Outgoing: User availability/authorization status, new shift creation requests, shift filter requests.",
        "navigation_patterns": [
          {
            "pattern_type": "branching",
            "description": "From the shift calendar, the user can navigate to mark themselves as available/authorized, add a new shift, or filter the shifts displayed."
          },
          {
            "pattern_type": "back",
            "description": "The user can navigate back to the calendar view selection screen."
          }
        ],
        "feature_dependencies": [
          "user authentication",
          "shift management",
          "availability management",
          "authorization management"
        ],
        "alternative_paths": [
          {
            "description": "Users might reach this screen by navigating from a different part of the app that also displays a calendar, such as a team schedule or personal schedule."
          }
        ]
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "View Shift Calendar",
            "goal": "See the scheduled shifts for a specific day",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Shift calendar",
                "action": "Select a day (e.g., Wed 21)",
                "outcome": "The app displays the shifts scheduled for that day."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          },
          {
            "journey_name": "View Shift Details",
            "goal": "See the details of a specific shift",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Shift calendar",
                "action": "Select a day (e.g., Wed 21)",
                "outcome": "The app displays the shifts scheduled for that day."
              },
              {
                "step_number": 2,
                "screen_type": "Shift calendar",
                "action": "Tap on a shift (e.g., Jonas Ludwig)",
                "outcome": "The app navigates to the Shift Details screen."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          },
          {
            "journey_name": "Request a shift change",
            "goal": "Request a change to a scheduled shift",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Shift calendar",
                "action": "Select a day (e.g., Wed 21)",
                "outcome": "The app displays the shifts scheduled for that day."
              },
              {
                "step_number": 2,
                "screen_type": "Shift calendar",
                "action": "Tap on a shift (e.g., Jonas Ludwig)",
                "outcome": "The app navigates to the Shift Details screen."
              },
              {
                "step_number": 3,
                "screen_type": "Shift Details",
                "action": "Initiate a change request (e.g., tap a 'Request Change' button)",
                "outcome": "The app navigates to the Change Request screen."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": [
          {
            "variation_type": "different user role",
            "differences": "A manager might see options to approve/deny shift change requests directly from the shift calendar or shift details screen, while a regular employee would only see options to request changes."
          },
          {
            "variation_type": "different data state",
            "differences": "If there are no shifts scheduled for a particular day, the screen will display a message indicating that there are no shifts."
          }
        ]
      },
      "benefits": {
        "user_benefits": {
          "employee": [
            "View your assigned shifts for a specific day.",
            "See the start and end times of your shifts.",
            "Know the location of your shift (e.g., Küche, Restaurant Bachingen).",
            "Understand the type of shift you are assigned (e.g., Vorbereitung, Hauptgeschäft, Frühschicht, Spätschicht).",
            "See if you are marked as 'Available' or 'Authorized' for a shift."
          ],
          "manager": [
            "See all scheduled shifts for a specific day.",
            "Easily identify which employees are working and their shift details.",
            "Quickly view shift types and locations.",
            "Manage employee availability and authorization for shifts.",
            "Add new shifts or adjust existing ones."
          ],
          "hr_admin": [
            "Oversee shift scheduling across the organization.",
            "Ensure adequate staffing levels for each day and location.",
            "Track employee availability and authorization.",
            "Generate reports on shift coverage and labor costs."
          ],
          "general": [
            "Clear and organized view of daily shift schedules.",
            "Easy navigation and access to shift information.",
            "Improved communication and coordination among staff."
          ]
        },
        "business_value": {
          "problem_solved": "Inefficient shift scheduling and communication, leading to confusion, understaffing, or overstaffing.",
          "value_proposition": "Provides a centralized and transparent platform for managing and viewing shift schedules, ensuring efficient staffing and improved communication.",
          "differentiators": "Potentially integrates with other Ordio modules (e.g., time tracking, payroll) for seamless data flow. Mobile accessibility allows for on-the-go shift management.",
          "impact": "Reduces scheduling errors, improves employee satisfaction, optimizes labor costs, and enhances overall operational efficiency."
        },
        "use_cases": [
          {
            "scenario": "A restaurant manager needs to check who is scheduled to work on Wednesday, January 21st, to ensure adequate staffing for the dinner rush.",
            "user_type": "manager",
            "benefit": "Quickly view all scheduled employees and their shift details to ensure proper staffing levels."
          },
          {
            "scenario": "An employee wants to confirm their shift time and location for the upcoming Wednesday.",
            "user_type": "employee",
            "benefit": "Easily access their shift schedule to confirm the time and location of their assigned shift."
          },
          {
            "scenario": "An HR administrator needs to generate a report on shift coverage for the month of January.",
            "user_type": "hr_admin",
            "benefit": "Access detailed shift information for each day to generate accurate reports on staffing levels and labor costs."
          },
          {
            "scenario": "A manager needs to quickly find a replacement for a sick employee on a specific shift.",
            "user_type": "manager",
            "benefit": "The manager can quickly see who is available and authorized to work that shift."
          }
        ],
        "value_statements": [
          "Simplify shift scheduling and improve communication with Ordio's shift calendar.",
          "Ensure efficient staffing and reduce scheduling errors with a centralized shift management platform.",
          "Empower employees with easy access to their shift schedules on the go.",
          "Optimize labor costs and enhance operational efficiency with Ordio's comprehensive shift management solution."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2678",
      "sequence_index": 23,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2678.png",
      "basic_info": {
        "screen_name": "Shift details",
        "feature_area": "schichtplanung",
        "ui_elements": [
          "Card with shift details",
          "Summary button",
          "Change request button"
        ],
        "functionality_visible": [
          "View shift details",
          "Request changes to shift",
          "View shift summary"
        ],
        "navigation_paths": [
          "Tap Summary to view shift summary",
          "Tap Change request to request a change"
        ],
        "data_displayed": [
          "Employee name",
          "Shift time",
          "Location (Küche, Restaurant Bachingen)",
          "Date of shift (21.01.2026)"
        ],
        "user_actions": [
          "Tap Summary",
          "Tap Change request"
        ],
        "visible_text_labels": [
          "Felix Knoerzer",
          "11:24 - 11:24",
          "Küche, Restaurant Bachingen",
          "Summary",
          "Change request",
          "21.01.2026, 11:24 - 11:24"
        ],
        "one_line_description": "This screen displays the details of a specific shift, allowing the user to view a summary or request changes.",
        "screenshot_id": "IMG_2678",
        "sequence_index": 23,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2678.png"
      },
      "deep_understanding": {
        "screen_context": "This screen appears after the user has interacted with a shift in the shift calendar and is likely a pop-up or modal presenting details about that shift.",
        "user_goal": "The user wants to review the details of a specific shift, potentially including the assigned employee, time, and location. They may also want to request changes to the shift.",
        "business_value": "This screen allows employees to view their scheduled shifts and request changes, ensuring accurate scheduling and efficient workforce management. It also provides transparency and empowers employees to manage their schedules.",
        "state_information": {
          "data_shown": "The screen displays the name of the employee assigned to the shift (Felix Knoerzer), the time of the shift (11:24 - 11:24), and the location (Küche, Restaurant Bachingen).",
          "editable_fields": "It's unclear from the screenshot if any fields are directly editable. The 'Change request' option suggests that the user can initiate a change request.",
          "read_only_fields": "The employee name, shift time, and location are likely read-only, displaying the current shift details.",
          "current_state": "The screen is displaying the details of a specific shift, and the user is presented with options to view a summary or request a change."
        },
        "interactions": [
          {
            "action": "Tap 'Summary'",
            "outcome": "The screen will display a summary of the shift details, potentially including tasks, notes, or other relevant information.",
            "next_state": "Shift Summary Screen",
            "error_possibilities": "The summary data might fail to load due to network issues or data errors."
          },
          {
            "action": "Tap 'Change request'",
            "outcome": "The screen will navigate to a change request form or workflow, allowing the user to submit a request to modify the shift.",
            "next_state": "Change Request Screen",
            "error_possibilities": "The change request form might fail to load, or the user might not have the necessary permissions to request changes."
          }
        ],
        "edge_cases": [
          "The shift might be unassigned, resulting in a different display.",
          "The user might not have permission to view all shift details.",
          "The shift might be part of a recurring schedule, requiring different change request options.",
          "The location data might be incomplete or unavailable.",
          "The shift might have associated notes or tasks that are not displayed on this screen but are available in the summary.",
          "The user might be an administrator with different options available (e.g., directly editing the shift)."
        ],
        "benefits": "The screen provides a clear overview of shift details, allowing employees to quickly understand their responsibilities. The 'Change request' option empowers employees to manage their schedules and address any scheduling conflicts.",
        "mental_model": "The screen supports a mental model of shifts as discrete units of work with associated details like employee, time, and location. It also supports the idea that shifts can be modified through a change request process."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "Summary",
            "trigger": "Tap on 'Summary'",
            "data_passed": "Shift details (employee, time, location)",
            "purpose": "View a summary of the shift details"
          },
          {
            "screen_type": "Change request",
            "trigger": "Tap on 'Change request'",
            "data_passed": "Shift details (employee, time, location)",
            "purpose": "Initiate a change request for the shift"
          }
        ],
        "depends_on": [
          {
            "screen_type": "Shift calendar",
            "required_data": "Shift ID",
            "purpose": "To display the details of a specific shift selected from the calendar"
          }
        ],
        "data_flow": "The screen receives shift details (employee, time, location) from the shift calendar. It allows the user to view a summary or initiate a change request, potentially sending data back to the server for processing.",
        "navigation_patterns": [
          {
            "pattern_type": "branching",
            "description": "From the shift details screen, the user can navigate to either the summary screen or the change request screen."
          },
          {
            "pattern_type": "back",
            "description": "The user can navigate back to the shift calendar."
          }
        ],
        "feature_dependencies": [
          "schichtplanung",
          "absence management (potentially, if change request involves absence)"
        ],
        "alternative_paths": [
          "The user might be able to view shift details from a notification or a task list."
        ]
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "View Shift Details and Request Change",
            "goal": "View details of a specific shift and initiate a change request.",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Shift calendar",
                "action": "Taps on a shift in the calendar.",
                "outcome": "Navigates to the Shift Details screen."
              },
              {
                "step_number": 2,
                "screen_type": "Shift details",
                "action": "Taps on 'Change request'.",
                "outcome": "Navigates to the Change Request screen."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [],
          "manager": [],
          "hr_admin": [],
          "general": [
            "View shift details including employee assigned, time, and location.",
            "Access shift summary and change request options."
          ]
        },
        "business_value": {
          "problem_solved": "Provides a clear overview of shift assignments and allows for change requests.",
          "value_proposition": "Improved shift management and communication.",
          "differentiators": "Potentially integrated change request workflow.",
          "impact": "Reduces scheduling conflicts and improves employee satisfaction."
        },
        "use_cases": [
          {
            "scenario": "An employee wants to confirm their shift time and location.",
            "user_type": "employee",
            "benefit": "Quickly access shift details to ensure they are aware of their schedule."
          },
          {
            "scenario": "A manager needs to review the details of a specific shift.",
            "user_type": "manager",
            "benefit": "Easily view shift assignments and make necessary adjustments."
          },
          {
            "scenario": "An employee needs to request a change to their shift.",
            "user_type": "employee",
            "benefit": "Initiate a change request directly from the shift details screen."
          }
        ],
        "value_statements": [
          "Stay informed about your shifts with easy access to all the details.",
          "Manage your shifts effectively with clear summaries and change request options.",
          "Simplify shift scheduling and communication with our intuitive shift details view."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2679",
      "sequence_index": 24,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2679.png",
      "basic_info": {
        "screen_name": "Change Request",
        "feature_area": "zeiterfassung",
        "ui_elements": [
          "Change request form",
          "Date and time pickers",
          "Text input field",
          "Submit button"
        ],
        "functionality_visible": [
          "Request a change to work time",
          "Specify start and end times",
          "Provide justification for the change"
        ],
        "navigation_paths": [
          "Tap 'X' to close"
        ],
        "data_displayed": [
          "Employee name",
          "Restaurant name",
          "Date",
          "Shift times",
          "Gross working time",
          "Net working time"
        ],
        "user_actions": [
          "Select date",
          "Select time",
          "Enter text",
          "Submit change request"
        ],
        "visible_text_labels": [
          "Change request",
          "Felix Knoerzer",
          "Restaurant Bachingen",
          "21. Jan 2026",
          "11:24 - 11:24 Uhr",
          "Küche",
          "Arbeitszeit",
          "Start",
          "End",
          "Gross working time",
          "Net working time",
          "21.01.2026",
          "11:24",
          "Please provide a justification for the change request",
          "Submit change request"
        ],
        "one_line_description": "This screen allows an employee to request a change to their recorded work time, specifying the new start and end times and providing a justification for the change.",
        "screenshot_id": "IMG_2679",
        "sequence_index": 24,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2679.png"
      },
      "deep_understanding": {
        "screen_context": "The user sees this screen after requesting a change to a shift from the shift details screen. It allows the user to modify the shift's start and end times and provide a justification for the change.",
        "user_goal": "The user wants to request a change to their shift's start and/or end time and provide a reason for the requested change.",
        "business_value": "This screen allows employees to request changes to their shifts, ensuring accurate scheduling and addressing unforeseen circumstances. It streamlines the change request process and provides managers with the necessary information to make informed decisions.",
        "state_information": {
          "data_shown": "The screen displays the current shift details (employee name, location, date, time, and department), the shift's start and end times, and fields for gross and net working time. This information is relevant because it provides context for the change request.",
          "editable_fields": [
            "Start date",
            "Start time",
            "End date",
            "End time",
            "Justification for the change request"
          ],
          "read_only_fields": [
            "Employee name",
            "Location",
            "Date",
            "Department",
            "Gross working time",
            "Net working time"
          ],
          "current_state": "The screen is in a state where the user can modify the shift's start and end times and provide a justification for the change request. The gross and net working times are currently displayed as 00:00 min."
        },
        "interactions": [
          {
            "action": "Tap the '21.01.2026' button next to 'Start'",
            "outcome": "A date picker is displayed, allowing the user to select a new start date.",
            "next_state": "The date field is updated with the selected date.",
            "error_possibilities": "The date picker might not function correctly, or the selected date might be invalid (e.g., a past date if not allowed)."
          },
          {
            "action": "Tap the '11:24' button next to 'Start'",
            "outcome": "A time picker is displayed, allowing the user to select a new start time.",
            "next_state": "The time field is updated with the selected time.",
            "error_possibilities": "The time picker might not function correctly, or the selected time might be invalid (e.g., outside of allowed working hours)."
          },
          {
            "action": "Tap the '21.01.2026' button next to 'End'",
            "outcome": "A date picker is displayed, allowing the user to select a new end date.",
            "next_state": "The date field is updated with the selected date.",
            "error_possibilities": "The date picker might not function correctly, or the selected date might be invalid (e.g., a past date if not allowed)."
          },
          {
            "action": "Tap the '11:24' button next to 'End'",
            "outcome": "A time picker is displayed, allowing the user to select a new end time.",
            "next_state": "The time field is updated with the selected time.",
            "error_possibilities": "The time picker might not function correctly, or the selected time might be invalid (e.g., outside of allowed working hours)."
          },
          {
            "action": "Enter text in the 'Please provide a justification for the change request' field.",
            "outcome": "The entered text is stored as the justification for the change request.",
            "next_state": "The justification field contains the entered text.",
            "error_possibilities": "The text field might have a character limit, or special characters might not be allowed."
          },
          {
            "action": "Tap the 'Submit change request' button.",
            "outcome": "The change request is submitted to the manager for approval.",
            "next_state": "The screen closes, and the user is likely returned to the shift details screen or the calendar view.",
            "error_possibilities": "The change request might fail due to network connectivity issues, invalid data (e.g., end time before start time), or server errors. An error message should be displayed to the user."
          },
          {
            "action": "Tap the 'X' button in the top right corner.",
            "outcome": "The change request screen is closed.",
            "next_state": "The user is returned to the previous screen (shift details).",
            "error_possibilities": "None."
          }
        ],
        "edge_cases": [
          "The user might not be allowed to change the shift times if they are too close to the shift start time.",
          "The manager might have already approved the shift, preventing any further changes.",
          "The user might have insufficient permissions to request changes to certain types of shifts.",
          "The shift might be part of a larger schedule that requires specific constraints, limiting the allowed changes.",
          "The user might try to set an end time that is earlier than the start time, resulting in an error.",
          "The user might leave the justification field blank, which could be required or optional depending on the configuration."
        ],
        "benefits": "This screen empowers employees to manage their schedules and request necessary changes. It provides a clear and structured way to communicate shift change requests to managers, improving communication and transparency. It also reduces administrative overhead by automating the change request process.",
        "mental_model": "The screen supports a mental model of a form where the user can modify specific fields related to their shift and submit a request for approval. The user understands that the changes are not immediately applied but require manager approval."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "shift calendar",
            "trigger": "Submit change request",
            "data_passed": "Updated shift details (start time, end time, justification)",
            "purpose": "To reflect the requested changes in the shift calendar view"
          },
          {
            "screen_type": "confirmation",
            "trigger": "Submit change request",
            "data_passed": "Confirmation message indicating the change request has been submitted",
            "purpose": "To provide feedback to the user that their request has been successfully submitted"
          },
          {
            "screen_type": "error",
            "trigger": "Submit change request (if data is invalid or submission fails)",
            "data_passed": "Error message describing the reason for failure",
            "purpose": "To inform the user of any errors during submission and guide them to correct them"
          },
          {
            "screen_type": "shift details",
            "trigger": "Tap the 'X' button",
            "data_passed": "None",
            "purpose": "To return to the shift details screen without saving any changes"
          }
        ],
        "depends_on": [
          {
            "screen_type": "shift details",
            "required_data": "Shift start time, end time, date, and associated employee",
            "purpose": "To pre-populate the change request form with the existing shift details"
          }
        ],
        "data_flow": "The screen receives shift details (start, end, date, employee) from the shift details screen. The user can modify the start and end times and provide a justification. Upon submission, the updated shift details and justification are sent to the server for processing.",
        "navigation_patterns": [
          {
            "pattern_type": "modal",
            "description": "This screen appears as a modal overlay on top of the shift details screen."
          },
          {
            "pattern_type": "back",
            "description": "Tapping the 'X' button closes the modal and returns to the shift details screen."
          }
        ],
        "feature_dependencies": [
          "zeiterfassung",
          "shift management"
        ],
        "alternative_paths": [
          {
            "description": "Instead of submitting a change request, the user might cancel the request and leave the shift details unchanged.",
            "path": "Tap the 'X' button to close the modal without submitting."
          }
        ]
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "Request a change to a shift",
            "goal": "Request a change to the start or end time of a scheduled shift.",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Shift calendar",
                "action": "Taps on a specific day in the calendar.",
                "outcome": "Navigates to the Calendar Day View screen."
              },
              {
                "step_number": 2,
                "screen_type": "Calendar Day View",
                "action": "Taps on a specific shift.",
                "outcome": "Navigates to the Shift Details screen."
              },
              {
                "step_number": 3,
                "screen_type": "Shift Details",
                "action": "Taps on the 'Request Change' button.",
                "outcome": "Navigates to the Change Request screen."
              },
              {
                "step_number": 4,
                "screen_type": "Change Request",
                "action": "Modifies the start and/or end times of the shift.",
                "outcome": "The start and end times are updated."
              },
              {
                "step_number": 5,
                "screen_type": "Change Request",
                "action": "Provides a justification for the change request in the text area.",
                "outcome": "The justification is entered."
              },
              {
                "step_number": 6,
                "screen_type": "Change Request",
                "action": "Taps on the 'Submit change request' button.",
                "outcome": "The change request is submitted, and the user is navigated back to the Shift Details screen."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [
            "Easily request changes to your shift times if there are discrepancies or unforeseen circumstances.",
            "Provide a clear justification for the change request, ensuring transparency and facilitating approval.",
            "See a clear overview of your original shift details and the requested changes."
          ],
          "manager": [
            "Receive clear and justified change requests from employees, making it easier to assess and approve them.",
            "Maintain accurate records of employee working hours, even when changes are requested.",
            "Reduce manual paperwork and communication related to shift changes."
          ],
          "hr_admin": [
            "Ensure accurate payroll processing by tracking all shift changes and their justifications.",
            "Maintain a comprehensive audit trail of all shift modifications.",
            "Improve compliance with labor laws by documenting the reasons for shift changes."
          ],
          "general": [
            "Improved accuracy of time tracking.",
            "Streamlined shift change request process.",
            "Increased transparency and accountability."
          ]
        },
        "business_value": {
          "problem_solved": "Inaccurate time tracking due to unforeseen circumstances or scheduling errors, leading to incorrect payroll and potential compliance issues.",
          "value_proposition": "Provides a streamlined and transparent process for employees to request shift changes, ensuring accurate time tracking and facilitating efficient management approval.",
          "differentiators": "Integrated justification field ensures transparency and accountability. Clear overview of original shift details and requested changes.",
          "impact": "Reduced payroll errors, improved compliance, increased employee satisfaction, and streamlined administrative processes."
        },
        "use_cases": [
          {
            "scenario": "An employee realizes they need to leave work an hour early due to a family emergency.",
            "user_type": "employee",
            "benefit": "The employee can easily request a shift change, providing a clear explanation for the early departure."
          },
          {
            "scenario": "A manager needs to adjust an employee's shift due to unexpected staff shortages.",
            "user_type": "manager",
            "benefit": "The manager can easily adjust the shift and document the reason for the change, ensuring accurate time tracking."
          },
          {
            "scenario": "An employee forgot to clock in at the start of their shift.",
            "user_type": "employee",
            "benefit": "The employee can request a change to their start time, providing a justification for the missing clock-in."
          },
          {
            "scenario": "HR needs to audit shift changes to ensure compliance with labor laws.",
            "user_type": "hr_admin",
            "benefit": "HR can easily access a complete record of all shift changes and their justifications."
          }
        ],
        "value_statements": [
          "Request shift changes with ease and transparency.",
          "Ensure accurate time tracking with justified shift modifications.",
          "Streamline shift change approvals for efficient management.",
          "Maintain compliance with labor laws through documented shift changes."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2680",
      "sequence_index": 25,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2680.png",
      "basic_info": {
        "screen_name": "Shift Details",
        "feature_area": "schichtplanung",
        "ui_elements": [
          "Shift details card",
          "No options available message"
        ],
        "functionality_visible": [
          "View shift details",
          "See availability status"
        ],
        "navigation_paths": [],
        "data_displayed": [
          "Shift name (Frühschicht)",
          "Shift time (10:00 - 21:30)",
          "Location (Bar, Restaurant Bachingen)",
          "Date (21.01.2026)",
          "Availability status (No options available)"
        ],
        "user_actions": [],
        "visible_text_labels": [
          "Frühschicht",
          "10:00 - 21:30",
          "Bar, Restaurant Bachingen",
          "No options available",
          "21.01.2026, 10:00 - 21:30"
        ],
        "one_line_description": "This screen displays the details of a shift, including the time, location, and a message indicating that no options are available for this shift.",
        "screenshot_id": "IMG_2680",
        "sequence_index": 25,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2680.png"
      },
      "deep_understanding": {
        "screen_context": "This screen appears when the user is trying to view or select a specific shift type ('Frühschicht' - early shift) within the shift calendar or shift details view, but there are no available shifts of that type for the selected date.",
        "user_goal": "The user is trying to find and potentially select or view details of an 'Frühschicht' shift.",
        "business_value": "This screen informs the user about the unavailability of a specific shift type, preventing them from making incorrect assumptions or wasting time searching for something that doesn't exist. It also helps manage employee expectations regarding shift availability.",
        "state_information": {
          "data_shown": "The screen displays the shift type 'Frühschicht', the time range '10:00 - 21:30', the location 'Bar, Restaurant Bachingen', and a message 'No options available' along with the date '21.01.2026' and time range '10:00 - 21:30'. This information is relevant because it specifies the shift type and date for which no options are available.",
          "editable_fields": "There are no editable fields on this screen.",
          "read_only_fields": "All information displayed (shift type, time range, location, 'No options available' message, date and time range) is read-only.",
          "current_state": "The current state is that there are no 'Frühschicht' shifts available for the specified date (21.01.2026) at 'Bar, Restaurant Bachingen'."
        },
        "interactions": [
          {
            "action": "Tap outside the modal or on a 'close' button (not visible in the screenshot)",
            "outcome": "The modal disappears, and the user is returned to the previous screen (shift calendar or shift details).",
            "next_state": "Shift calendar or shift details view.",
            "error_possibilities": "None."
          }
        ],
        "edge_cases": [
          "The user might have filters applied that are restricting the available shifts.",
          "The user might be looking at a date in the past where shifts are not editable.",
          "The user might not have the necessary permissions to view or select certain shift types.",
          "The location 'Bar, Restaurant Bachingen' might not have any 'Frühschicht' shifts scheduled on that day."
        ],
        "benefits": "The screen provides clear and immediate feedback to the user that the requested shift type is not available, saving them time and frustration.",
        "mental_model": "The screen reinforces the mental model that the app displays available shifts based on the selected date, location, and shift type. It also communicates that not all shift types are always available."
      },
      "relationships": {
        "connects_to": [],
        "depends_on": [
          {
            "screen_type": "Shift Calendar",
            "required_data": "Selected date, employee shifts for that date",
            "purpose": "To display details of a selected shift from the calendar."
          }
        ],
        "data_flow": "Receives shift details (time, location, availability) from the shift calendar. Displays this information to the user. No data is sent out from this screen in the current state.",
        "navigation_patterns": [
          {
            "pattern_type": "back",
            "description": "User can navigate back to the shift calendar."
          }
        ],
        "feature_dependencies": [
          "schichtplanung"
        ],
        "alternative_paths": []
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "View Shift Details",
            "goal": "View the details of a selected shift",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Shift calendar",
                "action": "Tap on a shift in the calendar",
                "outcome": "Navigates to the Shift Details screen"
              },
              {
                "step_number": 2,
                "screen_type": "Shift Details",
                "action": "View shift details (time, location, availability)",
                "outcome": "User sees the shift details, including time, location, and availability information."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [
            "Quickly see if the desired shift type is available on a specific date.",
            "Avoid wasting time trying to select a shift that doesn't exist."
          ],
          "manager": [
            "Understand shift availability at a glance.",
            "Identify potential staffing gaps for specific shift types."
          ],
          "hr_admin": [
            "Monitor shift demand and adjust scheduling accordingly.",
            "Gain insights into shift preferences and staffing needs."
          ],
          "general": [
            "Clear and immediate feedback on shift availability.",
            "Improved user experience by preventing confusion and frustration."
          ]
        },
        "business_value": {
          "problem_solved": "Prevents users from attempting to select unavailable shifts, reducing frustration and improving scheduling efficiency.",
          "value_proposition": "Provides clear and immediate feedback on shift availability, streamlining the scheduling process.",
          "differentiators": "Proactive notification of unavailable shifts, preventing wasted effort and improving user satisfaction.",
          "impact": "Improved scheduling efficiency, reduced user frustration, and better resource allocation."
        },
        "use_cases": [
          {
            "scenario": "An employee wants to work an early shift ('Frühschicht') on January 21, 2026, but checks the app and sees that no early shifts are available on that date.",
            "user_type": "employee",
            "benefit": "The employee immediately knows that they cannot select an early shift on that date and can adjust their request accordingly, saving time and effort."
          },
          {
            "scenario": "A manager is planning the schedule for January 21, 2026, and notices that no early shifts are available. This prompts them to investigate why and potentially adjust the schedule to ensure adequate coverage.",
            "user_type": "manager",
            "benefit": "The manager is alerted to a potential staffing issue and can take proactive steps to address it, ensuring smooth operations."
          },
          {
            "scenario": "An HR administrator is reviewing shift data and notices a consistent lack of availability for early shifts. This prompts them to analyze employee preferences and adjust staffing levels to better meet demand.",
            "user_type": "hr_admin",
            "benefit": "The HR administrator gains valuable insights into shift demand and can make data-driven decisions to improve staffing efficiency and employee satisfaction."
          }
        ],
        "value_statements": [
          "Instantly know when your preferred shift isn't available.",
          "Avoid the frustration of trying to book a shift that doesn't exist.",
          "Streamline your scheduling process with clear shift availability information.",
          "Improve scheduling efficiency by proactively identifying unavailable shifts."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2681",
      "sequence_index": 26,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2681.png",
      "basic_info": {
        "screen_name": "Shift calendar",
        "feature_area": "schichtplanung",
        "ui_elements": [
          "Calendar date selection",
          "Available/Authorized filters",
          "List of shifts",
          "Add shift button",
          "Filter shifts button"
        ],
        "functionality_visible": [
          "View daily shifts",
          "Filter shifts by availability",
          "Add a new shift",
          "Filter shifts"
        ],
        "navigation_paths": [
          "Tap date to view shifts",
          "Tap shift for details"
        ],
        "data_displayed": [
          "Date",
          "Employee name",
          "Shift type",
          "Shift times",
          "Location"
        ],
        "user_actions": [
          "Tap date",
          "Tap shift",
          "Tap Available/Authorized",
          "Tap Add shift button",
          "Tap Filter shifts button"
        ],
        "visible_text_labels": [
          "Mon",
          "Tue",
          "Wed",
          "Thu",
          "Fri",
          "Sat",
          "Sun",
          "January 2026",
          "Available",
          "Authorized",
          "Vorbereitung",
          "Hauptgeschäft",
          "Frühschicht",
          "Spätschicht",
          "Küche, Restaurant Bachingen"
        ],
        "one_line_description": "This screen displays the shift schedule for a specific day, allowing users to view shifts, filter by availability, and add new shifts.",
        "screenshot_id": "IMG_2681",
        "sequence_index": 26,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2681.png"
      },
      "deep_understanding": {
        "screen_context": "The user is viewing the calendar to see the schedule for Wednesday, January 21, 2026. This screen appears when the user selects a specific date from the calendar view.",
        "user_goal": "The user wants to view the schedule for a specific day (January 21, 2026) to see who is working and what shifts are assigned.",
        "business_value": "This screen allows employees to view their schedules and the schedules of their colleagues, facilitating workforce management and coordination. It ensures that the right people are scheduled for the right tasks at the right time.",
        "state_information": {
          "data_shown": "The screen displays the schedule for Wednesday, January 21, 2026. It shows the names of employees scheduled to work, their assigned shifts (e.g., Vorbereitung, Hauptgeschäft, Frühschicht, Spätschicht), the times of their shifts, and the location (e.g., Küche, Restaurant Bachingen, Bar). It also shows 'Available' and 'Authorized' status options.",
          "editable_fields": "Potentially the 'Available' and 'Authorized' status options, though the context doesn't explicitly state the user can change these.",
          "read_only_fields": "Employee names, shift times, shift types, locations, and the date.",
          "current_state": "The current state is the schedule for January 21, 2026, showing the assigned shifts for various employees. Some employees have specific shifts assigned, while others may be marked as 'Available' or 'Authorized'."
        },
        "interactions": [
          {
            "action": "Tap on a different date in the calendar.",
            "outcome": "The screen will update to display the schedule for the selected date.",
            "next_state": "The screen will show the schedule for the newly selected date.",
            "error_possibilities": "If the data for the selected date is not available, an error message might be displayed."
          },
          {
            "action": "Tap the '+' button.",
            "outcome": "Likely adds a new shift or employee to the schedule.",
            "next_state": "A screen for adding a new shift or employee is displayed.",
            "error_possibilities": "Insufficient permissions, data validation errors (e.g., overlapping shifts)."
          },
          {
            "action": "Tap the filter button (three horizontal lines).",
            "outcome": "Opens a filter menu to filter the schedule by employee, shift type, or location.",
            "next_state": "A filter menu is displayed.",
            "error_possibilities": "None."
          },
          {
            "action": "Tap on 'Available' or 'Authorized'.",
            "outcome": "Changes the availability status of an employee for that day.",
            "next_state": "The employee's status is updated and reflected on the schedule.",
            "error_possibilities": "Insufficient permissions, data validation errors."
          }
        ],
        "edge_cases": [
          "No shifts are scheduled for a particular day.",
          "An employee is scheduled for multiple overlapping shifts.",
          "An employee is marked as 'Available' but is not assigned to any shift.",
          "The user does not have permission to view or modify the schedule.",
          "The data connection is lost, preventing the schedule from loading.",
          "Different user roles (e.g., manager vs. employee) have different levels of access and functionality.",
          "The schedule contains shifts that have already passed.",
          "The schedule contains shifts that are in the future.",
          "The schedule contains shifts with missing information (e.g., no location, no employee assigned)."
        ],
        "benefits": "The screen provides a clear and concise overview of the schedule for a specific day, allowing employees to easily see their work assignments and the assignments of their colleagues. It facilitates communication and coordination among team members and helps to ensure that the right people are scheduled for the right tasks.",
        "mental_model": "The screen supports a calendar-based mental model, where users can navigate to a specific date and view the corresponding schedule. It also supports a shift-based mental model, where users can see the details of each shift, including the employee assigned, the time, and the location."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "shift detail",
            "trigger": "Tapping on a shift (e.g., Jonas Ludwig's shift)",
            "data_passed": "Shift details (employee name, time, location, shift type)",
            "purpose": "To view the details of a specific shift"
          },
          {
            "screen_type": "add shift",
            "trigger": "Tapping the '+' button",
            "data_passed": "Date (Wed 21), potentially user preferences",
            "purpose": "To create a new shift for the selected date"
          },
          {
            "screen_type": "filter/sort",
            "trigger": "Tapping the filter/sort button",
            "data_passed": "None initially, but user selections will be passed back",
            "purpose": "To filter or sort the displayed shifts"
          }
        ],
        "depends_on": [
          {
            "screen_type": "Calendar View Selection",
            "required_data": "Selected date (e.g., January 21, 2026)",
            "purpose": "To display shifts for the selected date"
          }
        ],
        "data_flow": "The screen receives the selected date from the calendar view. It displays shift information fetched from a backend service based on the selected date. User interactions (e.g., adding a shift, filtering) trigger updates to the backend and refresh the displayed shift list.",
        "navigation_patterns": [
          {
            "pattern_type": "branching",
            "description": "From the calendar view, the user selects a date, leading to this screen. From here, the user can navigate to shift details, add a shift, or filter/sort the shifts."
          },
          {
            "pattern_type": "back",
            "description": "The user can navigate back to the calendar view by tapping the 'Home' button or using the system back button."
          }
        ],
        "feature_dependencies": [
          "schichtplanung",
          "user authentication",
          "data synchronization"
        ],
        "alternative_paths": [
          {
            "description": "Instead of selecting a date from the calendar, the user might be able to navigate to this screen from a dashboard or a list of employees.",
            "path": "Dashboard -> Employee List -> Shift Calendar (for selected employee)"
          }
        ]
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "View Shift Calendar",
            "goal": "See the schedule for the current week and day",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Shift calendar",
                "action": "Open the app and navigate to the calendar",
                "outcome": "The shift calendar is displayed, showing the current week and day's shifts."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          },
          {
            "journey_name": "Navigate to a specific day in the calendar",
            "goal": "View the schedule for a specific day",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Shift calendar",
                "action": "Tap on a specific day (e.g., Tue 20)",
                "outcome": "The calendar displays the shifts for the selected day."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          },
          {
            "journey_name": "Filter shifts",
            "goal": "Filter shifts based on availability or authorization",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Shift calendar",
                "action": "Tap on 'Available' or 'Authorized'",
                "outcome": "The calendar displays only the shifts that match the selected filter."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          },
          {
            "journey_name": "Add a new shift",
            "goal": "Add a new shift to the schedule",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Shift calendar",
                "action": "Tap on the '+' button",
                "outcome": "Navigates to the 'Add Shift' screen."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          },
          {
            "journey_name": "View calendar day view",
            "goal": "View the calendar in a day view",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Shift calendar",
                "action": "Tap on the filter button (three horizontal lines)",
                "outcome": "Navigates to the 'Calendar Day View' screen."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [
            "View your assigned shifts for a specific day.",
            "See the start and end times of your shifts.",
            "Know the location of your shifts (e.g., Küche, Restaurant Bachingen).",
            "See if you are authorized or available for a shift.",
            "Quickly understand your shift type (e.g., Vorbereitung, Hauptgeschäft, Frühschicht, Spätschicht)."
          ],
          "manager": [
            "View the entire team's schedule for a specific day.",
            "See who is assigned to which shifts.",
            "Ensure adequate staffing levels for each shift.",
            "Identify potential scheduling conflicts.",
            "Manage employee availability and authorization."
          ],
          "hr_admin": [
            "Oversee the entire organization's schedule.",
            "Ensure compliance with labor laws and regulations.",
            "Generate reports on employee scheduling.",
            "Manage employee availability and authorization.",
            "Identify staffing trends and patterns."
          ],
          "general": [
            "Clear and concise view of the daily schedule.",
            "Easy navigation through the calendar.",
            "Quick access to shift details.",
            "Improved communication and coordination among team members."
          ]
        },
        "business_value": {
          "problem_solved": "Inefficient shift scheduling and communication, leading to confusion, understaffing, and potential compliance issues.",
          "value_proposition": "Provides a centralized and transparent platform for managing employee shifts, ensuring optimal staffing levels, reducing scheduling conflicts, and improving communication.",
          "differentiators": "Clear visual representation of shifts, employee availability and authorization status, and integration with location information.",
          "impact": "Improved operational efficiency, reduced labor costs, enhanced employee satisfaction, and minimized compliance risks."
        },
        "use_cases": [
          {
            "scenario": "A restaurant employee wants to know their schedule for Wednesday, January 21, 2026.",
            "user_type": "employee",
            "benefit": "The employee can quickly view their assigned shifts, start and end times, and location for that day."
          },
          {
            "scenario": "A restaurant manager needs to ensure adequate staffing for the evening shift on Wednesday, January 21, 2026.",
            "user_type": "manager",
            "benefit": "The manager can easily see who is scheduled for the evening shift and identify any potential staffing gaps."
          },
          {
            "scenario": "An HR administrator needs to generate a report on employee scheduling for the month of January 2026.",
            "user_type": "hr_admin",
            "benefit": "The HR administrator can use the calendar view to quickly access and analyze scheduling data for the entire month."
          },
          {
            "scenario": "A manager needs to quickly find a replacement for an employee who called in sick for the 'Hauptgeschäft' shift.",
            "user_type": "manager",
            "benefit": "The manager can see who is available and authorized to work that shift on that day."
          }
        ],
        "value_statements": [
          "Stay informed about your shifts with a clear and concise daily schedule.",
          "Optimize staffing levels and reduce scheduling conflicts with our intuitive calendar view.",
          "Improve communication and coordination among your team with a centralized scheduling platform.",
          "Ensure compliance with labor laws and regulations with our comprehensive scheduling solution."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2682",
      "sequence_index": 27,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2682.png",
      "basic_info": {
        "screen_name": "Calendar Day View",
        "feature_area": "schichtplanung",
        "ui_elements": [
          "Calendar date selection",
          "Available button",
          "Reset button",
          "Appointment card",
          "Availability filter menu",
          "Zoom out button",
          "Filter button"
        ],
        "functionality_visible": [
          "View appointments for a specific day",
          "Set availability for the day",
          "Reset availability",
          "Filter availability"
        ],
        "navigation_paths": [],
        "data_displayed": [
          "Selected date",
          "Appointment details (name, time, location)",
          "Availability status options"
        ],
        "user_actions": [
          "Tap date to select",
          "Tap 'Available' to set availability",
          "Tap 'Reset' to reset availability",
          "Tap appointment to view details",
          "Tap availability filter options"
        ],
        "visible_text_labels": [
          "Home",
          "Calendar",
          "Mon",
          "Tue",
          "Wed",
          "Thu",
          "Fri",
          "Sat",
          "Sun",
          "January 2026",
          "Week 4",
          "Available",
          "Reset",
          "Wednesday, 21. January",
          "No Selection"
        ],
        "one_line_description": "This screen displays the calendar day view, allowing the user to view appointments, set availability, and filter by availability status for a specific day.",
        "screenshot_id": "IMG_2682",
        "sequence_index": 27,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2682.png"
      },
      "deep_understanding": {
        "screen_context": "The user is viewing the shift calendar and has tapped on a specific day (Wednesday, January 21st) to filter shifts based on availability.",
        "user_goal": "The user wants to filter the shifts displayed on the calendar for Wednesday, January 21st, based on their availability (Available, Partly Available, Not Available).",
        "business_value": "This screen allows employees to easily find shifts that match their availability, improving scheduling efficiency and reducing the likelihood of scheduling conflicts. It also allows the business to quickly identify available staff for specific shifts.",
        "state_information": {
          "data_shown": "The screen displays a calendar view, highlighting the selected date (January 21st). It also shows a filter menu with options for 'No Selection', 'Available', 'Partly Available', and 'Not Available'.",
          "editable_fields": [],
          "read_only_fields": [
            "Date (Wednesday, 21. January)",
            "Availability options (No Selection, Available, Partly Available, Not Available)"
          ],
          "current_state": "The filter is currently set to 'Available', as indicated by the checkmark next to the 'Available' option."
        },
        "interactions": [
          {
            "action": "Tap 'No Selection'",
            "outcome": "The checkmark next to 'Available' disappears, and a checkmark appears next to 'No Selection'. The filter is cleared, and all shifts for that day are displayed.",
            "next_state": "The filter is cleared, showing all shifts.",
            "error_possibilities": "None."
          },
          {
            "action": "Tap 'Partly Available'",
            "outcome": "The checkmark next to 'Available' disappears, and a checkmark appears next to 'Partly Available'. The calendar displays only shifts for which the user is partly available.",
            "next_state": "The calendar displays only partly available shifts.",
            "error_possibilities": "None."
          },
          {
            "action": "Tap 'Not Available'",
            "outcome": "The checkmark next to 'Available' disappears, and a checkmark appears next to 'Not Available'. The calendar displays only shifts for which the user is not available.",
            "next_state": "The calendar displays only unavailable shifts.",
            "error_possibilities": "None."
          },
          {
            "action": "Tap the '-' button",
            "outcome": "The filter menu closes.",
            "next_state": "The user returns to the shift calendar view with the selected filter applied.",
            "error_possibilities": "None."
          },
          {
            "action": "Tap the filter icon button",
            "outcome": "The filter menu remains open.",
            "next_state": "The filter menu remains open.",
            "error_possibilities": "None."
          }
        ],
        "edge_cases": [
          "The user has no shifts scheduled for the selected day.",
          "The user has shifts scheduled, but none match the selected availability filter.",
          "The user has shifts scheduled, and all of them match the selected availability filter.",
          "The user has different roles, and the availability filter applies differently to each role."
        ],
        "benefits": "The screen allows users to quickly find shifts that match their availability, making it easier to manage their work schedule. It also helps them avoid scheduling conflicts and ensures that they are only assigned to shifts that they are able to work.",
        "mental_model": "The screen supports a mental model of filtering shifts based on availability. Users understand that they can select an availability option to narrow down the list of shifts displayed on the calendar."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "Shift calendar",
            "trigger": "Selecting a different day in the calendar",
            "data_passed": "Selected date",
            "purpose": "To navigate to the day view for the selected date"
          },
          {
            "screen_type": "Shift details",
            "trigger": "Tapping on the Felix Knoerzer shift",
            "data_passed": "Shift details (employee, time, location)",
            "purpose": "To view the details of the selected shift"
          }
        ],
        "depends_on": [
          {
            "screen_type": "Shift calendar",
            "required_data": "Current date, shift data for the month",
            "purpose": "To display the calendar and highlight the selected day"
          }
        ],
        "data_flow": "This screen receives the selected date from the calendar view and displays shift information for that date. It can also send the selected shift to the shift details screen.",
        "navigation_patterns": [
          {
            "pattern_type": "branching",
            "description": "From the calendar day view, the user can navigate to the shift details screen by tapping on a shift or navigate to a different day by selecting it on the calendar."
          },
          {
            "pattern_type": "back",
            "description": "The user can return to the shift calendar by using the back navigation."
          }
        ],
        "feature_dependencies": [
          "schichtplanung",
          "calendar"
        ],
        "alternative_paths": [
          "Instead of tapping on a specific day, the user could navigate to the shift details screen from a list of shifts.",
          "The user could also access the shift details screen through a notification."
        ]
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "Set Availability for a Day",
            "goal": "Set availability status for a specific day in the calendar.",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Calendar Day View",
                "action": "Select a day (e.g., Wednesday, 21st January)",
                "outcome": "The selected day's details are displayed, including existing shifts and availability options."
              },
              {
                "step_number": 2,
                "screen_type": "Calendar Day View",
                "action": "Tap on 'Available' button",
                "outcome": "A modal appears with availability options: No Selection, Available, Partly Available, Not Available."
              },
              {
                "step_number": 3,
                "screen_type": "Calendar Day View",
                "action": "Select an availability option (e.g., Available)",
                "outcome": "The selected availability status is applied to the day."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [
            "Easily view and filter shifts based on availability (Available, Partly Available, Not Available) for a specific day.",
            "Quickly understand shift availability for better planning and coordination."
          ],
          "manager": [
            "Efficiently manage shift scheduling by filtering shifts based on employee availability.",
            "Quickly identify available employees for specific shifts on a given day.",
            "Improve shift coverage by easily finding employees who are available or partly available."
          ],
          "hr_admin": [
            "Streamline shift planning and scheduling processes.",
            "Ensure adequate staffing levels by effectively managing employee availability.",
            "Reduce scheduling conflicts and improve employee satisfaction."
          ],
          "general": [
            "Clear visual representation of shift availability for a specific day.",
            "Simplified shift management through filtering options.",
            "Improved communication and coordination regarding shift schedules."
          ]
        },
        "business_value": {
          "problem_solved": "Inefficient shift scheduling and difficulty in identifying available employees for specific shifts.",
          "value_proposition": "Provides a clear and efficient way to filter shifts based on employee availability, enabling better shift planning and management.",
          "differentiators": "Offers a simple and intuitive interface for filtering shifts based on availability status (Available, Partly Available, Not Available).",
          "impact": "Improved shift coverage, reduced scheduling conflicts, increased employee satisfaction, and streamlined shift management processes."
        },
        "use_cases": [
          {
            "scenario": "A manager needs to find an employee to cover a last-minute shift on Wednesday, January 21st.",
            "user_type": "manager",
            "benefit": "The manager can quickly filter the shifts to show only those where employees are marked as 'Available' or 'Partly Available', making it easier to find a suitable replacement."
          },
          {
            "scenario": "An employee wants to see which shifts are available on Wednesday, January 21st, to potentially pick up an extra shift.",
            "user_type": "employee",
            "benefit": "The employee can easily view the calendar and filter shifts to see only those marked as 'Available', allowing them to quickly identify opportunities for extra work."
          },
          {
            "scenario": "An HR administrator is planning the shift schedule for the week and needs to ensure adequate coverage on Wednesday, January 21st.",
            "user_type": "hr_admin",
            "benefit": "The HR administrator can use the filtering options to identify any gaps in coverage and proactively address them by contacting available employees or adjusting the schedule."
          }
        ],
        "value_statements": [
          "Effortlessly manage shift scheduling by filtering shifts based on employee availability.",
          "Quickly identify available employees for specific shifts with intuitive filtering options.",
          "Improve shift coverage and reduce scheduling conflicts with streamlined shift management.",
          "Simplify shift planning and scheduling processes with clear visual representation of availability."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2683",
      "sequence_index": 28,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2683.png",
      "basic_info": {
        "screen_name": "Availability Editor",
        "feature_area": "schichtplanung",
        "ui_elements": [
          "Calendar grid",
          "Available button",
          "Reset button",
          "Availability details card",
          "Time picker",
          "Save button"
        ],
        "functionality_visible": [
          "Set availability for a specific day",
          "Reset availability",
          "Select start and end times for availability"
        ],
        "navigation_paths": [
          "Tap a day to edit availability",
          "Tap Save to confirm changes"
        ],
        "data_displayed": [
          "Calendar dates",
          "Selected date",
          "Availability status",
          "Start and end times for availability",
          "Employee name",
          "Location"
        ],
        "user_actions": [
          "Tap",
          "Select date",
          "Select time",
          "Save"
        ],
        "visible_text_labels": [
          "Home",
          "Calendar",
          "Mon",
          "Tue",
          "Wed",
          "Thu",
          "Fri",
          "Sat",
          "Sun",
          "January 2026",
          "Available",
          "Reset",
          "Felix Knoerzer",
          "From",
          "To",
          "Save"
        ],
        "one_line_description": "This screen allows the user to set their availability for a specific day, including start and end times.",
        "screenshot_id": "IMG_2683",
        "sequence_index": 28,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2683.png"
      },
      "deep_understanding": {
        "screen_context": "The user sees this screen after selecting a day on the calendar and choosing to set their availability. It appears as a modal or pop-up on top of the calendar day view.",
        "user_goal": "The user wants to define their availability for a specific day by setting a 'from' and 'to' time.",
        "business_value": "This screen allows employees to communicate their availability to the business, enabling efficient shift scheduling and resource allocation. It helps avoid scheduling conflicts and ensures adequate staffing levels.",
        "state_information": {
          "data_shown": "The screen displays the date for which the availability is being set (Wednesday, 21. January), and 'From' and 'To' time selection fields.",
          "editable_fields": "The 'From' and 'To' times can be edited.",
          "read_only_fields": "The date (Wednesday, 21. January) is likely read-only, as it was selected on the previous screen.",
          "current_state": "The user is in the process of defining their availability for Wednesday, January 21st, 2026, and has set the 'From' time to 9:00 AM and the 'To' time to 5:00 PM."
        },
        "interactions": [
          {
            "action": "Tap the 'From' time (9:00 AM)",
            "outcome": "A time picker is displayed, allowing the user to select a different start time.",
            "next_state": "Time picker modal is displayed.",
            "error_possibilities": "The time picker might not load correctly, or the user might accidentally select the wrong time."
          },
          {
            "action": "Tap the 'To' time (5:00 PM)",
            "outcome": "A time picker is displayed, allowing the user to select a different end time.",
            "next_state": "Time picker modal is displayed.",
            "error_possibilities": "The time picker might not load correctly, or the user might accidentally select the wrong time."
          },
          {
            "action": "Tap the 'Save' button",
            "outcome": "The selected availability is saved for the specified date.",
            "next_state": "The screen closes, and the user is returned to the calendar day view, with the updated availability reflected.",
            "error_possibilities": "The save operation might fail due to network connectivity issues or data validation errors (e.g., 'To' time is earlier than 'From' time). An error message would be displayed."
          }
        ],
        "edge_cases": [
          "The user might try to set an availability range that overlaps with an existing shift.",
          "The user might have permission restrictions that prevent them from setting availability for certain days or times.",
          "The user might try to set an invalid time range (e.g., 'To' time before 'From' time).",
          "The user might have different roles with different availability setting permissions.",
          "The user might not have any shifts scheduled for that day."
        ],
        "benefits": "This screen provides a simple and intuitive way for employees to manage their availability, improving communication and coordination within the workforce. It reduces the likelihood of scheduling conflicts and ensures that employees are only scheduled for shifts they are available to work.",
        "mental_model": "The screen supports a mental model of setting availability as a time range within a specific day. The 'From' and 'To' fields clearly represent the start and end times of the availability period. The 'Save' button reinforces the idea that the changes need to be explicitly saved."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "Calendar Day View",
            "trigger": "Saving the availability settings",
            "data_passed": "Updated availability data (start and end times) for the selected day",
            "purpose": "To reflect the changes made to the availability on the calendar day view"
          }
        ],
        "depends_on": [
          {
            "screen_type": "Calendar Day View",
            "required_data": "Selected date (day) for which to edit availability",
            "purpose": "To know which day's availability to edit"
          }
        ],
        "data_flow": "Incoming: Selected date from the calendar day view. Outgoing: Updated availability data (start and end times) to the calendar day view.",
        "navigation_patterns": [
          {
            "pattern_type": "modal",
            "description": "The availability editor appears as a modal overlay on top of the calendar day view. After saving, the modal closes and returns to the calendar day view."
          }
        ],
        "feature_dependencies": [
          "schichtplanung",
          "calendar"
        ],
        "alternative_paths": [
          "User might not edit availability and simply close the modal, returning to the calendar day view with no changes.",
          "User might reset the availability to default settings."
        ]
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "Set Availability for a Day",
            "goal": "Set availability for a specific day in the calendar.",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Shift calendar",
                "action": "Select a day (e.g., Wednesday, 21)",
                "outcome": "Navigates to the Calendar Day View screen."
              },
              {
                "step_number": 2,
                "screen_type": "Calendar Day View",
                "action": "Tap 'Available'",
                "outcome": "Navigates to the Availability Editor screen."
              },
              {
                "step_number": 3,
                "screen_type": "Availability Editor",
                "action": "Set 'From' time to 9:00 AM",
                "outcome": "Sets the start time for availability."
              },
              {
                "step_number": 4,
                "screen_type": "Availability Editor",
                "action": "Set 'To' time to 5:00 PM",
                "outcome": "Sets the end time for availability."
              },
              {
                "step_number": 5,
                "screen_type": "Availability Editor",
                "action": "Tap 'Save'",
                "outcome": "Saves the availability settings and returns to the Calendar Day View screen."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [
            "Easily set your availability for work.",
            "Specify the exact hours you are available on a given day.",
            "Avoid being scheduled when you are unavailable.",
            "Manage your work-life balance by controlling your availability."
          ],
          "manager": [
            "Ensure adequate staffing levels by knowing employee availability.",
            "Simplify scheduling by having clear availability information.",
            "Reduce scheduling conflicts by considering employee preferences.",
            "Improve employee satisfaction by respecting their availability."
          ],
          "hr_admin": [],
          "general": [
            "Clear and intuitive interface for setting availability.",
            "Visual calendar for easy date selection.",
            "Ability to set availability for specific days and times."
          ]
        },
        "business_value": {
          "problem_solved": "Difficulty in managing and communicating employee availability, leading to scheduling conflicts and understaffing.",
          "value_proposition": "Provides a simple and efficient way for employees to set their availability, ensuring accurate scheduling and optimized staffing.",
          "differentiators": "Integrated calendar view, easy time selection, and clear visual representation of availability.",
          "impact": "Reduces scheduling errors, improves employee satisfaction, and optimizes staffing levels, leading to increased productivity and reduced costs."
        },
        "use_cases": [
          {
            "scenario": "A restaurant employee needs to update their availability due to a change in their school schedule.",
            "user_type": "employee",
            "benefit": "The employee can easily update their availability, ensuring they are not scheduled during school hours."
          },
          {
            "scenario": "A manager needs to create a schedule for the week and wants to see which employees are available on Wednesday.",
            "user_type": "manager",
            "benefit": "The manager can quickly view the availability of all employees and create a schedule that meets the needs of the business while respecting employee preferences."
          },
          {
            "scenario": "An employee wants to set their availability for the next month, indicating they are only available on weekends.",
            "user_type": "employee",
            "benefit": "The employee can set their availability in advance, ensuring they are only scheduled on weekends."
          }
        ],
        "value_statements": [
          "Effortlessly manage your availability with our intuitive calendar interface.",
          "Ensure accurate scheduling and avoid conflicts by setting your availability in advance.",
          "Optimize staffing levels and improve employee satisfaction with clear availability information.",
          "Take control of your work-life balance by managing your availability."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2684",
      "sequence_index": 29,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2684.png",
      "basic_info": {
        "screen_name": "Record Working Hours",
        "feature_area": "zeiterfassung",
        "ui_elements": [
          "Dropdown for location",
          "Dropdown for department",
          "Start button"
        ],
        "functionality_visible": [
          "Select location",
          "Select department",
          "Start recording working hours"
        ],
        "navigation_paths": [],
        "data_displayed": [],
        "user_actions": [
          "Tap",
          "Select from dropdown"
        ],
        "visible_text_labels": [
          "Ordio Unternehmensgruppe",
          "Record working hours",
          "In which location do you want to record your working time?",
          "LOCATION",
          "DEPARTMENT",
          "START"
        ],
        "one_line_description": "This screen allows the user to select the location and department before starting to record their working hours.",
        "screenshot_id": "IMG_2684",
        "sequence_index": 29,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2684.png"
      },
      "deep_understanding": {
        "screen_context": "The user is attempting to record their working hours. This screen appears when the user initiates the process of recording their work time, likely after selecting an option to 'Record Working Hours' or similar from a main menu or dashboard.",
        "user_goal": "The user wants to accurately record the start of their working hours for a specific location and department.",
        "business_value": "This screen enables accurate tracking of employee work hours, which is essential for payroll, compliance, and resource management. It ensures employees are paid correctly and that the company adheres to labor laws.",
        "state_information": {
          "data_shown": "The screen displays dropdown menus for selecting the location and department. This is relevant because the user needs to specify where they are working and which department they are working for.",
          "editable_fields": [
            "Location (dropdown)",
            "Department (dropdown)"
          ],
          "read_only_fields": [
            "Title: Record working hours",
            "Text: In which location do you want to record your working time?"
          ],
          "current_state": "The screen is in an initial state, awaiting user input for location and department before starting the time recording."
        },
        "interactions": [
          {
            "action": "Select a location from the 'LOCATION' dropdown menu.",
            "outcome": "The selected location is displayed in the dropdown menu.",
            "next_state": "The 'LOCATION' dropdown menu displays the selected location.",
            "error_possibilities": "The location list might be empty or not contain the correct location. The user might not have permission to select a specific location."
          },
          {
            "action": "Select a department from the 'DEPARTMENT' dropdown menu.",
            "outcome": "The selected department is displayed in the dropdown menu.",
            "next_state": "The 'DEPARTMENT' dropdown menu displays the selected department.",
            "error_possibilities": "The department list might be empty or not contain the correct department. The user might not have permission to select a specific department."
          },
          {
            "action": "Tap the 'START' button.",
            "outcome": "The system begins recording the user's working time.",
            "next_state": "The app transitions to a screen indicating that the working time is being recorded, possibly with options to pause or stop the recording.",
            "error_possibilities": "If the location or department is not selected, an error message might appear. There might be network connectivity issues preventing the start of the time recording. The user might not have permission to record working hours."
          },
          {
            "action": "Tap the 'X' button.",
            "outcome": "The screen closes.",
            "next_state": "The app returns to the previous screen (e.g., the main menu or dashboard).",
            "error_possibilities": "None."
          }
        ],
        "edge_cases": [
          "The user might be working in a location or department that is not listed.",
          "The user might have multiple roles and need to select the appropriate role before recording time.",
          "The user might be starting work outside of their scheduled shift.",
          "The user's location might not be detectable by the app.",
          "The user might have already started recording time and needs to stop it first."
        ],
        "benefits": "The screen provides a simple and straightforward way for employees to record their working hours, ensuring accurate time tracking and payroll. It reduces the risk of errors associated with manual timekeeping methods.",
        "mental_model": "The screen supports a mental model of a time clock where the user needs to specify their location and department before starting the clock. It reinforces the idea that time is tracked based on specific work contexts."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "zeiterfassung",
            "trigger": "Tap on 'START' button",
            "data_passed": "{location, department}",
            "purpose": "To start recording working hours for the selected location and department."
          }
        ],
        "depends_on": [
          {
            "screen_type": "Shift calendar",
            "required_data": "User authentication, shift schedule",
            "purpose": "To ensure the user is logged in and has a valid shift to record time against."
          }
        ],
        "data_flow": "This screen receives user authentication and shift schedule data. It allows the user to select a location and department. Upon tapping 'START', the selected location and department are sent to the zeiterfassung screen.",
        "navigation_patterns": [
          {
            "pattern_type": "modal",
            "description": "This screen appears as a modal overlay on top of the previous screen. The user can dismiss it by tapping the 'X' icon."
          }
        ],
        "feature_dependencies": [
          "authentication",
          "shift scheduling",
          "location management",
          "department management"
        ],
        "alternative_paths": [
          "Users might be able to record working hours through other means, such as a physical time clock or a web interface."
        ]
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "Record Working Hours",
            "goal": "Record the start of working hours for the day",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Shift calendar",
                "action": "Open the app and view the shift calendar",
                "outcome": "The user sees their scheduled shifts and other calendar events."
              },
              {
                "step_number": 2,
                "screen_type": "Calendar Day View",
                "action": "Select the current day to view the day's details",
                "outcome": "The user sees the details of the selected day, including scheduled shifts."
              },
              {
                "step_number": 3,
                "screen_type": "Record Working Hours",
                "action": "Select the location and department",
                "outcome": "The user is prompted to select the location and department for recording working hours."
              },
              {
                "step_number": 4,
                "screen_type": "Company Selection",
                "action": "Select the company",
                "outcome": "The user selects the company for which they are recording working hours."
              },
              {
                "step_number": 5,
                "screen_type": "Department Selection",
                "action": "Select the department",
                "outcome": "The user selects the department for which they are recording working hours."
              },
              {
                "step_number": 6,
                "screen_type": "Record Working Hours",
                "action": "Tap the 'Start' button",
                "outcome": "The working hours recording process begins."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [
            "Easily record your working hours from any location.",
            "Ensure accurate tracking of your work time for payroll and compliance.",
            "Simple and intuitive interface for quick time entry."
          ],
          "manager": [
            "Gain visibility into employee working hours for better resource management.",
            "Ensure accurate project costing and billing based on recorded time.",
            "Streamline time approval processes."
          ],
          "hr_admin": [
            "Simplify payroll processing with accurate time data.",
            "Ensure compliance with labor laws and regulations.",
            "Reduce administrative overhead associated with manual time tracking."
          ],
          "general": [
            "Centralized system for time tracking.",
            "Improved accuracy of time records.",
            "Reduced errors in payroll and billing."
          ]
        },
        "business_value": {
          "problem_solved": "Inaccurate or inefficient time tracking leading to payroll errors, compliance issues, and poor resource management.",
          "value_proposition": "Provides a simple and accurate way for employees to record their working hours, ensuring accurate payroll, compliance, and better resource management.",
          "differentiators": "Mobile accessibility, intuitive interface, integration with other HR systems, and real-time data visibility.",
          "impact": "Reduced payroll errors, improved compliance, better resource allocation, and increased employee satisfaction."
        },
        "use_cases": [
          {
            "scenario": "An employee arrives at the office and uses their mobile app to record their start time.",
            "user_type": "employee",
            "benefit": "Accurate tracking of work hours from the moment they start working."
          },
          {
            "scenario": "A manager needs to review the total hours worked by their team for a specific project.",
            "user_type": "manager",
            "benefit": "Easy access to accurate time data for project costing and billing."
          },
          {
            "scenario": "HR needs to generate a report of employee working hours for compliance purposes.",
            "user_type": "hr_admin",
            "benefit": "Simplified reporting and compliance with labor laws."
          }
        ],
        "value_statements": [
          "Record your working hours accurately and easily with our mobile app.",
          "Simplify payroll and ensure compliance with accurate time tracking.",
          "Gain better visibility into employee working hours for improved resource management.",
          "Reduce administrative overhead with our automated time tracking system."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2685",
      "sequence_index": 30,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2685.png",
      "basic_info": {
        "screen_name": "Company Selection",
        "feature_area": "other",
        "ui_elements": [
          "Back button",
          "List of companies",
          "Company selection buttons"
        ],
        "functionality_visible": [
          "Select a company"
        ],
        "navigation_paths": [
          "Tap company to select",
          "Tap back to previous screen"
        ],
        "data_displayed": [
          "List of company names"
        ],
        "user_actions": [
          "Tap",
          "Select"
        ],
        "visible_text_labels": [
          "Ordio Unternehmensgruppe",
          "RESTAURANT BACHINGEN",
          "VERANSTALTUNGSHALLE 4711"
        ],
        "one_line_description": "This screen allows the user to select the company they belong to from a list of companies within the Ordio Unternehmensgruppe.",
        "screenshot_id": "IMG_2685",
        "sequence_index": 30,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2685.png"
      },
      "deep_understanding": {
        "screen_context": "The user sees this screen after selecting 'Location' in the 'Record Working Hours' screen (Zeiterfassung).",
        "user_goal": "The user wants to select the specific location where they are working to accurately record their working hours.",
        "business_value": "This screen ensures accurate tracking of employee working hours by location, which is essential for payroll, cost allocation, and operational efficiency. It allows the business to understand where employees are spending their time and allocate resources accordingly.",
        "state_information": {
          "data_shown": "A list of locations (Restaurant Bachingen, Veranstaltungshalle 4711) associated with the 'Ordio Unternehmensgruppe'. This is relevant because the user needs to specify where they are working.",
          "editable_fields": "None. The user can only select one of the displayed locations.",
          "read_only_fields": "The list of locations is read-only.",
          "current_state": "The app is waiting for the user to select a location."
        },
        "interactions": [
          {
            "action": "Tap 'RESTAURANT BACHINGEN'",
            "outcome": "The app selects 'RESTAURANT BACHINGEN' as the location.",
            "next_state": "The app likely navigates to the next step in the 'Record Working Hours' flow, possibly selecting the department or starting the time recording.",
            "error_possibilities": "If the location data is not properly loaded, the button might not function or display correctly."
          },
          {
            "action": "Tap 'VERANSTALTUNGSHALLE 4711'",
            "outcome": "The app selects 'VERANSTALTUNGSHALLE 4711' as the location.",
            "next_state": "The app likely navigates to the next step in the 'Record Working Hours' flow, possibly selecting the department or starting the time recording.",
            "error_possibilities": "If the location data is not properly loaded, the button might not function or display correctly."
          },
          {
            "action": "Tap the back arrow",
            "outcome": "The app navigates back to the previous screen (likely the 'Record Working Hours' screen).",
            "next_state": "The app returns to the 'Record Working Hours' screen.",
            "error_possibilities": "None."
          }
        ],
        "edge_cases": "1. The user might be working at a location not listed. In this case, there should be a way to add a new location or select a 'Other' option.\n2. The user might have no locations assigned to them.\n3. The location list might be very long, requiring a search or filtering mechanism.\n4. The user's location might be automatically detected via GPS, pre-selecting the location.",
        "benefits": "This screen allows the user to quickly and easily select their work location, ensuring accurate time tracking. It simplifies the process of recording working hours.",
        "mental_model": "The user understands that they need to specify their location before recording their working hours. The screen presents a list of available locations for them to choose from."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "Shift Details",
            "trigger": "Selecting a company (Restaurant Bachingen or Veranstaltungshalle 4711)",
            "data_passed": "Company ID/Name, potentially shift details if already known",
            "purpose": "To display shift details specific to the selected company"
          }
        ],
        "depends_on": [
          {
            "screen_type": "Record Working Hours",
            "required_data": "User authentication, shift calendar data, availability data, selected date",
            "purpose": "To know which user is recording hours and to provide context for the shift (date, availability)"
          }
        ],
        "data_flow": "Receives user authentication and date from previous screens. Sends the selected company to the Shift Details screen.",
        "navigation_patterns": [
          {
            "pattern_type": "branching",
            "description": "User selects one of the listed companies, leading to different shift details screens based on the selection."
          },
          {
            "pattern_type": "back",
            "description": "User can go back to the previous screen (Record Working Hours) using the back arrow."
          }
        ],
        "feature_dependencies": [
          "User Authentication",
          "Shift Calendar",
          "Availability Management",
          "Shift Recording"
        ],
        "alternative_paths": [
          "User might access shift details directly from the shift calendar if a company is already associated with the shift.",
          "User might not need to select a company if their account is only associated with one company."
        ]
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "Record Working Hours",
            "goal": "Record the hours worked for a specific shift",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Calendar Day View",
                "action": "Select a day to record working hours",
                "outcome": "Navigates to the Availability Editor screen"
              },
              {
                "step_number": 2,
                "screen_type": "Availability Editor",
                "action": "Select a shift or create a new shift",
                "outcome": "Navigates to the Record Working Hours screen"
              },
              {
                "step_number": 3,
                "screen_type": "Record Working Hours",
                "action": "Tap on the company selection field",
                "outcome": "Navigates to the Company Selection screen"
              },
              {
                "step_number": 4,
                "screen_type": "Company Selection",
                "action": "Select a company",
                "outcome": "Navigates to the Department Selection screen"
              },
              {
                "step_number": 5,
                "screen_type": "Department Selection",
                "action": "Select a department",
                "outcome": "Navigates back to the Record Working Hours screen with the selected company and department"
              },
              {
                "step_number": 6,
                "screen_type": "Record Working Hours",
                "action": "Enter the start and end times for the shift",
                "outcome": "The shift duration is calculated and displayed"
              },
              {
                "step_number": 7,
                "screen_type": "Record Working Hours",
                "action": "Save the recorded working hours",
                "outcome": "The working hours are saved and the user is navigated back to the Calendar Day View"
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          },
          {
            "journey_name": "Clock in for shift",
            "goal": "Start the shift timer to track working hours",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Calendar Day View",
                "action": "Select a day to start the shift",
                "outcome": "Navigates to the Availability Editor screen"
              },
              {
                "step_number": 2,
                "screen_type": "Availability Editor",
                "action": "Select a shift or create a new shift",
                "outcome": "Navigates to the Record Working Hours screen"
              },
              {
                "step_number": 3,
                "screen_type": "Record Working Hours",
                "action": "Tap on the company selection field",
                "outcome": "Navigates to the Company Selection screen"
              },
              {
                "step_number": 4,
                "screen_type": "Company Selection",
                "action": "Select a company",
                "outcome": "Navigates to the Department Selection screen"
              },
              {
                "step_number": 5,
                "screen_type": "Department Selection",
                "action": "Select a department",
                "outcome": "Navigates back to the Record Working Hours screen with the selected company and department"
              },
              {
                "step_number": 6,
                "screen_type": "Record Working Hours",
                "action": "Start the shift timer",
                "outcome": "Navigates to the Shift Timer screen"
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [
            "Easily select the correct company location for accurate time tracking.",
            "Ensure time is attributed to the right cost center."
          ],
          "manager": [
            "Accurate time tracking data for each company location.",
            "Simplified reporting and cost allocation."
          ],
          "hr_admin": [
            "Centralized management of company locations.",
            "Improved accuracy of payroll and HR data."
          ],
          "general": [
            "Clear and simple selection of company locations.",
            "Avoid errors in time tracking due to incorrect location selection."
          ]
        },
        "business_value": {
          "problem_solved": "Employees may incorrectly record their working hours against the wrong company location, leading to inaccurate cost allocation and reporting.",
          "value_proposition": "Provides a clear and simple way for employees to select the correct company location when recording their working hours, ensuring accurate time tracking and cost allocation.",
          "differentiators": "Simple and intuitive user interface, integrated directly into the time tracking workflow.",
          "impact": "Reduces errors in time tracking, improves accuracy of cost allocation, and simplifies reporting for managers and HR."
        },
        "use_cases": [
          {
            "scenario": "An employee works at Restaurant Bachingen one day and at Veranstaltungshalle 4711 the next. When recording their working hours, they need to specify which location they worked at each day.",
            "user_type": "employee",
            "benefit": "Ensures that the employee's time is accurately tracked against the correct company location, leading to correct payroll and cost allocation."
          },
          {
            "scenario": "A manager needs to generate a report showing the total working hours for each company location. The accurate selection of company location by employees ensures that the report is accurate and reliable.",
            "user_type": "manager",
            "benefit": "Provides accurate data for reporting and cost allocation, enabling better decision-making."
          },
          {
            "scenario": "HR needs to ensure that employee time is correctly allocated to each company location for payroll purposes. The company selection screen helps to prevent errors and ensures accurate payroll processing.",
            "user_type": "hr_admin",
            "benefit": "Reduces errors in payroll processing and ensures compliance with labor laws."
          }
        ],
        "value_statements": [
          "Accurately track your time against the correct company location.",
          "Simplify time tracking with easy company selection.",
          "Ensure accurate cost allocation with precise location data.",
          "Improve reporting with reliable time tracking information."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2686",
      "sequence_index": 31,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2686.png",
      "basic_info": {
        "screen_name": "Department Selection",
        "feature_area": "other",
        "ui_elements": [
          "Back button",
          "Title bar",
          "List of departments"
        ],
        "functionality_visible": [
          "Select a department"
        ],
        "navigation_paths": [
          "Tap back to previous screen",
          "Tap department to select"
        ],
        "data_displayed": [
          "List of departments"
        ],
        "user_actions": [
          "Tap"
        ],
        "visible_text_labels": [
          "Restaurant Bachingen",
          "BAR",
          "KÜCHE",
          "SERVICE"
        ],
        "one_line_description": "This screen allows the user to select a department within the Restaurant Bachingen.",
        "screenshot_id": "IMG_2686",
        "sequence_index": 31,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2686.png"
      },
      "deep_understanding": {
        "screen_context": "This screen appears after the user has selected a company and is likely choosing a department or area within the 'Restaurant Bachingen' company to record their working hours or availability.",
        "user_goal": "The user wants to select the specific department or area within the 'Restaurant Bachingen' where they are working or for which they are setting their availability.",
        "business_value": "This screen allows for accurate tracking of employee time and availability within specific departments, enabling better resource allocation and cost management for the restaurant.",
        "state_information": {
          "data_shown": "A list of departments or areas within the 'Restaurant Bachingen': BAR, KÜCHE (Kitchen), and SERVICE.",
          "editable_fields": "None. The user can only select one of the options.",
          "read_only_fields": "The names of the departments are read-only.",
          "current_state": "The app is waiting for the user to select a department."
        },
        "interactions": [
          {
            "action": "Tap 'BAR'",
            "outcome": "The 'BAR' department is selected.",
            "next_state": "The app navigates to the next screen, likely to record working hours or set availability for the 'BAR' department.",
            "error_possibilities": "None. The button should always work."
          },
          {
            "action": "Tap 'KÜCHE'",
            "outcome": "The 'KÜCHE' (Kitchen) department is selected.",
            "next_state": "The app navigates to the next screen, likely to record working hours or set availability for the 'KÜCHE' department.",
            "error_possibilities": "None. The button should always work."
          },
          {
            "action": "Tap 'SERVICE'",
            "outcome": "The 'SERVICE' department is selected.",
            "next_state": "The app navigates to the next screen, likely to record working hours or set availability for the 'SERVICE' department.",
            "error_possibilities": "None. The button should always work."
          },
          {
            "action": "Tap the back arrow",
            "outcome": "The user navigates back to the previous screen.",
            "next_state": "The app returns to the company selection screen or the previous screen.",
            "error_possibilities": "None. The back button should always work."
          }
        ],
        "edge_cases": [
          "The list of departments might be empty if no departments are defined for the company.",
          "The user might not have permission to access certain departments.",
          "The department list might be very long, requiring scrolling.",
          "The app might not be able to connect to the server to retrieve the department list."
        ],
        "benefits": "The screen allows users to accurately specify the department they are working in, leading to better time tracking and resource allocation.",
        "mental_model": "The screen presents a simple selection list, allowing users to easily choose the relevant department. The user understands that selecting a department is a necessary step before recording their working hours or setting their availability."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "Record Working Hours",
            "trigger": "Selecting a department (BAR, KÜCHE, SERVICE)",
            "data_passed": "Selected department",
            "purpose": "To record working hours for the selected department"
          }
        ],
        "depends_on": [
          {
            "screen_type": "Company Selection",
            "required_data": "Selected company",
            "purpose": "To know which company's departments to display"
          },
          {
            "screen_type": "Record Working Hours",
            "required_data": "Date and time information",
            "purpose": "To know which day and time the user is recording hours for"
          }
        ],
        "data_flow": "This screen receives the selected company and date/time information from previous screens. It allows the user to select a department. The selected department is then passed to the Record Working Hours screen.",
        "navigation_patterns": [
          {
            "pattern_type": "branching",
            "description": "The user selects one of the departments, which leads to the Record Working Hours screen with the selected department pre-filled."
          },
          {
            "pattern_type": "back",
            "description": "The user can navigate back to the previous screen (Company Selection) using the back arrow."
          }
        ],
        "feature_dependencies": [
          "Time Tracking",
          "Company Management"
        ],
        "alternative_paths": [
          "The user might not record working hours at all and navigate to other features of the app."
        ]
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "Record Working Hours",
            "goal": "Record working hours for a specific department",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Company Selection",
                "action": "Select a company",
                "outcome": "Navigates to the Record Working Hours screen"
              },
              {
                "step_number": 2,
                "screen_type": "Record Working Hours",
                "action": "Taps on a date to record hours",
                "outcome": "Navigates to the Availability Editor screen"
              },
              {
                "step_number": 3,
                "screen_type": "Availability Editor",
                "action": "Taps on a shift to edit",
                "outcome": "Navigates to the Department Selection screen"
              },
              {
                "step_number": 4,
                "screen_type": "Department Selection",
                "action": "Select a department (e.g., BAR, KÜCHE, SERVICE)",
                "outcome": "Navigates back to the Record Working Hours screen with the selected department associated with the shift."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [
            "Easily select the correct department to record your work hours.",
            "Ensure your time is accurately tracked to the right area."
          ],
          "manager": [
            "Quickly view and manage employee hours by department.",
            "Gain insights into labor costs and productivity for each area."
          ],
          "hr_admin": [
            "Simplify payroll processing by categorizing employee hours by department.",
            "Generate reports on labor distribution across different areas."
          ],
          "general": [
            "Clear and simple selection of departments within the company.",
            "Improved accuracy in time tracking and reporting."
          ]
        },
        "business_value": {
          "problem_solved": "Inaccurate time tracking due to employees not specifying their department.",
          "value_proposition": "Provides a clear and structured way for employees to select their department, ensuring accurate time tracking and reporting.",
          "differentiators": "Simple and intuitive interface for department selection.",
          "impact": "Improved accuracy in time tracking, leading to better payroll processing, labor cost analysis, and resource allocation."
        },
        "use_cases": [
          {
            "scenario": "An employee starts their shift in the kitchen and needs to record their hours.",
            "user_type": "employee",
            "benefit": "The employee can easily select 'KÜCHE' (Kitchen) from the list to ensure their hours are tracked to the correct department."
          },
          {
            "scenario": "A manager needs to review the total hours worked in the bar for the week.",
            "user_type": "manager",
            "benefit": "The manager can filter the time tracking data by the 'BAR' department to get an accurate view of the bar staff's hours."
          },
          {
            "scenario": "The HR administrator is preparing payroll and needs to allocate labor costs by department.",
            "user_type": "HR",
            "benefit": "The HR administrator can use the department selection data to accurately allocate labor costs to each department (Bar, Küche, Service)."
          }
        ],
        "value_statements": [
          "Accurately track employee time by department for improved payroll and labor cost analysis.",
          "Simplify department selection for employees with an intuitive interface.",
          "Gain insights into labor distribution across different areas of your business.",
          "Ensure accurate time tracking and reporting with clear department selection."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2687",
      "sequence_index": 32,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2687.png",
      "basic_info": {
        "screen_name": "Record Working Hours",
        "feature_area": "zeiterfassung",
        "ui_elements": [
          "Dropdown menu",
          "Dropdown menu",
          "Button"
        ],
        "functionality_visible": [
          "Select location to record working time",
          "Start recording working time"
        ],
        "navigation_paths": [],
        "data_displayed": [
          "List of locations"
        ],
        "user_actions": [
          "Select location",
          "Tap Start"
        ],
        "visible_text_labels": [
          "Restaurant Bachingen",
          "Küche",
          "Start",
          "Record working hours",
          "In which location do you want to record your working time?"
        ],
        "one_line_description": "This screen allows the user to select the location where they want to record their working hours and start the time tracking.",
        "screenshot_id": "IMG_2687",
        "sequence_index": 32,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2687.png"
      },
      "deep_understanding": {
        "screen_context": "The user sees this screen after selecting 'Record Working Hours' from the main menu and potentially after selecting a company and department. It appears when the user needs to specify the exact location where they are starting their work.",
        "user_goal": "The user wants to start recording their working hours for a specific location and department.",
        "business_value": "This screen ensures accurate tracking of employee working hours for payroll, compliance, and resource management. It allows the business to understand where employees are working and for how long.",
        "state_information": {
          "data_shown": "The screen displays the company name (Restaurant Bachingen) and a list of possible locations (Küche).",
          "editable_fields": [
            "Location (Restaurant Bachingen or Küche)"
          ],
          "read_only_fields": [
            "Company Name (Restaurant Bachingen)"
          ],
          "current_state": "The user is in the process of selecting the location where they are starting their work."
        },
        "interactions": [
          {
            "action": "Select a location from the dropdown menu (Restaurant Bachingen or Küche)",
            "outcome": "The selected location is displayed in the dropdown.",
            "next_state": "The selected location is saved as the current location for time tracking.",
            "error_possibilities": "The dropdown menu might not load correctly, or the user might accidentally select the wrong location."
          },
          {
            "action": "Tap the 'START' button",
            "outcome": "The time tracking starts for the selected location.",
            "next_state": "The app transitions to the time tracking screen, where the user can see the timer running and eventually stop the time tracking.",
            "error_possibilities": "The app might fail to start the time tracking due to network issues or internal errors. The user might not have selected a location."
          },
          {
            "action": "Tap the 'X' icon",
            "outcome": "The 'Record working hours' screen is closed.",
            "next_state": "The app navigates back to the previous screen (likely the main menu or the department selection screen).",
            "error_possibilities": "None."
          }
        ],
        "edge_cases": [
          "The user might have multiple locations to choose from.",
          "The user might not have any locations assigned to them.",
          "The user might be assigned to multiple departments within the same location.",
          "The user might be trying to record time for a location that is currently closed.",
          "The user might have already started recording time for another location."
        ],
        "benefits": "This screen allows the user to accurately record their working hours for the correct location, ensuring accurate payroll and compliance. It simplifies the time tracking process by providing a clear and easy-to-use interface.",
        "mental_model": "The user understands that they need to specify their location before starting to record their working hours. The screen supports the mental model of selecting a location and then starting a timer."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "zeiterfassung",
            "trigger": "Clicking 'START'",
            "data_passed": "Selected location (Restaurant Bachingen or Küche)",
            "purpose": "To begin recording working hours at the selected location."
          }
        ],
        "depends_on": [
          {
            "screen_type": "Calendar Day View",
            "required_data": "User's schedule and location data",
            "purpose": "To allow the user to record working hours for a specific day and location."
          }
        ],
        "data_flow": "This screen receives the user's location options (Restaurant Bachingen, Küche) and allows the user to select one. The selected location is then passed to the next screen to begin recording working hours.",
        "navigation_patterns": [
          {
            "pattern_type": "modal",
            "description": "This screen appears as a modal overlay on top of the Calendar Day View. The user can dismiss it by tapping the 'X' icon, or proceed to the next screen by tapping 'START'."
          }
        ],
        "feature_dependencies": [
          "zeiterfassung",
          "location"
        ],
        "alternative_paths": [
          "The user can dismiss the modal and not record working hours.",
          "The user might have reached this screen from a different entry point within the zeiterfassung feature."
        ]
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "Clock in for shift",
            "goal": "Start recording working hours for a shift",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Record Working Hours",
                "action": "Select 'Restaurant Bachingen' from the first dropdown",
                "outcome": "Restaurant Bachingen is selected as the location."
              },
              {
                "step_number": 2,
                "screen_type": "Record Working Hours",
                "action": "Select 'Küche' from the second dropdown",
                "outcome": "Küche is selected as the department."
              },
              {
                "step_number": 3,
                "screen_type": "Record Working Hours",
                "action": "Tap 'Start'",
                "outcome": "User is taken to the Shift Timer screen to begin recording time."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": [
          {
            "variation_type": "Different location",
            "differences": "User selects a different location from the first dropdown (e.g., 'Bar')."
          },
          {
            "variation_type": "Different department",
            "differences": "User selects a different department from the second dropdown (e.g., 'Service')."
          }
        ]
      },
      "benefits": {
        "user_benefits": {
          "employee": [
            "Accurately record working hours at specific locations.",
            "Simplified time tracking process.",
            "Ensures correct payment based on location-specific rates or rules."
          ],
          "manager": [
            "Accurate tracking of employee hours at different locations.",
            "Improved visibility into workforce distribution.",
            "Simplified payroll processing."
          ],
          "hr_admin": [
            "Streamlined time and attendance management.",
            "Reduced errors in payroll calculations.",
            "Improved compliance with labor laws."
          ],
          "general": [
            "Easy selection of work location.",
            "Clear and intuitive interface."
          ]
        },
        "business_value": {
          "problem_solved": "Inaccurate time tracking due to employees working at multiple locations.",
          "value_proposition": "Provides a simple and accurate way to record working hours at specific locations, ensuring correct payroll and compliance.",
          "differentiators": "Location-specific time tracking within a user-friendly interface.",
          "impact": "Reduces payroll errors, improves compliance, and provides better insights into workforce distribution."
        },
        "use_cases": [
          {
            "scenario": "A restaurant employee works both in the kitchen and serving customers. They need to accurately record their time spent in each location for correct payroll.",
            "user_type": "employee",
            "benefit": "Ensures accurate time tracking and payment based on the location where the work was performed."
          },
          {
            "scenario": "A manager needs to track how many hours employees are spending in different departments to optimize staffing levels.",
            "user_type": "manager",
            "benefit": "Provides data for better workforce management and resource allocation."
          },
          {
            "scenario": "HR needs to ensure compliance with labor laws regarding breaks and overtime based on the specific work location.",
            "user_type": "hr_admin",
            "benefit": "Facilitates compliance with labor laws and reduces the risk of legal issues."
          }
        ],
        "value_statements": [
          "Accurately track your working hours by location for precise payroll.",
          "Simplify time tracking with easy location selection.",
          "Ensure compliance with labor laws through accurate location-based time recording.",
          "Gain insights into workforce distribution with detailed location-based time data."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2688",
      "sequence_index": 33,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2688.png",
      "basic_info": {
        "screen_name": "Shift Timer",
        "feature_area": "zeiterfassung",
        "ui_elements": [
          "Countdown timer",
          "Shift name",
          "End shift button",
          "Page indicator"
        ],
        "functionality_visible": [
          "View remaining time",
          "End shift",
          "Start break"
        ],
        "navigation_paths": [
          "Tap back to previous screen"
        ],
        "data_displayed": [
          "Remaining time",
          "Shift name",
          "Break status"
        ],
        "user_actions": [
          "Hold to start break",
          "Tap End shift"
        ],
        "visible_text_labels": [
          "11:37",
          "00:05",
          "Hold to start break",
          "Frühschicht Küche",
          "0/1",
          "End shift"
        ],
        "one_line_description": "This screen displays the remaining time for the current shift and allows the user to end the shift or start a break.",
        "screenshot_id": "IMG_2688",
        "sequence_index": 33,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2688.png"
      },
      "deep_understanding": {
        "screen_context": "The user sees this screen after starting a shift at a specific location (e.g., 'Frühschicht Küche') in the 'Record Working Hours' screen. It appears to be a countdown timer indicating the start of the shift or a break reminder.",
        "user_goal": "The user's goal is to either start their shift and wait for the timer to finish, or to start a break by holding the designated area. Ultimately, they want to accurately record their working hours.",
        "business_value": "This screen ensures accurate time tracking for employees, which is crucial for payroll, compliance, and workforce management. It also helps manage breaks and ensure employees take them.",
        "state_information": {
          "data_shown": "The screen displays a countdown timer (00:05), the location of the shift ('Frühschicht Küche'), and a progress indicator (0/1). The timer indicates the time remaining until something happens (likely the start of the shift or a break reminder). The location confirms where the user is working. The progress indicator might relate to tasks or breaks.",
          "editable_fields": "None.",
          "read_only_fields": "Countdown timer, location name ('Frühschicht Küche'), progress indicator (0/1).",
          "current_state": "The app is in a countdown state, presumably before the shift officially starts or before a scheduled break."
        },
        "interactions": [
          {
            "action": "Wait for the timer to reach zero.",
            "outcome": "The timer completes, and the app likely transitions to the main working screen or prompts the user to start working.",
            "next_state": "Main working screen or prompt to start working.",
            "error_possibilities": "The timer might not function correctly due to a software bug or network issue."
          },
          {
            "action": "Hold the designated area (presumably where 'Hold to start break' is displayed).",
            "outcome": "The app initiates a break period.",
            "next_state": "Break screen with a timer.",
            "error_possibilities": "The hold action might not register correctly due to touch sensitivity issues or software bugs. The break might not start if the user doesn't hold long enough."
          },
          {
            "action": "Tap 'End shift' button.",
            "outcome": "The app ends the current shift.",
            "next_state": "Screen to confirm end of shift or return to the 'Record Working Hours' screen.",
            "error_possibilities": "The shift might not end if there are network connectivity issues or if the user hasn't met the minimum shift duration requirements."
          }
        ],
        "edge_cases": "1. Network connectivity issues: The timer might not sync correctly, or the app might not be able to record the start/end time. 2. User starts the shift at the wrong location: The user might need to be able to switch locations. 3. App crashes during the countdown: The user might lose the recorded time. 4. Different user roles: A supervisor might have different options on this screen. 5. The '0/1' indicator could represent different things depending on the context, such as number of breaks taken vs allowed.",
        "benefits": "This screen provides a clear visual indication of the shift's start or break time, ensuring accurate time tracking and adherence to break schedules. It simplifies the process of starting and ending shifts.",
        "mental_model": "The screen supports a mental model of a countdown timer leading to the start of a work period or a break. It reinforces the idea that the app is actively tracking time and managing work schedules."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "Break Start",
            "trigger": "Holding to start break",
            "data_passed": "Current shift details, selected break type (Frühschicht Küche)",
            "purpose": "To initiate a break during the shift"
          },
          {
            "screen_type": "End Shift Confirmation",
            "trigger": "Tapping 'End shift'",
            "data_passed": "Shift duration, break times, department, company",
            "purpose": "To confirm the end of the shift and submit the recorded hours"
          },
          {
            "screen_type": "Availability Editor",
            "trigger": "Tapping the back arrow",
            "data_passed": "None",
            "purpose": "To return to the availability editor"
          }
        ],
        "depends_on": [
          {
            "screen_type": "Department Selection",
            "required_data": "Company ID, User ID",
            "purpose": "To determine the department for the shift"
          },
          {
            "screen_type": "Company Selection",
            "required_data": "User ID",
            "purpose": "To determine the company for the shift"
          },
          {
            "screen_type": "Record Working Hours",
            "required_data": "User ID, Company ID, Department ID",
            "purpose": "To initiate the shift timer"
          },
          {
            "screen_type": "Availability Editor",
            "required_data": "User ID",
            "purpose": "To allow the user to start a shift from their availability"
          }
        ],
        "data_flow": "Receives: User ID, Company ID, Department ID, Shift start time. Sends: Shift duration, break times to the End Shift Confirmation screen.",
        "navigation_patterns": [
          {
            "pattern_type": "linear",
            "description": "The user progresses from company selection to department selection to the shift timer."
          },
          {
            "pattern_type": "back",
            "description": "The user can navigate back to the Availability Editor."
          }
        ],
        "feature_dependencies": [
          "zeiterfassung",
          "availability"
        ],
        "alternative_paths": [
          {
            "description": "The user might start a shift from the availability editor instead of manually recording working hours."
          }
        ]
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "Start Shift and Complete Tasks",
            "goal": "Start a shift, complete assigned tasks, and end the shift.",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Company Selection",
                "action": "Select company",
                "outcome": "Navigates to Department Selection screen"
              },
              {
                "step_number": 2,
                "screen_type": "Department Selection",
                "action": "Select department",
                "outcome": "Navigates to Record Working Hours screen"
              },
              {
                "step_number": 3,
                "screen_type": "Record Working Hours",
                "action": "Start shift",
                "outcome": "Navigates to Shift Timer screen"
              },
              {
                "step_number": 4,
                "screen_type": "Shift Timer",
                "action": "Wait for timer to complete",
                "outcome": "Navigates to Shift Task List screen"
              },
              {
                "step_number": 5,
                "screen_type": "Shift Task List",
                "action": "Complete tasks",
                "outcome": "Tasks are marked as complete"
              },
              {
                "step_number": 6,
                "screen_type": "Shift Task List",
                "action": "Navigate to HACCP Checklist (if applicable)",
                "outcome": "Navigates to HACCP Checklist screen"
              },
              {
                "step_number": 7,
                "screen_type": "HACCP Checklist",
                "action": "Complete checklist",
                "outcome": "Checklist is submitted"
              },
              {
                "step_number": 8,
                "screen_type": "Shift Timer",
                "action": "Tap 'End shift'",
                "outcome": "Navigates to Time Clock screen, shift is ended"
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          },
          {
            "journey_name": "Start Shift and Take a Break",
            "goal": "Start a shift, take a break, and end the shift.",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Company Selection",
                "action": "Select company",
                "outcome": "Navigates to Department Selection screen"
              },
              {
                "step_number": 2,
                "screen_type": "Department Selection",
                "action": "Select department",
                "outcome": "Navigates to Record Working Hours screen"
              },
              {
                "step_number": 3,
                "screen_type": "Record Working Hours",
                "action": "Start shift",
                "outcome": "Navigates to Shift Timer screen"
              },
              {
                "step_number": 4,
                "screen_type": "Shift Timer",
                "action": "Hold to start break",
                "outcome": "Break timer starts"
              },
              {
                "step_number": 5,
                "screen_type": "Shift Timer",
                "action": "Wait for break timer to complete",
                "outcome": "Navigates to Shift Task List screen"
              },
              {
                "step_number": 6,
                "screen_type": "Shift Task List",
                "action": "Complete tasks",
                "outcome": "Tasks are marked as complete"
              },
              {
                "step_number": 7,
                "screen_type": "Shift Task List",
                "action": "Navigate to HACCP Checklist (if applicable)",
                "outcome": "Navigates to HACCP Checklist screen"
              },
              {
                "step_number": 8,
                "screen_type": "HACCP Checklist",
                "action": "Complete checklist",
                "outcome": "Checklist is submitted"
              },
              {
                "step_number": 9,
                "screen_type": "Shift Timer",
                "action": "Tap 'End shift'",
                "outcome": "Navigates to Time Clock screen, shift is ended"
              }
            ],
            "happy_path": false,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": [
          {
            "variation_type": "Different number of tasks",
            "differences": "The Shift Task List screen may have a different number of tasks assigned (0/n) depending on the role and department."
          },
          {
            "variation_type": "HACCP Checklist required/not required",
            "differences": "Some shifts may require a HACCP checklist, while others may not. The navigation to the HACCP Checklist screen is conditional."
          }
        ]
      },
      "benefits": {
        "user_benefits": {
          "employee": [
            "Clear countdown timer helps track shift start and break times.",
            "Reminds employees to take breaks, promoting well-being.",
            "Provides a visual cue for shift progress.",
            "Easy to understand and use, minimizing confusion."
          ],
          "manager": [
            "Ensures employees are taking required breaks, improving compliance.",
            "Provides a clear visual representation of shift progress for employees.",
            "Reduces the need for manual monitoring of employee breaks."
          ],
          "hr_admin": [
            "Supports compliance with labor laws regarding breaks.",
            "Provides data for analyzing employee work patterns and break adherence.",
            "Streamlines time tracking and reduces administrative overhead."
          ],
          "general": [
            "Improved time management during shifts.",
            "Reduced stress related to tracking time and breaks.",
            "Enhanced focus on work tasks."
          ]
        },
        "business_value": {
          "problem_solved": "Difficulty in tracking shift start times and ensuring employees take required breaks.",
          "value_proposition": "Provides a clear and automated way to track shift progress and remind employees to take breaks, improving compliance and employee well-being.",
          "differentiators": "Integration with location-based shift assignments, visual countdown timer, and easy-to-use interface.",
          "impact": "Increased compliance with labor laws, improved employee well-being, reduced administrative overhead, and better time management."
        },
        "use_cases": [
          {
            "scenario": "An employee starts their shift at the 'Frühschicht Küche' location. The timer begins counting down, reminding them when to take their break.",
            "user_type": "employee",
            "benefit": "Ensures the employee takes their required break on time, preventing fatigue and improving productivity."
          },
          {
            "scenario": "A manager checks the system to see if employees are taking their scheduled breaks.",
            "user_type": "manager",
            "benefit": "Allows the manager to easily monitor break compliance and address any issues."
          },
          {
            "scenario": "HR uses the data from the time tracking system to ensure compliance with labor laws regarding break times.",
            "user_type": "HR",
            "benefit": "Reduces the risk of legal issues related to break time violations."
          }
        ],
        "value_statements": [
          "Stay on track with your shifts and breaks with our intuitive timer.",
          "Ensure compliance and improve employee well-being with automated break reminders.",
          "Simplify time tracking and reduce administrative overhead with our integrated shift timer.",
          "Optimize your workforce management with real-time shift tracking and break monitoring."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2689",
      "sequence_index": 34,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2689.png",
      "basic_info": {
        "screen_name": "Shift Task List",
        "feature_area": "schichtplanung",
        "ui_elements": [
          "Back button",
          "Title bar",
          "Task list item",
          "Task description"
        ],
        "functionality_visible": [
          "View shift tasks",
          "See task details"
        ],
        "navigation_paths": [
          "Tap back to previous screen"
        ],
        "data_displayed": [
          "Shift date",
          "Shift time",
          "List of tasks",
          "Task description"
        ],
        "user_actions": [
          "Tap back button",
          "View task details"
        ],
        "visible_text_labels": [
          "Frühschicht Küche",
          "0/1",
          "Wednesday, 01/21/2026",
          "08:00 - 16:00",
          "Zu erledigen vor Eröffnung des Ladens.",
          "Spülmaschine ausräumen",
          "Bitte ausräumen"
        ],
        "one_line_description": "This screen displays the tasks to be completed during the early kitchen shift on a specific date.",
        "screenshot_id": "IMG_2689",
        "sequence_index": 34,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2689.png"
      },
      "deep_understanding": {
        "screen_context": "This screen appears when a user selects a specific shift (in this case, 'Frühschicht Küche' - Morning Shift Kitchen) from a schedule or task list. It shows the tasks assigned to that shift.",
        "user_goal": "The user wants to see the tasks they need to complete during their shift and mark them as done.",
        "business_value": "This screen ensures that employees are aware of their responsibilities during a specific shift, leading to better task completion and operational efficiency. It helps manage and track tasks assigned to employees.",
        "state_information": {
          "data_shown": "The screen displays the shift name ('Frühschicht Küche'), the date ('Wednesday, 01/21/2026'), the shift time (08:00 - 16:00), and a list of tasks to be completed before the store opens ('Zu erledigen vor Eröffnung des Ladens.'). The task shown is 'Spülmaschine ausräumen' (Empty the dishwasher) with the instruction 'Bitte ausräumen' (Please empty). It also shows the progress of completed tasks (0/1).",
          "editable_fields": [],
          "read_only_fields": [
            "Shift name",
            "Date",
            "Shift time",
            "Task list",
            "Task instructions",
            "Progress (0/1)"
          ],
          "current_state": "The user is viewing the details of the 'Frühschicht Küche' shift and the tasks assigned to it. Currently, no tasks have been completed (0/1)."
        },
        "interactions": [
          {
            "action": "Tap the back arrow",
            "outcome": "Navigates back to the previous screen, likely the schedule or task list.",
            "next_state": "Previous screen (schedule or task list)",
            "error_possibilities": "None"
          },
          {
            "action": "Tap on the 'Spülmaschine ausräumen' task",
            "outcome": "Likely opens a detailed view of the task, possibly with options to mark it as completed or add notes.",
            "next_state": "Task detail screen",
            "error_possibilities": "Network error preventing the task details from loading."
          }
        ],
        "edge_cases": [
          "The task list could be empty if no tasks are assigned to the shift.",
          "The user might not have permission to mark tasks as complete (e.g., if they are a viewer only).",
          "The task list could be very long, requiring scrolling.",
          "The app might need to handle different task types (e.g., tasks with sub-tasks, tasks with dependencies).",
          "The date could be in the past, indicating a missed shift.",
          "The user might be offline, preventing them from loading or updating task information."
        ],
        "benefits": "The screen provides a clear overview of the tasks required for a specific shift, ensuring that employees are aware of their responsibilities. It helps with task management and tracking, leading to improved efficiency and accountability.",
        "mental_model": "The screen supports a task-oriented mental model. The user understands that they are viewing a list of tasks associated with a specific shift and that they can interact with these tasks to manage their workload."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "Task Detail",
            "trigger": "Tapping on the 'Spülmaschine ausräumen' task",
            "data_passed": {
              "task_id": "10",
              "task_name": "Spülmaschine ausräumen",
              "task_description": "Bitte ausräumen"
            },
            "purpose": "To view and interact with the details of a specific task"
          }
        ],
        "depends_on": [
          {
            "screen_type": "Shift Timer",
            "required_data": {
              "company_id": "unknown",
              "department_id": "unknown",
              "shift_date": "01/21/2026",
              "shift_start_time": "08:00",
              "shift_end_time": "16:00"
            },
            "purpose": "To display the tasks assigned to the user for the current shift."
          }
        ],
        "data_flow": "This screen receives shift details (date, time) and a list of tasks assigned to the user for that shift. It allows the user to view the tasks and potentially mark them as complete (though the completion action is not visible on this screen).",
        "navigation_patterns": [
          {
            "pattern_type": "back",
            "description": "User can navigate back to the previous screen (Shift Timer) using the back arrow."
          },
          {
            "pattern_type": "branching",
            "description": "User can tap on a task to navigate to the task detail screen."
          }
        ],
        "feature_dependencies": [
          "schichtplanung",
          "task_management"
        ],
        "alternative_paths": []
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "Complete Shift Tasks",
            "goal": "Complete all tasks assigned for the current shift",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Shift Task List",
                "action": "View the list of tasks for the shift",
                "outcome": "User sees the tasks assigned for the shift, including 'Spülmaschine ausräumen' (Empty the dishwasher)"
              },
              {
                "step_number": 2,
                "screen_type": "Shift Task List",
                "action": "Tap on the 'Spülmaschine ausräumen' task",
                "outcome": "The task details screen opens (not shown in the image)"
              },
              {
                "step_number": 3,
                "screen_type": "Task Details",
                "action": "Complete the task (e.g., by taking a photo or checking a box)",
                "outcome": "The task is marked as completed (not shown in the image)"
              },
              {
                "step_number": 4,
                "screen_type": "Shift Task List",
                "action": "Repeat steps 2 and 3 for all remaining tasks",
                "outcome": "All tasks are completed, and the shift is finished (not shown in the image)"
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [
            "Clear task list for each shift.",
            "Know exactly what needs to be done before opening.",
            "Reduces ambiguity and ensures tasks are completed.",
            "Provides a structured workflow for the shift."
          ],
          "manager": [
            "Ensures tasks are completed on time.",
            "Provides visibility into shift progress.",
            "Reduces the need for constant supervision.",
            "Standardizes shift procedures."
          ],
          "hr_admin": [
            "Standardized task assignment across shifts.",
            "Improved operational efficiency.",
            "Better task tracking and accountability."
          ],
          "general": [
            "Improved organization and efficiency.",
            "Reduced errors and omissions.",
            "Better communication and coordination."
          ]
        },
        "business_value": {
          "problem_solved": "Lack of clarity and organization in shift tasks, leading to missed tasks and inefficiencies.",
          "value_proposition": "Provides a clear and structured task list for each shift, ensuring all necessary tasks are completed on time and to standard.",
          "differentiators": "Integration with shift scheduling, task prioritization, and real-time progress tracking.",
          "impact": "Increased operational efficiency, reduced errors, improved employee accountability, and better overall shift management."
        },
        "use_cases": [
          {
            "scenario": "A new employee starts their morning shift in the kitchen and needs to know what tasks to complete before the store opens.",
            "user_type": "employee",
            "benefit": "The employee can easily see the task list for their shift and complete the tasks in the correct order, ensuring everything is ready for opening."
          },
          {
            "scenario": "A manager wants to check the progress of the morning shift to ensure all tasks are being completed on time.",
            "user_type": "manager",
            "benefit": "The manager can quickly view the task list and see which tasks have been completed and which are still outstanding, allowing them to address any issues promptly."
          },
          {
            "scenario": "HR wants to standardize the opening procedures across all locations.",
            "user_type": "HR",
            "benefit": "HR can create a standard task list for the morning shift and assign it to all locations, ensuring consistency and compliance."
          }
        ],
        "value_statements": [
          "Start your shift with clarity and confidence.",
          "Ensure all tasks are completed on time, every time.",
          "Improve shift efficiency and reduce errors.",
          "Streamline your workflow with a clear task list.",
          "Manage your shifts effectively with Ordio."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2690",
      "sequence_index": 35,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2690.png",
      "basic_info": {
        "screen_name": "Time Clock",
        "feature_area": "zeiterfassung",
        "ui_elements": [
          "Countdown timer",
          "HACCP checklist",
          "End shift button",
          "Back button",
          "Info button"
        ],
        "functionality_visible": [
          "View countdown timer",
          "Start break",
          "End shift",
          "View HACCP checklist"
        ],
        "navigation_paths": [
          "Tap back button to return to previous screen"
        ],
        "data_displayed": [
          "Countdown time",
          "HACCP checklist progress"
        ],
        "user_actions": [
          "Hold to start break",
          "Tap End shift",
          "Tap back button"
        ],
        "visible_text_labels": [
          "11:37",
          "00:14",
          "Hold to start break",
          "HACCP",
          "0/4",
          "End shift"
        ],
        "one_line_description": "This screen displays a countdown timer and allows the user to start a break or end their shift after completing the HACCP checklist.",
        "screenshot_id": "IMG_2690",
        "sequence_index": 35,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2690.png"
      },
      "deep_understanding": {
        "screen_context": "The user sees this screen after starting a shift and potentially completing some tasks. It appears to be a timer screen showing the elapsed time since the shift started, with options to start a break or end the shift.",
        "user_goal": "The user's goal is to monitor the duration of their shift, start a break when needed, complete required tasks, and ultimately end their shift.",
        "business_value": "This screen exists to track employee working hours, ensure compliance with break regulations, and manage task completion during shifts. It helps in accurate payroll calculation, labor cost management, and operational efficiency.",
        "state_information": {
          "data_shown": "The screen displays the elapsed time since the shift started (00:14), a prompt to hold to start a break, a task list (HACCP 0/4), and an 'End shift' button. The time is relevant for tracking working hours. The task list is relevant for ensuring all required tasks are completed during the shift.",
          "editable_fields": "The user can start a break by holding on the HACCP button and complete the tasks listed.",
          "read_only_fields": "The elapsed time (00:14) and the task list title (HACCP) are read-only.",
          "current_state": "The shift is in progress, the timer is running, and no HACCP tasks have been completed yet (0/4)."
        },
        "interactions": [
          {
            "action": "Hold on the HACCP button",
            "outcome": "A break timer starts.",
            "next_state": "The app transitions to a break timer screen.",
            "error_possibilities": "The break might not start if the user doesn't hold the button long enough or if there's a network error."
          },
          {
            "action": "Tap on the HACCP task list",
            "outcome": "The user is taken to a screen where they can complete the HACCP tasks.",
            "next_state": "The app transitions to a task completion screen.",
            "error_possibilities": "The task list might not load if there's a network error."
          },
          {
            "action": "Tap the 'End shift' button",
            "outcome": "The shift ends, and the user is prompted to confirm the end of the shift.",
            "next_state": "The app transitions to a shift summary or confirmation screen.",
            "error_possibilities": "The shift might not end if there's a network error or if the user hasn't completed all mandatory tasks."
          }
        ],
        "edge_cases": "Different user roles might have different task lists. The app needs to handle cases where the user forgets to start a break or ends the shift prematurely. The app should also handle cases where the network connection is unstable.",
        "benefits": "The screen provides real-time tracking of working hours, simplifies break management, and ensures task completion, leading to accurate payroll and efficient operations.",
        "mental_model": "The screen supports a mental model of a running timer that represents the shift duration, with options to manage breaks and tasks. The user understands that they need to monitor the timer, take breaks as needed, complete tasks, and then end the shift."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "Shift Task List",
            "trigger": "Completing all HACCP tasks",
            "data_passed": "Shift ID, Task completion status",
            "purpose": "To show the next set of tasks after HACCP tasks are completed."
          },
          {
            "screen_type": "Break Timer",
            "trigger": "Holding to start break",
            "data_passed": "Shift ID, Break Type (HACCP)",
            "purpose": "To start a HACCP break timer."
          },
          {
            "screen_type": "Shift Summary",
            "trigger": "Tapping 'End shift'",
            "data_passed": "Shift ID, Total time worked, Task completion status, Break times",
            "purpose": "To display a summary of the shift before ending it."
          },
          {
            "screen_type": "Previous Screen",
            "trigger": "Tapping the back arrow",
            "data_passed": "None",
            "purpose": "To return to the previous screen (Shift Task List)."
          },
          {
            "screen_type": "Information Screen",
            "trigger": "Tapping the information icon",
            "data_passed": "Contextual information about the screen",
            "purpose": "To provide help or information about the screen."
          }
        ],
        "depends_on": [
          {
            "screen_type": "Shift Task List",
            "required_data": "Shift ID, List of HACCP tasks",
            "purpose": "To display the HACCP tasks associated with the current shift."
          }
        ],
        "data_flow": "The screen receives the Shift ID and a list of HACCP tasks from the Shift Task List screen. It updates the task completion status. It sends the shift ID, total time worked, task completion status, and break times to the Shift Summary screen when the shift is ended.",
        "navigation_patterns": [
          {
            "pattern_type": "linear",
            "description": "Completing HACCP tasks leads to the next set of tasks."
          },
          {
            "pattern_type": "back",
            "description": "The back arrow returns to the previous screen."
          }
        ],
        "feature_dependencies": [
          "zeiterfassung",
          "task management",
          "break management"
        ],
        "alternative_paths": [
          {
            "description": "User can complete other tasks before HACCP tasks if the task list allows it.",
            "path": "Shift Task List -> Other Task Screens -> Time Clock (HACCP)"
          }
        ]
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "Complete HACCP checklist during shift",
            "goal": "Complete the required HACCP checklist during a shift.",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Shift Timer",
                "action": "Start shift and work for a period of time.",
                "outcome": "Shift timer is running."
              },
              {
                "step_number": 2,
                "screen_type": "Time Clock",
                "action": "Hold to start break (HACCP)",
                "outcome": "User is prompted to complete the HACCP checklist."
              },
              {
                "step_number": 3,
                "screen_type": "HACCP Checklist",
                "action": "Complete the HACCP checklist.",
                "outcome": "HACCP checklist is completed and submitted."
              },
              {
                "step_number": 4,
                "screen_type": "Time Clock",
                "action": "Continue working after the break.",
                "outcome": "Shift timer continues running."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          },
          {
            "journey_name": "End shift",
            "goal": "End the current work shift.",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Shift Timer",
                "action": "Work for a period of time.",
                "outcome": "Shift timer is running."
              },
              {
                "step_number": 2,
                "screen_type": "Time Clock",
                "action": "Tap 'End shift'",
                "outcome": "Shift ends, and user is taken to the next screen (e.g., summary or confirmation)."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": [
          {
            "variation_type": "Different number of HACCP tasks",
            "differences": "The number of HACCP tasks required (e.g., 0/4) may vary depending on the shift or location."
          },
          {
            "variation_type": "Different HACCP checklist",
            "differences": "The specific HACCP checklist presented to the user may vary based on the role, location, or time of day."
          }
        ]
      },
      "benefits": {
        "user_benefits": {
          "employee": [
            "Easily track time worked during a shift.",
            "Quickly start and end breaks.",
            "Clearly see the time elapsed since the shift started.",
            "Simple interface for time management."
          ],
          "manager": [
            "Monitor employee shift durations.",
            "Ensure employees take required breaks.",
            "Gain insights into employee work patterns."
          ],
          "hr_admin": [
            "Accurate time tracking for payroll.",
            "Compliance with break regulations.",
            "Simplified time sheet management."
          ],
          "general": [
            "Clear and intuitive time tracking.",
            "Easy break management.",
            "Streamlined shift management."
          ]
        },
        "business_value": {
          "problem_solved": "Inaccurate time tracking and inefficient break management.",
          "value_proposition": "Provides a simple and accurate way for employees to track their time, start breaks, and end shifts, ensuring compliance and accurate payroll.",
          "differentiators": "Intuitive interface, integrated break management, and real-time time tracking.",
          "impact": "Improved time tracking accuracy, reduced payroll errors, increased compliance, and enhanced employee productivity."
        },
        "use_cases": [
          {
            "scenario": "An employee starts their shift and uses the time clock to track their work hours. They take a break and use the app to record the break time.",
            "user_type": "employee",
            "benefit": "Accurate time tracking and easy break management."
          },
          {
            "scenario": "A manager reviews employee time sheets to ensure accurate payroll and compliance with break regulations.",
            "user_type": "manager",
            "benefit": "Simplified time sheet management and compliance monitoring."
          },
          {
            "scenario": "HR uses the time clock data to generate payroll reports and ensure accurate compensation for employees.",
            "user_type": "hr_admin",
            "benefit": "Accurate payroll processing and reduced administrative overhead."
          }
        ],
        "value_statements": [
          "Track your time effortlessly with our intuitive time clock.",
          "Simplify break management and ensure compliance.",
          "Get accurate time tracking for payroll and compliance.",
          "Improve employee productivity with streamlined shift management."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2691",
      "sequence_index": 36,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2691.png",
      "basic_info": {
        "screen_name": "HACCP Checklist",
        "feature_area": "checklists",
        "ui_elements": [
          "Back button",
          "HACCP title",
          "Date display",
          "Checklist item: Temperatur vom Kühlschrank 1",
          "Image of Kühlschrank 1",
          "Checklist item: Foto Temperaturanzeige",
          "Checklist item: Temperatur Kühlschrank Wein an der Bar",
          "Image of Kühlschrank Wein",
          "Checklist item: Unterschrift vom ausführenden Mitarbeiter",
          "Signature field"
        ],
        "functionality_visible": [
          "View checklist items",
          "View images",
          "Provide signature"
        ],
        "navigation_paths": [
          "Tap back button to return",
          "Tap checklist item to interact"
        ],
        "data_displayed": [
          "Checklist items",
          "Images related to checklist items",
          "Date of checklist",
          "Progress of checklist (0/4)"
        ],
        "user_actions": [
          "Tap",
          "Enter signature"
        ],
        "visible_text_labels": [
          "HACCP",
          "0/4",
          "Wednesday, 01/21/2026",
          "Foto vom Tiefkühlschrank",
          "Temperatur vom Kühlschrank 1",
          "Foto Temperaturanzeige",
          "Temperatur Kühlschrank Wein an der Bar",
          "Unterschrift vom ausführenden Mitarbeiter",
          "Unterschrift"
        ],
        "one_line_description": "This screen displays a HACCP checklist with temperature checks for refrigerators and a signature field for the employee.",
        "screenshot_id": "IMG_2691",
        "sequence_index": 36,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2691.png"
      },
      "deep_understanding": {
        "screen_context": "This screen appears as part of a HACCP (Hazard Analysis and Critical Control Points) checklist, likely after the user has clocked in for their shift. It is triggered by the need to record temperature checks of refrigeration units.",
        "user_goal": "The user's goal is to complete the HACCP checklist by providing the required information, including photos of the refrigerator temperatures and their signature.",
        "business_value": "This screen ensures compliance with food safety regulations by documenting temperature checks of refrigeration units, which is a critical control point for preventing foodborne illnesses. It provides a record of these checks for auditing purposes and helps maintain food safety standards.",
        "state_information": {
          "data_shown": "The screen displays the date, a list of tasks related to HACCP temperature checks (taking photos of refrigerators and temperature displays), and a signature field. The photos show the contents of the refrigerators. The '0/4' indicates the number of tasks completed out of the total.",
          "editable_fields": "The user can take photos of the refrigerators and temperature displays, and provide their signature.",
          "read_only_fields": "The date (Wednesday, 01/21/2026) and the task descriptions (e.g., 'Temperatur vom Kühlschrank 1') are read-only.",
          "current_state": "The current state is that the user has not yet completed any of the four tasks (0/4). The photos are either default images or previously taken photos that need to be updated. The signature field is empty."
        },
        "interactions": [
          {
            "action": "Tap on 'Temperatur vom Kühlschrank 1'",
            "outcome": "The camera app opens, allowing the user to take a photo of the refrigerator.",
            "next_state": "The photo is displayed in the 'Temperatur vom Kühlschrank 1' section, and the task is marked as completed (potentially updating the 0/4 counter).",
            "error_possibilities": "The camera app may fail to open, the user may take a blurry or unreadable photo, or the photo may not be saved correctly."
          },
          {
            "action": "Tap on 'Foto Temperaturanzeige'",
            "outcome": "The camera app opens, allowing the user to take a photo of the temperature display.",
            "next_state": "The photo is displayed in the 'Foto Temperaturanzeige' section, and the task is marked as completed (potentially updating the 0/4 counter).",
            "error_possibilities": "The camera app may fail to open, the user may take a blurry or unreadable photo, or the photo may not be saved correctly."
          },
          {
            "action": "Tap on 'Temperatur Kühlschrank Wein an der Bar'",
            "outcome": "The camera app opens, allowing the user to take a photo of the wine refrigerator.",
            "next_state": "The photo is displayed in the 'Temperatur Kühlschrank Wein an der Bar' section, and the task is marked as completed (potentially updating the 0/4 counter).",
            "error_possibilities": "The camera app may fail to open, the user may take a blurry or unreadable photo, or the photo may not be saved correctly."
          },
          {
            "action": "Tap on 'Unterschrift'",
            "outcome": "A signature input method (e.g., drawing pad) opens, allowing the user to provide their signature.",
            "next_state": "The user's signature is displayed in the 'Unterschrift' section, and the task is marked as completed (potentially updating the 0/4 counter).",
            "error_possibilities": "The signature input method may fail to open, the user may not be able to provide a valid signature, or the signature may not be saved correctly."
          }
        ],
        "edge_cases": [
          "The user may not have permission to access the camera.",
          "The user may not have a stable internet connection to upload the photos.",
          "The refrigerator temperature may be out of the acceptable range, requiring further action.",
          "The user may be interrupted while completing the checklist.",
          "The date may be incorrect due to a system error.",
          "The user may be a supervisor reviewing the checklist, in which case they might not be able to edit the fields."
        ],
        "benefits": [
          "Simplifies the HACCP compliance process.",
          "Provides a clear and structured way to record temperature checks.",
          "Reduces the risk of human error in manual record-keeping.",
          "Ensures accountability by requiring a signature.",
          "Provides a readily available record for audits."
        ],
        "mental_model": "The screen supports a mental model of a checklist that needs to be completed. The user understands that they need to take photos of specific refrigerators and provide their signature to verify that the temperature checks have been performed. The '0/4' counter reinforces the idea of progress and completion."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "HACCP Checklist",
            "trigger": "Completing all checklist items",
            "data_passed": "HACCP checklist data (temperatures, photos, signature)",
            "purpose": "To submit the completed HACCP checklist"
          },
          {
            "screen_type": "Camera",
            "trigger": "Tapping on 'Temperatur vom Kühlschrank 1' or 'Foto Temperaturanzeige' or 'Temperatur Kühlschrank Wein an der Bar'",
            "data_passed": "Context of which photo is being taken (e.g., Kühlschrank 1)",
            "purpose": "To capture the required photos for the checklist"
          },
          {
            "screen_type": "Signature Capture",
            "trigger": "Tapping on 'Unterschrift vom ausführenden Mitarbeiter'",
            "data_passed": "None",
            "purpose": "To capture the employee's signature"
          }
        ],
        "depends_on": [
          {
            "screen_type": "Shift Task List",
            "required_data": "HACCP checklist assigned to the shift",
            "purpose": "To ensure the user is assigned the HACCP checklist for the current shift"
          }
        ],
        "data_flow": "The screen receives the HACCP checklist structure and requirements from the server. The user inputs data (temperatures, photos, signature). The completed checklist data is sent back to the server upon submission.",
        "navigation_patterns": [
          {
            "pattern_type": "linear",
            "description": "The user progresses through the checklist items sequentially."
          },
          {
            "pattern_type": "back",
            "description": "The user can navigate back to the previous screen (Shift Task List) using the back arrow."
          }
        ],
        "feature_dependencies": [
          "Checklists",
          "Camera",
          "Signature Capture"
        ],
        "alternative_paths": [
          {
            "description": "The user might not have to complete the HACCP checklist if it's not assigned to their shift.",
            "alternative_path": "The user would not see this screen."
          }
        ]
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "Complete HACCP Checklist",
            "goal": "Ensure food safety standards are met by completing the HACCP checklist.",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Shift Timer",
                "action": "Start shift",
                "outcome": "Shift timer begins."
              },
              {
                "step_number": 2,
                "screen_type": "Shift Task List",
                "action": "Navigate to HACCP checklist task",
                "outcome": "HACCP checklist screen is displayed."
              },
              {
                "step_number": 3,
                "screen_type": "HACCP Checklist",
                "action": "Take photo of refrigerator 1 temperature",
                "outcome": "Photo is taken and saved."
              },
              {
                "step_number": 4,
                "screen_type": "HACCP Checklist",
                "action": "Take photo of temperature display",
                "outcome": "Navigates to Foto Temperature Display screen."
              },
              {
                "step_number": 5,
                "screen_type": "Foto Temperature Display",
                "action": "Take photo of temperature display",
                "outcome": "Photo is taken and saved, returns to HACCP Checklist."
              },
              {
                "step_number": 6,
                "screen_type": "HACCP Checklist",
                "action": "Take photo of wine refrigerator temperature at the bar",
                "outcome": "Photo is taken and saved."
              },
              {
                "step_number": 7,
                "screen_type": "HACCP Checklist",
                "action": "Provide signature",
                "outcome": "Navigates to Signature screen."
              },
              {
                "step_number": 8,
                "screen_type": "Signature",
                "action": "Sign the checklist",
                "outcome": "Signature is saved, returns to HACCP Checklist."
              },
              {
                "step_number": 9,
                "screen_type": "HACCP Checklist",
                "action": "Submit the checklist",
                "outcome": "Checklist is submitted and saved."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [
            "Easy-to-follow checklist ensures all required temperature checks are completed.",
            "Photo documentation provides clear evidence of compliance.",
            "Digital record keeping eliminates paper-based processes.",
            "Streamlined process saves time and reduces errors."
          ],
          "manager": [
            "Real-time visibility into temperature monitoring compliance.",
            "Improved accountability with employee signatures.",
            "Reduced risk of food safety violations.",
            "Simplified audit preparation with readily available records.",
            "Ensures consistency in temperature monitoring across shifts."
          ],
          "hr_admin": [
            "Centralized record keeping for compliance reporting.",
            "Simplified audit trails for regulatory inspections.",
            "Reduced administrative burden associated with manual processes.",
            "Improved data accuracy and reliability."
          ],
          "general": [
            "Ensures food safety standards are consistently met.",
            "Reduces the risk of foodborne illnesses.",
            "Maintains product quality and freshness.",
            "Protects the business's reputation."
          ]
        },
        "business_value": {
          "problem_solved": "Ensures consistent and accurate temperature monitoring of refrigeration units to comply with HACCP regulations and prevent food safety issues.",
          "value_proposition": "Provides a digital checklist with photo documentation and employee signatures to streamline temperature monitoring, improve accountability, and reduce the risk of food safety violations.",
          "differentiators": "Combines checklist functionality with photo evidence and digital signatures for a comprehensive and auditable record.",
          "impact": "Reduces the risk of foodborne illnesses, protects the business's reputation, and simplifies compliance with HACCP regulations."
        },
        "use_cases": [
          {
            "scenario": "A restaurant employee starts their shift and needs to check the temperature of the walk-in refrigerator. They use the app to access the HACCP checklist, take a photo of the temperature display, and record the temperature. They then sign off on the task.",
            "user_type": "employee",
            "benefit": "Ensures all required temperature checks are completed accurately and efficiently, reducing the risk of errors and saving time."
          },
          {
            "scenario": "A restaurant manager reviews the daily HACCP checklist to ensure all temperature checks have been completed and are within acceptable ranges. They can quickly identify any issues and take corrective action.",
            "user_type": "manager",
            "benefit": "Provides real-time visibility into temperature monitoring compliance, allowing for proactive identification and resolution of potential food safety issues."
          },
          {
            "scenario": "During a health inspection, the restaurant manager can easily provide the inspector with a digital record of all temperature checks, including photos and employee signatures.",
            "user_type": "manager",
            "benefit": "Simplifies audit preparation and demonstrates compliance with HACCP regulations, reducing the risk of fines or other penalties."
          },
          {
            "scenario": "An HR administrator needs to generate a report on temperature monitoring compliance for all restaurant locations. They can easily access the data from the app and generate a report.",
            "user_type": "hr_admin",
            "benefit": "Centralized record keeping for compliance reporting, reducing administrative burden and improving data accuracy."
          }
        ],
        "value_statements": [
          "Ensure food safety and compliance with digital HACCP checklists.",
          "Streamline temperature monitoring with photo documentation and employee signatures.",
          "Reduce the risk of foodborne illnesses and protect your business's reputation.",
          "Simplify audit preparation with readily available digital records.",
          "Improve accountability and consistency in temperature monitoring."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2692",
      "sequence_index": 37,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2692.png",
      "basic_info": {
        "screen_name": "Foto Temperature Display",
        "feature_area": "other",
        "ui_elements": [
          "Camera button",
          "Gallery button",
          "Text field",
          "Close button"
        ],
        "functionality_visible": [
          "Take a photo",
          "Select a photo from gallery"
        ],
        "navigation_paths": [
          "Tap Camera to take a photo",
          "Tap Gallery to select a photo",
          "Tap X to close"
        ],
        "data_displayed": [],
        "user_actions": [
          "Tap",
          "Enter text"
        ],
        "visible_text_labels": [
          "HACCP",
          "Foto Temperaturanzeige",
          "Camera",
          "Gallery"
        ],
        "one_line_description": "This screen allows the user to select or take a photo for temperature display within the HACCP section of the app.",
        "screenshot_id": "IMG_2692",
        "sequence_index": 37,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2692.png"
      },
      "deep_understanding": {
        "screen_context": "This screen appears when the user needs to add a photo to a HACCP temperature record, likely as part of a checklist or temperature log. It is triggered after the user indicates they need to provide a photo.",
        "user_goal": "The user wants to add a photo to the HACCP temperature record, either by taking a new photo with the camera or selecting an existing photo from the gallery.",
        "business_value": "This screen ensures compliance with HACCP regulations by allowing users to document temperature readings with visual evidence. This helps maintain food safety standards and provides a record for audits.",
        "state_information": {
          "data_shown": "The screen displays options to take a photo using the device's camera or select a photo from the device's gallery. It also shows the title 'Foto Temperaturanzeige' which indicates the purpose of the photo.",
          "editable_fields": "None.",
          "read_only_fields": "The title 'Foto Temperaturanzeige', the 'Camera' and 'Gallery' button labels, and the icons associated with each button.",
          "current_state": "The app is waiting for the user to choose a source for the photo (camera or gallery)."
        },
        "interactions": [
          {
            "action": "Tap 'Camera' button",
            "outcome": "The device's camera app opens.",
            "next_state": "The user is now in the device's camera app, ready to take a photo.",
            "error_possibilities": "The camera app may fail to open due to permission issues or camera malfunction. The user may not have granted the app permission to access the camera."
          },
          {
            "action": "Take a photo using the camera app and confirm",
            "outcome": "The photo is saved and attached to the HACCP temperature record.",
            "next_state": "The user is returned to the previous screen (likely the HACCP checklist or temperature log) with the photo attached.",
            "error_possibilities": "The photo may not save correctly due to storage issues. The user may take a blurry or irrelevant photo."
          },
          {
            "action": "Tap 'Gallery' button",
            "outcome": "The device's photo gallery opens.",
            "next_state": "The user is now in the device's photo gallery, ready to select a photo.",
            "error_possibilities": "The gallery may fail to open due to permission issues. The user may not have granted the app permission to access the gallery."
          },
          {
            "action": "Select a photo from the gallery",
            "outcome": "The selected photo is attached to the HACCP temperature record.",
            "next_state": "The user is returned to the previous screen (likely the HACCP checklist or temperature log) with the photo attached.",
            "error_possibilities": "The photo may not be compatible with the app. The user may select an irrelevant photo."
          },
          {
            "action": "Tap the 'X' icon in the top right corner",
            "outcome": "The photo selection process is cancelled.",
            "next_state": "The user is returned to the previous screen (likely the HACCP checklist or temperature log) without adding a photo.",
            "error_possibilities": "None."
          },
          {
            "action": "Tap the gallery icon in the top right corner",
            "outcome": "The device's photo gallery opens.",
            "next_state": "The user is now in the device's photo gallery, ready to select a photo.",
            "error_possibilities": "The gallery may fail to open due to permission issues. The user may not have granted the app permission to access the gallery."
          }
        ],
        "edge_cases": [
          "The user may not have a camera on their device.",
          "The user may not have any photos in their gallery.",
          "The user may have limited storage space on their device.",
          "The user may have poor network connectivity, which could affect the upload of the photo.",
          "The user may accidentally select the wrong photo.",
          "The app may not have the necessary permissions to access the camera or gallery."
        ],
        "benefits": "The screen provides a simple and direct way to add visual documentation to HACCP records, improving accuracy and compliance. It offers flexibility by allowing users to choose between taking a new photo or using an existing one.",
        "mental_model": "The screen supports a mental model of attaching a file (photo) to a record. The user understands that they need to provide a photo and the screen presents them with the standard options for doing so (camera or gallery)."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "camera",
            "trigger": "Tap 'Camera' button",
            "data_passed": "None",
            "purpose": "Take a photo for temperature display"
          },
          {
            "screen_type": "gallery",
            "trigger": "Tap 'Gallery' button",
            "data_passed": "None",
            "purpose": "Select a photo from the gallery for temperature display"
          },
          {
            "screen_type": "HACCP Checklist",
            "trigger": "Tap the close button",
            "data_passed": "None",
            "purpose": "Return to the HACCP Checklist screen"
          }
        ],
        "depends_on": [
          {
            "screen_type": "HACCP Checklist",
            "required_data": "HACCP checklist context",
            "purpose": "To know which checklist this temperature display is associated with"
          }
        ],
        "data_flow": "This screen receives context from the HACCP checklist screen. It allows the user to take or select a photo. The photo (and potentially temperature data extracted from it) is then likely sent back to the HACCP checklist screen to be associated with a specific checklist item.",
        "navigation_patterns": [
          {
            "pattern_type": "modal",
            "description": "This screen appears as a modal overlay on top of the HACCP checklist screen."
          },
          {
            "pattern_type": "back",
            "description": "Tapping the close button returns the user to the previous screen (HACCP checklist)."
          },
          {
            "pattern_type": "branching",
            "description": "User can choose to navigate to the camera or the gallery."
          }
        ],
        "feature_dependencies": [
          "HACCP",
          "Camera",
          "Gallery"
        ],
        "alternative_paths": [
          "User might skip adding a photo and proceed with the HACCP checklist without it (if the photo is optional)."
        ]
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "Add Temperature Display Photo to HACCP Checklist",
            "goal": "Add a photo of a temperature display to a HACCP checklist item.",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Shift Task List",
                "action": "Select a shift task",
                "outcome": "Navigates to the selected shift task details."
              },
              {
                "step_number": 2,
                "screen_type": "HACCP Checklist",
                "action": "Select a HACCP checklist item requiring a temperature display photo.",
                "outcome": "Navigates to the temperature display photo upload screen."
              },
              {
                "step_number": 3,
                "screen_type": "Foto Temperature Display",
                "action": "Choose to take a photo with the camera.",
                "outcome": "Opens the device's camera application."
              },
              {
                "step_number": 4,
                "screen_type": "Foto Temperature Display",
                "action": "Take a photo of the temperature display.",
                "outcome": "The photo is captured and displayed for confirmation."
              },
              {
                "step_number": 5,
                "screen_type": "Foto Temperature Display",
                "action": "Confirm the photo.",
                "outcome": "The photo is uploaded and associated with the HACCP checklist item."
              }
            ],
            "happy_path": true,
            "alternative_paths": [
              {
                "journey_name": "Add Temperature Display Photo from Gallery",
                "steps": [
                  {
                    "step_number": 3,
                    "screen_type": "Foto Temperature Display",
                    "action": "Choose to select a photo from the gallery.",
                    "outcome": "Opens the device's photo gallery."
                  },
                  {
                    "step_number": 4,
                    "screen_type": "Foto Temperature Display",
                    "action": "Select a photo of the temperature display from the gallery.",
                    "outcome": "The selected photo is displayed for confirmation."
                  },
                  {
                    "step_number": 5,
                    "screen_type": "Foto Temperature Display",
                    "action": "Confirm the photo.",
                    "outcome": "The photo is uploaded and associated with the HACCP checklist item."
                  }
                ]
              }
            ]
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [
            "Quickly add visual evidence of temperature readings.",
            "Easily document temperature checks with photos from the camera or gallery.",
            "Streamline the temperature logging process."
          ],
          "manager": [
            "Ensure accurate and reliable temperature records with visual confirmation.",
            "Simplify auditing and compliance processes.",
            "Improve accountability for temperature monitoring."
          ],
          "hr_admin": [],
          "general": [
            "Choose to take a new photo or upload an existing one.",
            "Simple and intuitive interface for adding photos."
          ]
        },
        "business_value": {
          "problem_solved": "The need to provide visual evidence of temperature readings for HACCP compliance.",
          "value_proposition": "Provides a simple and efficient way to add photos to temperature records, ensuring accuracy and compliance.",
          "differentiators": "Seamless integration with the Ordio platform, allowing for easy photo capture or upload directly within the temperature logging workflow.",
          "impact": "Improved accuracy and reliability of temperature records, simplified auditing, and enhanced compliance with HACCP regulations."
        },
        "use_cases": [
          {
            "scenario": "A kitchen employee needs to record the temperature of a refrigerator. They take a photo of the thermometer reading and attach it to the temperature log.",
            "user_type": "employee",
            "benefit": "Provides visual proof of the temperature reading, ensuring accuracy and compliance."
          },
          {
            "scenario": "A restaurant manager is reviewing temperature logs and notices a questionable reading. They can view the attached photo to verify the accuracy of the reading.",
            "user_type": "manager",
            "benefit": "Allows for easy verification of temperature readings and identification of potential issues."
          },
          {
            "scenario": "During a health inspection, the inspector requests to see temperature records. The manager can easily provide the logs with attached photos as evidence of compliance.",
            "user_type": "manager",
            "benefit": "Simplifies the auditing process and demonstrates compliance with regulations."
          }
        ],
        "value_statements": [
          "Capture temperature readings with visual proof.",
          "Simplify HACCP compliance with photo documentation.",
          "Ensure accurate temperature records with integrated photo capture.",
          "Streamline your temperature logging process with easy photo uploads."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2693",
      "sequence_index": 38,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2693.png",
      "basic_info": {
        "screen_name": "Product Showcase",
        "feature_area": "other",
        "ui_elements": [
          "Refrigerators",
          "Liebherr logo",
          "Product labels"
        ],
        "functionality_visible": [
          "Display of refrigerators",
          "Display of product information"
        ],
        "navigation_paths": [],
        "data_displayed": [
          "Refrigerator models",
          "Liebherr GKPv 6590",
          "Liebherr GKPv 6572"
        ],
        "user_actions": [],
        "visible_text_labels": [
          "Liebherr GKPv 6590",
          "Liebherr GKPv 6572"
        ],
        "one_line_description": "This screen displays two Liebherr refrigerators, showcasing their models and brand.",
        "screenshot_id": "IMG_2693",
        "sequence_index": 38,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2693.png"
      },
      "deep_understanding": {
        "screen_context": "This screen appears after the user has completed the HACCP checklist, including temperature checks and signature, and is ready to end their shift or start a break.",
        "user_goal": "The user wants to either start a break or end their shift after completing the necessary HACCP checks.",
        "business_value": "This screen ensures compliance with HACCP regulations by requiring employees to complete the checklist before ending their shift or starting a break. It also accurately tracks employee time and attendance.",
        "state_information": {
          "data_shown": "The screen displays a countdown timer, indicating the time elapsed since the start of the shift or the last action. It also shows options to start a break or end the shift.",
          "editable_fields": "None.",
          "read_only_fields": "Countdown timer.",
          "current_state": "The app is in a state where the user has completed the HACCP checklist and is ready to either start a break or end their shift."
        },
        "interactions": [
          {
            "action": "Tap 'Pause starten' button",
            "outcome": "Starts a break timer.",
            "next_state": "The app transitions to a break timer screen.",
            "error_possibilities": "The button might be disabled if the user has already started a break or if there are network connectivity issues."
          },
          {
            "action": "Tap 'Schicht beenden' button",
            "outcome": "Ends the current shift.",
            "next_state": "The app transitions to a confirmation screen or a screen indicating the shift has ended successfully.",
            "error_possibilities": "The button might be disabled if the user has not completed the HACCP checklist or if there are network connectivity issues. There might also be errors if the user tries to end the shift before the minimum required time."
          }
        ],
        "edge_cases": "Different user roles might have different options available (e.g., a manager might have additional options). The screen might display different messages based on the time of day or the user's location. If the user has not completed the HACCP checklist, the 'Schicht beenden' button might be disabled.",
        "benefits": "The screen provides a clear and simple way for employees to end their shift or start a break after completing the necessary HACCP checks. It ensures compliance with regulations and accurately tracks employee time.",
        "mental_model": "The screen reinforces the mental model that completing the HACCP checklist is a prerequisite for ending the shift or starting a break. It also supports the understanding that the app is used for time tracking and compliance purposes."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "HACCP Checklist",
            "trigger": "User selects a product from the showcase that requires a HACCP check",
            "data_passed": "Product ID, product name, temperature requirements",
            "purpose": "To initiate a HACCP checklist specific to the selected product"
          },
          {
            "screen_type": "Foto Temperature Display",
            "trigger": "User selects a product from the showcase that requires temperature verification",
            "data_passed": "Product ID, product name, acceptable temperature range",
            "purpose": "To allow the user to record the temperature of the selected product"
          }
        ],
        "depends_on": [
          {
            "screen_type": "Shift Task List",
            "required_data": "List of products requiring attention (HACCP, temperature checks)",
            "purpose": "To display relevant products based on the current shift's tasks"
          }
        ],
        "data_flow": "Data flows in from the Shift Task List, indicating which products need attention. Data flows out to the HACCP Checklist or Foto Temperature Display, passing product-specific information.",
        "navigation_patterns": [
          {
            "pattern_type": "branching",
            "description": "From the Product Showcase, the user can branch to either the HACCP Checklist or the Foto Temperature Display, depending on the selected product and its requirements."
          },
          {
            "pattern_type": "back",
            "description": "The user can navigate back to the Shift Task List."
          }
        ],
        "feature_dependencies": [
          "HACCP",
          "Temperature Monitoring",
          "Task Management"
        ],
        "alternative_paths": [
          "The user might access the HACCP Checklist or Foto Temperature Display directly from the Shift Task List, bypassing the Product Showcase if the task is already clearly defined.",
          "The user might use a search function to find a specific product instead of browsing the showcase."
        ]
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "View Product Showcase",
            "goal": "View product details and specifications",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Time Clock",
                "action": "Complete time clock action",
                "outcome": "Time clock action is recorded"
              },
              {
                "step_number": 2,
                "screen_type": "HACCP Checklist",
                "action": "Complete HACCP checklist",
                "outcome": "HACCP checklist is completed"
              },
              {
                "step_number": 3,
                "screen_type": "Foto Temperature Display",
                "action": "View temperature display",
                "outcome": "Temperature display is shown"
              },
              {
                "step_number": 4,
                "screen_type": "Product Showcase",
                "action": "View product showcase",
                "outcome": "Product details are displayed"
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [],
          "manager": [],
          "hr_admin": [],
          "general": []
        },
        "business_value": {
          "problem_solved": "Ensuring food safety and compliance with HACCP regulations.",
          "value_proposition": "Provides a reliable and documented process for temperature monitoring and food safety checks, reducing risks and improving compliance.",
          "differentiators": "Integration of HACCP checklist, temperature checks, and signature capture within a mobile app.",
          "impact": "Reduces the risk of foodborne illnesses, improves regulatory compliance, and streamlines food safety management."
        },
        "use_cases": [
          {
            "scenario": "A restaurant employee completes their shift and needs to record the temperature of the refrigerators and freezers.",
            "user_type": "employee",
            "benefit": "Ensures accurate temperature logs are recorded, demonstrating compliance with food safety standards."
          },
          {
            "scenario": "A restaurant manager needs to verify that all temperature checks were completed during the day.",
            "user_type": "manager",
            "benefit": "Provides a centralized view of all temperature logs, allowing for easy monitoring and identification of potential issues."
          },
          {
            "scenario": "During a health inspection, the restaurant needs to provide proof of temperature monitoring and HACCP compliance.",
            "user_type": "manager",
            "benefit": "Provides readily available documentation of temperature logs and HACCP checklists, simplifying the inspection process."
          }
        ],
        "value_statements": [
          "Ensure food safety and compliance with a streamlined HACCP checklist.",
          "Simplify temperature monitoring and record-keeping with our mobile app.",
          "Reduce the risk of foodborne illnesses and improve regulatory compliance.",
          "Gain peace of mind knowing your food safety practices are up to standard."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2694",
      "sequence_index": 39,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2694.png",
      "basic_info": {
        "screen_name": "Signature",
        "feature_area": "other",
        "ui_elements": [
          "Signature field",
          "Sign button",
          "Reset button"
        ],
        "functionality_visible": [
          "Provide signature",
          "Reset signature"
        ],
        "navigation_paths": [
          "Tap 'Sign' to save signature",
          "Tap 'Reset' to clear signature",
          "Tap 'X' to close"
        ],
        "data_displayed": [],
        "user_actions": [
          "Draw signature",
          "Tap 'Sign'",
          "Tap 'Reset'"
        ],
        "visible_text_labels": [
          "HACCP",
          "Unterschrift vom ausführenden Mitarbeiter",
          "Unterschrift",
          "Sign",
          "Reset"
        ],
        "one_line_description": "This screen allows the user to provide a signature.",
        "screenshot_id": "IMG_2694",
        "sequence_index": 39,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2694.png"
      },
      "deep_understanding": {
        "screen_context": "This screen appears when the user needs to provide a signature as part of a HACCP checklist, likely after completing temperature checks or other required steps.",
        "user_goal": "The user's goal is to provide their signature to confirm that they have completed the HACCP checklist and that the information provided is accurate.",
        "business_value": "This screen ensures accountability and compliance with HACCP regulations by requiring employees to sign off on completed checklists. It provides a record of who performed the checks and when, which is important for audits and quality control.",
        "state_information": {
          "data_shown": "The screen displays a signature field where the user can draw their signature. It also shows the text 'Unterschrift vom ausführenden Mitarbeiter' (Signature of the executing employee) and 'Unterschrift' (Signature).",
          "editable_fields": [
            "Signature field"
          ],
          "read_only_fields": [
            "Text 'Unterschrift vom ausführenden Mitarbeiter'",
            "Text 'Unterschrift'"
          ],
          "current_state": "The signature field is currently empty, awaiting the user's signature."
        },
        "interactions": [
          {
            "action": "Draw a signature in the signature field",
            "outcome": "The signature is drawn in the signature field.",
            "next_state": "The signature field contains the user's signature.",
            "error_possibilities": "The signature may be illegible or incomplete. The drawing tool might not function correctly."
          },
          {
            "action": "Tap the 'Sign' button",
            "outcome": "The signature is saved and the user is likely taken to the next step in the HACCP checklist workflow or back to the checklist overview.",
            "next_state": "The signature is saved and the user is navigated to the next screen (likely the checklist overview or the next step in the workflow).",
            "error_possibilities": "The signature may not be saved due to network connectivity issues or data validation errors. The app may crash."
          },
          {
            "action": "Tap the 'Reset' button",
            "outcome": "The signature field is cleared, allowing the user to draw their signature again.",
            "next_state": "The signature field is empty.",
            "error_possibilities": "The reset button might not function correctly."
          },
          {
            "action": "Tap the 'X' icon",
            "outcome": "The signature screen is closed, and the user is likely taken back to the previous screen (HACCP checklist).",
            "next_state": "The user is navigated back to the previous screen (HACCP checklist).",
            "error_possibilities": "The screen might not close properly."
          }
        ],
        "edge_cases": [
          "User has difficulty drawing a signature on the touchscreen.",
          "User has poor handwriting, making the signature illegible.",
          "Network connectivity issues prevent the signature from being saved.",
          "The signature field is too small for the user's signature.",
          "The user accidentally taps the 'Reset' button after drawing their signature.",
          "Different user roles might have different signature requirements or validation rules."
        ],
        "benefits": "This screen allows employees to easily provide their signature electronically, eliminating the need for paper-based forms. It streamlines the HACCP checklist process and ensures that all required steps are completed and documented.",
        "mental_model": "The screen supports a mental model of a digital signature form, similar to signing a physical document. The user understands that they need to provide their signature to confirm their actions and that the signature will be stored as part of the record."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "HACCP Checklist",
            "trigger": "User taps 'Sign' button",
            "data_passed": "Signature data",
            "purpose": "To save the signature and return to the HACCP checklist"
          },
          {
            "screen_type": "HACCP Checklist",
            "trigger": "User taps the 'X' button",
            "data_passed": "None",
            "purpose": "To return to the HACCP checklist without saving the signature"
          }
        ],
        "depends_on": [
          {
            "screen_type": "HACCP Checklist",
            "required_data": "Context of the HACCP checklist being completed",
            "purpose": "To know which checklist the signature is for"
          }
        ],
        "data_flow": "The screen receives the context of the HACCP checklist. The user provides a signature, which is then sent back to the HACCP checklist screen upon saving. The signature data is likely stored in the app's database.",
        "navigation_patterns": [
          {
            "pattern_type": "modal",
            "description": "The signature screen appears as a modal overlay on top of the HACCP checklist screen."
          },
          {
            "pattern_type": "back",
            "description": "Tapping the 'X' button or the 'Sign' button navigates back to the HACCP checklist screen."
          }
        ],
        "feature_dependencies": [
          "HACCP"
        ],
        "alternative_paths": [
          "The user might skip the signature if it's not required for a particular checklist item."
        ]
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "Complete HACCP Checklist",
            "goal": "Sign off on a HACCP checklist item",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "HACCP Checklist",
                "action": "Select a checklist item",
                "outcome": "Navigates to the selected checklist item screen."
              },
              {
                "step_number": 2,
                "screen_type": "Foto Temperature Display",
                "action": "Take a photo of the temperature display",
                "outcome": "Photo is taken and displayed."
              },
              {
                "step_number": 3,
                "screen_type": "Product Showcase",
                "action": "Select a product",
                "outcome": "Product is selected and displayed."
              },
              {
                "step_number": 4,
                "screen_type": "Signature",
                "action": "Sign the checklist item",
                "outcome": "Signature is captured."
              },
              {
                "step_number": 5,
                "screen_type": "Checklist Item",
                "action": "Submit the checklist item",
                "outcome": "Checklist item is submitted and marked as complete."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [
            "Easily provide a digital signature for HACCP compliance.",
            "Quickly sign off on completed tasks and checklists.",
            "Reduce paperwork and manual processes."
          ],
          "manager": [
            "Ensure accountability by requiring employee signatures on HACCP tasks.",
            "Easily track who completed and signed off on specific tasks.",
            "Streamline the audit process with digital records."
          ],
          "hr_admin": [
            "Maintain a digital record of employee signatures for compliance purposes.",
            "Simplify record-keeping and reduce storage costs.",
            "Improve audit readiness with easily accessible signature data."
          ],
          "general": [
            "Provides a secure and legally binding digital signature.",
            "Offers a convenient and efficient way to sign documents.",
            "Reduces the risk of lost or damaged paper documents."
          ]
        },
        "business_value": {
          "problem_solved": "Ensures accountability and compliance with HACCP regulations by providing a digital signature capture mechanism.",
          "value_proposition": "Provides a secure, efficient, and legally binding way to capture employee signatures for HACCP compliance, reducing paperwork and improving audit readiness.",
          "differentiators": "Seamless integration with the Ordio mobile app, specifically designed for HACCP checklists and tasks.",
          "impact": "Improved compliance, reduced paperwork, streamlined audits, and increased accountability."
        },
        "use_cases": [
          {
            "scenario": "An employee completes a daily temperature check of refrigerators and freezers. They need to sign off on the checklist to confirm the accuracy of the readings.",
            "user_type": "employee",
            "benefit": "Provides a quick and easy way to sign off on completed temperature checks, ensuring accountability and compliance."
          },
          {
            "scenario": "A manager needs to review completed HACCP checklists and verify that all required tasks have been completed and signed off on by employees.",
            "user_type": "manager",
            "benefit": "Allows managers to easily track which employees have completed and signed off on specific tasks, ensuring accountability and compliance."
          },
          {
            "scenario": "During an audit, the auditor needs to verify that all required HACCP tasks have been completed and signed off on by employees.",
            "user_type": "hr_admin",
            "benefit": "Provides a digital record of employee signatures, making it easy to verify compliance and streamline the audit process."
          }
        ],
        "value_statements": [
          "Ensure HACCP compliance with secure digital signatures.",
          "Sign off on tasks quickly and easily with the Ordio mobile app.",
          "Reduce paperwork and streamline audits with digital signature capture.",
          "Improve accountability with employee signatures on HACCP checklists."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2695",
      "sequence_index": 40,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2695.png",
      "basic_info": {
        "screen_name": "Break Timer",
        "feature_area": "zeiterfassung",
        "ui_elements": [
          "Timer display",
          "Hold to start break button",
          "End shift button",
          "Coffee machine cleaning task"
        ],
        "functionality_visible": [
          "Start break",
          "End shift",
          "View break timer"
        ],
        "navigation_paths": [
          "Back to previous screen"
        ],
        "data_displayed": [
          "Remaining time",
          "Break task",
          "Break progress"
        ],
        "user_actions": [
          "Hold to start break",
          "Tap End shift"
        ],
        "visible_text_labels": [
          "11:38",
          "00:39",
          "Hold to start break",
          "Reinigung Kaffeemaschine",
          "0/4",
          "End shift"
        ],
        "one_line_description": "This screen displays a timer and allows the user to start a break for cleaning the coffee machine and end their shift.",
        "screenshot_id": "IMG_2695",
        "sequence_index": 40,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2695.png"
      },
      "deep_understanding": {
        "screen_context": "This screen appears to be a timer or break screen within the app. It likely appears after the user has started a shift or task and is taking a scheduled break.",
        "user_goal": "The user's goal is to take a break, potentially related to a specific task (cleaning the coffee machine), and then end their shift when the break is over.",
        "business_value": "This screen helps ensure employees take required breaks, which can improve productivity, well-being, and compliance with labor laws. It also allows for tracking of break times and task completion.",
        "state_information": {
          "data_shown": "The screen displays a countdown timer (00:39), a task description (Reinigung Kaffeemaschine - Cleaning Coffee Machine), a progress indicator (0/4), and buttons to start a break and end the shift. The timer indicates the remaining time of the break. The task description indicates the purpose of the break. The progress indicator shows how many times the break has been taken out of the required number.",
          "editable_fields": "The user cannot directly edit any fields on this screen, but they can initiate actions that change the state (start a break, end the shift).",
          "read_only_fields": "The timer value, task description, and progress indicator are read-only.",
          "current_state": "The app is currently displaying the break screen with a countdown timer running. The user has not yet started the break for the 'Reinigung Kaffeemaschine' task, as indicated by the 0/4 progress."
        },
        "interactions": [
          {
            "action": "Hold to start break",
            "outcome": "The timer starts counting down, and the progress indicator might increment if this is a recurring break.",
            "next_state": "The timer is actively counting down, indicating the break is in progress. The progress indicator may update.",
            "error_possibilities": "The break might not start if there are connectivity issues or if the user doesn't hold the button long enough."
          },
          {
            "action": "Tap 'End shift' button",
            "outcome": "The shift ends, and the user is likely taken to a summary screen or back to the main menu.",
            "next_state": "The app transitions to a shift summary screen or the main menu.",
            "error_possibilities": "The shift might not end if there are unsaved changes or if the user is not authorized to end the shift at this time."
          }
        ],
        "edge_cases": "1. Different user roles might have different break schedules or task assignments.\n2. The app might need to handle cases where the user doesn't take the required breaks.\n3. There might be different types of breaks (e.g., mandatory, optional) with different rules.\n4. The app needs to handle network connectivity issues during the break.\n5. The user might try to end the shift before completing all required breaks or tasks.",
        "benefits": "This screen helps users manage their breaks effectively, ensuring they take the necessary time to rest and recharge. It also helps them track their progress on specific tasks and manage their overall shift schedule.",
        "mental_model": "The screen supports a mental model of a structured work period with scheduled breaks. The user understands that they need to take breaks for specific tasks and that the app will help them manage their time and track their progress."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "Time Clock",
            "trigger": "End shift button press",
            "data_passed": "Shift duration, break information",
            "purpose": "To return to the main time clock screen after the break or shift ends."
          },
          {
            "screen_type": "Break Task",
            "trigger": "Hold to start break gesture on a break task",
            "data_passed": "Selected break task details (e.g., 'Reinigung Kaffeemaschine')",
            "purpose": "To initiate a specific break task."
          }
        ],
        "depends_on": [
          {
            "screen_type": "Time Clock",
            "required_data": "Current shift start time, active shift status",
            "purpose": "To know when the shift started and whether a break is allowed."
          }
        ],
        "data_flow": "Receives shift start time from the Time Clock screen. Sends shift duration and break information back to the Time Clock screen when the shift ends. Receives break task details when a break is started.",
        "navigation_patterns": [
          {
            "pattern_type": "linear",
            "description": "The user starts a break from the Time Clock screen, which leads to this Break Timer screen. After the break or shift ends, the user returns to the Time Clock screen."
          },
          {
            "pattern_type": "back",
            "description": "The back arrow in the top left allows the user to return to the previous screen (Time Clock)."
          }
        ],
        "feature_dependencies": [
          "zeiterfassung",
          "breaks"
        ],
        "alternative_paths": [
          {
            "description": "The user might not take any breaks during their shift and proceed directly from the Time Clock screen to ending their shift."
          }
        ]
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "Take a cleaning break",
            "goal": "Take a break to clean the coffee machine",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Foto Temperature Display",
                "action": "Clock in for shift",
                "outcome": "User clocks in for their shift"
              },
              {
                "step_number": 2,
                "screen_type": "Product Showcase",
                "action": "Select a product",
                "outcome": "User selects a product to work with"
              },
              {
                "step_number": 3,
                "screen_type": "Signature",
                "action": "Sign the document",
                "outcome": "User signs the document"
              },
              {
                "step_number": 4,
                "screen_type": "Break Timer",
                "action": "Hold to start break",
                "outcome": "Break timer starts for cleaning the coffee machine"
              },
              {
                "step_number": 5,
                "screen_type": "Cleaning Checklist",
                "action": "Complete the cleaning checklist",
                "outcome": "User completes the cleaning checklist"
              },
              {
                "step_number": 6,
                "screen_type": "Checklist Item",
                "action": "Mark item as complete",
                "outcome": "User marks each item as complete"
              },
              {
                "step_number": 7,
                "screen_type": "Break Timer",
                "action": "End break",
                "outcome": "Break ends and user returns to work"
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [
            "Easily track break times to ensure compliance with labor laws.",
            "Clearly see remaining break time.",
            "Quickly initiate pre-defined breaks (e.g., coffee break).",
            "Ability to end shift directly from the break screen."
          ],
          "manager": [
            "Ensure employees are taking required breaks.",
            "Gain insights into break patterns and adherence to schedules."
          ],
          "hr_admin": [
            "Maintain accurate records of employee break times for compliance and reporting.",
            "Simplify break management and reduce administrative overhead."
          ],
          "general": [
            "Simple and intuitive interface for managing breaks.",
            "Clear visual representation of break time remaining."
          ]
        },
        "business_value": {
          "problem_solved": "Ensures employees take required breaks and accurately tracks break times, reducing compliance risks and improving employee well-being.",
          "value_proposition": "Provides a simple and effective way to manage employee breaks, ensuring compliance, improving productivity, and promoting employee well-being.",
          "differentiators": "Pre-defined break types, direct shift ending from break screen, and a focus on simplicity and ease of use.",
          "impact": "Improved compliance with labor laws, reduced administrative overhead, increased employee productivity, and enhanced employee satisfaction."
        },
        "use_cases": [
          {
            "scenario": "An employee starts their shift and works for a few hours. The app reminds them to take a coffee break. They tap the 'Reinigung Kaffeemaschine' button to start their break and the timer begins counting down.",
            "user_type": "employee",
            "benefit": "Ensures the employee takes their legally required break and accurately tracks the break time."
          },
          {
            "scenario": "A manager reviews employee time sheets and notices a pattern of employees consistently missing their scheduled breaks. They can use this information to address the issue and ensure compliance.",
            "user_type": "manager",
            "benefit": "Provides insights into employee break patterns, allowing managers to identify and address compliance issues."
          },
          {
            "scenario": "An HR administrator needs to generate a report on employee break times for a compliance audit. The app provides accurate and detailed records of all employee breaks.",
            "user_type": "hr_admin",
            "benefit": "Simplifies compliance reporting by providing accurate and detailed records of employee break times."
          }
        ],
        "value_statements": [
          "Effortlessly manage employee breaks and ensure compliance with labor laws.",
          "Simplify break tracking and improve employee well-being with our intuitive break timer.",
          "Take control of your break schedule and boost productivity with our easy-to-use app.",
          "Ensure compliance and improve employee satisfaction with our comprehensive break management solution."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2696",
      "sequence_index": 41,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2696.png",
      "basic_info": {
        "screen_name": "Cleaning Checklist",
        "feature_area": "checklists",
        "ui_elements": [
          "Checklist items",
          "Image",
          "Checkboxes"
        ],
        "functionality_visible": [
          "View cleaning checklist",
          "Mark items as complete"
        ],
        "navigation_paths": [
          "Back to previous screen"
        ],
        "data_displayed": [
          "Checklist items",
          "Completion status of each item",
          "Date",
          "Title of checklist"
        ],
        "user_actions": [
          "Tap checkbox to mark item as complete"
        ],
        "visible_text_labels": [
          "Reinigung Kaffeemaschine",
          "0/4",
          "Wednesday, 01/21/2026",
          "Reinigung der Siebträgermaschine",
          "Siebträger entfernen",
          "Kaffeesatz-Behälter ausleeren",
          "Reinigungsprogramm starten",
          "Maschine von aussen mit Leder abwischen",
          "Streifenfrei mit dem dafür vorgesehenen Leder abwischen"
        ],
        "one_line_description": "This screen displays a checklist for cleaning a coffee machine, allowing the user to mark each step as completed.",
        "screenshot_id": "IMG_2696",
        "sequence_index": 41,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2696.png"
      },
      "deep_understanding": {
        "screen_context": "This screen appears after the user has initiated a break for cleaning the coffee machine, likely from a time tracking or task management module within the app. It provides a checklist of steps to follow during the cleaning break.",
        "user_goal": "The user's goal is to complete the coffee machine cleaning task according to the provided checklist.",
        "business_value": "This screen ensures that the coffee machine is cleaned properly and consistently, maintaining hygiene standards and potentially extending the lifespan of the machine. It also provides a structured break activity for employees.",
        "state_information": {
          "data_shown": "A checklist of tasks for cleaning the coffee machine, including 'Remove portafilter', 'Empty coffee grounds container', 'Start cleaning program', and 'Wipe the machine with leather'. The date (01/21/2026) and the title 'Cleaning Coffee Machine' are also displayed. The progress is shown as 0/4, indicating that none of the tasks have been completed yet.",
          "editable_fields": "The user can check or uncheck the boxes next to each task to indicate completion.",
          "read_only_fields": "The date, the task descriptions, and the total number of tasks are read-only.",
          "current_state": "The current state is that the user is in the process of cleaning the coffee machine, and none of the tasks have been marked as complete."
        },
        "interactions": [
          {
            "action": "Tap the checkbox next to 'Siebträger entfernen' (Remove portafilter)",
            "outcome": "The checkbox is filled, indicating that the task is complete.",
            "next_state": "The checkbox next to 'Siebträger entfernen' is checked, and the progress counter may update to 1/4.",
            "error_possibilities": "None. The checkbox should always toggle."
          },
          {
            "action": "Tap the checkbox next to 'Kaffeesatz-Behälter ausleeren' (Empty coffee grounds container)",
            "outcome": "The checkbox is filled, indicating that the task is complete.",
            "next_state": "The checkbox next to 'Kaffeesatz-Behälter ausleeren' is checked, and the progress counter may update.",
            "error_possibilities": "None. The checkbox should always toggle."
          },
          {
            "action": "Tap the checkbox next to 'Reinigungsprogramm starten' (Start cleaning program)",
            "outcome": "The checkbox is filled, indicating that the task is complete.",
            "next_state": "The checkbox next to 'Reinigungsprogramm starten' is checked, and the progress counter may update.",
            "error_possibilities": "None. The checkbox should always toggle."
          },
          {
            "action": "Tap the checkbox next to 'Maschine von aussen mit Leder abwischen' (Wipe the machine with leather)",
            "outcome": "The checkbox is filled, indicating that the task is complete.",
            "next_state": "The checkbox next to 'Maschine von aussen mit Leder abwischen' is checked, and the progress counter may update to 4/4. The app may transition to a 'task complete' state.",
            "error_possibilities": "None. The checkbox should always toggle."
          }
        ],
        "edge_cases": [
          "The user may not have the necessary materials (e.g., leather cloth) to complete a task.",
          "The coffee machine may be a different model, requiring slightly different cleaning steps.",
          "The user may be interrupted during the cleaning process and need to resume later.",
          "The cleaning program on the coffee machine might have an error.",
          "The user might not understand the instructions.",
          "The user might skip steps without marking them as complete."
        ],
        "benefits": "Provides a clear and structured checklist for cleaning the coffee machine, ensuring consistency and thoroughness. Helps the user stay on track and complete the task efficiently. Documents the cleaning process for auditing or compliance purposes.",
        "mental_model": "The screen supports a task-oriented mental model. The user understands that they have a set of tasks to complete, and the app provides a checklist to guide them through the process. The checkboxes provide a clear visual representation of progress."
      },
      "relationships": {
        "connects_to": [],
        "depends_on": [],
        "data_flow": "This screen receives information about the cleaning tasks for the coffee machine and their completion status. It potentially updates the completion status of each task.",
        "navigation_patterns": [
          {
            "pattern_type": "back",
            "description": "The user can navigate back to the previous screen (likely a list of checklists or a detail view of the coffee machine)."
          }
        ],
        "feature_dependencies": [
          "checklists"
        ],
        "alternative_paths": []
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "Cleaning Coffee Machine",
            "goal": "Clean the coffee machine according to the checklist",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Cleaning Checklist",
                "action": "View the cleaning checklist",
                "outcome": "The user sees the list of cleaning tasks for the coffee machine."
              },
              {
                "step_number": 2,
                "screen_type": "Cleaning Checklist",
                "action": "Complete the tasks in the checklist: Remove the portafilter, empty the coffee grounds container, start the cleaning program, and wipe the machine with leather.",
                "outcome": "The user completes the cleaning tasks one by one, marking them as done."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [
            "Ensures all cleaning steps are completed.",
            "Provides clear instructions for each step.",
            "Helps maintain the coffee machine in optimal condition.",
            "Reduces the risk of overlooking important cleaning tasks."
          ],
          "manager": [
            "Ensures consistent cleaning procedures are followed.",
            "Reduces downtime due to machine maintenance issues.",
            "Maintains a clean and hygienic work environment.",
            "Provides a standardized process for cleaning tasks."
          ],
          "hr_admin": [
            "Supports compliance with hygiene standards.",
            "Reduces potential health and safety risks.",
            "Provides a record of cleaning activities (if integrated with reporting).",
            "Helps maintain a positive workplace environment."
          ],
          "general": [
            "Easy-to-follow checklist format.",
            "Reduces errors in cleaning procedures.",
            "Promotes a consistent approach to cleaning.",
            "Improves the lifespan of the coffee machine."
          ]
        },
        "business_value": {
          "problem_solved": "Ensures consistent and thorough cleaning of the coffee machine, preventing maintenance issues and hygiene problems.",
          "value_proposition": "Provides a structured checklist to guide users through the cleaning process, ensuring all necessary steps are completed correctly and efficiently.",
          "differentiators": "Integration within a broader time tracking/task management app, providing seamless workflow and potentially automated scheduling of cleaning tasks.",
          "impact": "Reduces machine downtime, improves hygiene, extends machine lifespan, and promotes a more organized and efficient workplace."
        },
        "use_cases": [
          {
            "scenario": "An employee is assigned to clean the coffee machine during their break.",
            "user_type": "employee",
            "benefit": "The employee can easily follow the checklist to ensure all cleaning steps are completed correctly, even if they are new to the task."
          },
          {
            "scenario": "A manager wants to ensure the coffee machine is cleaned regularly and thoroughly.",
            "user_type": "manager",
            "benefit": "The manager can rely on the checklist to ensure consistent cleaning procedures are followed, reducing the risk of maintenance issues."
          },
          {
            "scenario": "HR needs to demonstrate compliance with hygiene standards during an audit.",
            "user_type": "hr_admin",
            "benefit": "If the checklist is integrated with reporting, HR can provide a record of cleaning activities to demonstrate compliance."
          }
        ],
        "value_statements": [
          "Ensure your coffee machine is always clean and ready to use with our easy-to-follow cleaning checklist.",
          "Maintain a hygienic workplace and extend the lifespan of your coffee machine with our structured cleaning process.",
          "Simplify coffee machine cleaning and reduce maintenance issues with our integrated checklist feature.",
          "Promote consistent cleaning procedures and improve workplace hygiene with our intuitive checklist tool."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2697",
      "sequence_index": 42,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2697.png",
      "basic_info": {
        "screen_name": "Checklist Item",
        "feature_area": "checklists",
        "ui_elements": [
          "Checklist item",
          "Checkbox",
          "Done button"
        ],
        "functionality_visible": [
          "Mark checklist item as complete",
          "Submit checklist"
        ],
        "navigation_paths": [
          "Tap 'Done' to submit the checklist"
        ],
        "data_displayed": [
          "Checklist item description"
        ],
        "user_actions": [
          "Tap checkbox",
          "Tap 'Done'"
        ],
        "visible_text_labels": [
          "Reinigung Kaffeemaschine",
          "Kaffeesatz-Behälter ausleeren",
          "Done"
        ],
        "one_line_description": "This screen shows a checklist item for cleaning a coffee machine, allowing the user to mark it as complete and submit the checklist.",
        "screenshot_id": "IMG_2697",
        "sequence_index": 42,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2697.png"
      },
      "deep_understanding": {
        "screen_context": "The user sees this screen after initiating a cleaning task for the coffee machine, likely from a checklist or task list within the app. It appears to be a confirmation screen after completing a step in the cleaning process.",
        "user_goal": "The user's goal is to confirm that they have emptied the coffee grounds container and to mark the task as complete.",
        "business_value": "This screen ensures that cleaning tasks are properly tracked and completed, maintaining hygiene standards and equipment functionality. It provides accountability and allows for monitoring of cleaning schedules.",
        "state_information": {
          "data_shown": "The screen displays the specific cleaning task 'Kaffeesatz-Behälter ausleeren' (Empty coffee grounds container) and a checkbox indicating its completion.",
          "editable_fields": "The user can only confirm the task by tapping the 'Done' button.",
          "read_only_fields": "The task description 'Kaffeesatz-Behälter ausleeren' is read-only.",
          "current_state": "The task 'Kaffeesatz-Behälter ausleeren' is marked as completed (checkbox is checked)."
        },
        "interactions": [
          {
            "action": "Tap 'Done' button",
            "outcome": "The screen closes, and the app records that the 'Kaffeesatz-Behälter ausleeren' task has been completed.",
            "next_state": "The app likely returns to the previous screen, such as the cleaning checklist or task list, with the completed task marked as such.",
            "error_possibilities": "No immediate errors are likely. However, if the user hasn't actually completed the task, the record will be inaccurate."
          }
        ],
        "edge_cases": "1. User accidentally marks the task as complete without actually doing it.\n2. The task is already marked as complete, and the user tries to mark it again.\n3. The app loses connection during the confirmation process, potentially leading to data loss or inconsistency.\n4. Different user roles might have different levels of access or permissions related to cleaning tasks.",
        "benefits": "1. Provides a clear confirmation step for completing cleaning tasks.\n2. Simplifies the process of tracking cleaning activities.\n3. Ensures accountability for cleaning tasks.\n4. Contributes to maintaining hygiene standards and equipment functionality.",
        "mental_model": "The screen supports a mental model of a checklist or task list where each item needs to be confirmed upon completion. The 'Done' button reinforces the idea of marking a task as finished."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "Cleaning Checklist",
            "trigger": "Tap on 'Done' button",
            "data_passed": "Updated checklist item status (completed)",
            "purpose": "To return to the main checklist screen with the updated status of the completed item."
          },
          {
            "screen_type": "Cleaning Checklist",
            "trigger": "Tap on the 'X' button",
            "data_passed": "No data passed, checklist remains unchanged",
            "purpose": "To return to the main checklist screen without saving any changes to the current item."
          }
        ],
        "depends_on": [
          {
            "screen_type": "Cleaning Checklist",
            "required_data": "List of checklist items, status of each item",
            "purpose": "To display the specific checklist item and its current status."
          }
        ],
        "data_flow": "This screen receives the checklist item details (e.g., 'Kaffeesatz-Behälter ausleeren') and its current completion status from the 'Cleaning Checklist' screen. Upon completion (tapping 'Done'), it sends the updated status back to the 'Cleaning Checklist' screen.",
        "navigation_patterns": [
          {
            "pattern_type": "modal",
            "description": "This screen appears as a modal overlay on top of the 'Cleaning Checklist' screen."
          },
          {
            "pattern_type": "back",
            "description": "Tapping 'Done' or 'X' navigates back to the 'Cleaning Checklist' screen."
          }
        ],
        "feature_dependencies": [
          "checklists"
        ],
        "alternative_paths": [
          "The user might skip this item and complete other items on the checklist first.",
          "The user might not complete the checklist at all."
        ]
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "Complete Cleaning Checklist",
            "goal": "Complete all tasks on the cleaning checklist",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Cleaning Checklist",
                "action": "Select a checklist item",
                "outcome": "Navigates to the checklist item screen"
              },
              {
                "step_number": 2,
                "screen_type": "Checklist Item",
                "action": "Check the box to mark the task as complete",
                "outcome": "The task is marked as complete"
              },
              {
                "step_number": 3,
                "screen_type": "Checklist Item",
                "action": "Tap 'Done'",
                "outcome": "Navigates back to the Cleaning Checklist screen with the task marked as complete"
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [
            "Easily track completed cleaning tasks for the coffee machine.",
            "Ensure all necessary steps are followed for proper maintenance.",
            "Receive clear instructions on what needs to be done."
          ],
          "manager": [
            "Verify that cleaning tasks are being completed as scheduled.",
            "Maintain a clean and functional coffee machine for employees.",
            "Reduce downtime and repair costs through preventative maintenance."
          ],
          "hr_admin": [],
          "general": [
            "Simple and intuitive interface for managing cleaning tasks.",
            "Clear confirmation of completed steps.",
            "Improved hygiene and maintenance of shared equipment."
          ]
        },
        "business_value": {
          "problem_solved": "Ensures cleaning tasks for the coffee machine are completed and tracked, preventing neglect and potential equipment issues.",
          "value_proposition": "Provides a structured and verifiable way to maintain the coffee machine, improving hygiene, extending its lifespan, and reducing maintenance costs.",
          "differentiators": "Part of a larger checklist system, allowing for comprehensive management of various tasks, not just isolated cleaning steps. Integrates with other Ordio features for a unified experience.",
          "impact": "Reduces equipment downtime, improves hygiene, lowers maintenance costs, and provides accountability for cleaning tasks."
        },
        "use_cases": [
          {
            "scenario": "An employee completes the task of emptying the coffee grounds container after brewing a pot of coffee.",
            "user_type": "employee",
            "benefit": "The employee can easily mark the task as complete, ensuring it's recorded and tracked for compliance."
          },
          {
            "scenario": "A manager reviews the cleaning checklist for the coffee machine to ensure all tasks are being completed regularly.",
            "user_type": "manager",
            "benefit": "The manager can quickly verify that the coffee machine is being properly maintained, preventing potential issues and ensuring a clean environment."
          },
          {
            "scenario": "The office maintenance team uses the checklist to ensure all cleaning tasks are performed on schedule.",
            "user_type": "employee",
            "benefit": "The maintenance team can follow a standardized process, ensuring no steps are missed and maintaining a consistent level of cleanliness."
          }
        ],
        "value_statements": [
          "Effortlessly manage coffee machine cleaning tasks with our intuitive checklist feature.",
          "Ensure proper maintenance and hygiene with clear task confirmations.",
          "Reduce downtime and maintenance costs by tracking completed cleaning steps.",
          "Maintain a clean and functional coffee machine for your employees with our easy-to-use checklist system."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2698",
      "sequence_index": 43,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2698.png",
      "basic_info": {
        "screen_name": "Break Timer",
        "feature_area": "zeiterfassung",
        "ui_elements": [
          "Timer display",
          "Task suggestion",
          "Progress indicator",
          "End shift button"
        ],
        "functionality_visible": [
          "View break timer",
          "Start break",
          "End shift"
        ],
        "navigation_paths": [
          "End shift",
          "Hold to start break"
        ],
        "data_displayed": [
          "Break time remaining",
          "Suggested task",
          "Task progress"
        ],
        "user_actions": [
          "Hold to start break",
          "Tap End shift"
        ],
        "visible_text_labels": [
          "11:38",
          "01:02",
          "Hold to start break",
          "Besteck polieren",
          "0/3",
          "End shift"
        ],
        "one_line_description": "This screen displays a timer for a break, suggests a task, and allows the user to end their shift.",
        "screenshot_id": "IMG_2698",
        "sequence_index": 43,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2698.png"
      },
      "deep_understanding": {
        "screen_context": "The user sees this screen after starting a break for a specific task, such as polishing cutlery. It appears to be a timer screen that counts down the break duration.",
        "user_goal": "The user's goal is to monitor the duration of their break and potentially end their shift after the break.",
        "business_value": "This screen ensures employees take appropriate breaks and allows for tracking of break times. It helps maintain compliance with labor laws and company policies regarding breaks. It also allows for task-specific break tracking.",
        "state_information": {
          "data_shown": "The screen displays the remaining time of the break (01:02), the task associated with the break (Besteck polieren - Polishing cutlery), and the number of breaks taken for that task (0/3).",
          "editable_fields": [],
          "read_only_fields": [
            "Remaining break time",
            "Task description",
            "Number of breaks taken for the task"
          ],
          "current_state": "The break timer is running. The user has not yet completed any of the allowed breaks for the task."
        },
        "interactions": [
          {
            "action": "Hold to start break",
            "outcome": "Starts the break timer.",
            "next_state": "The timer starts counting down.",
            "error_possibilities": "The break might not start if there are network issues or if the user doesn't hold the button long enough."
          },
          {
            "action": "Tap 'End shift' button",
            "outcome": "Ends the user's shift.",
            "next_state": "The app transitions to a shift summary screen or a logout screen.",
            "error_possibilities": "The shift might not end if there are network issues or if the user has not completed mandatory tasks."
          },
          {
            "action": "Tap the back arrow",
            "outcome": "Navigates to the previous screen.",
            "next_state": "Returns to the previous screen, likely the task list or the main time tracking screen.",
            "error_possibilities": "None."
          },
          {
            "action": "Tap the information icon",
            "outcome": "Displays more information about the break or the task.",
            "next_state": "A modal or a new screen with additional information is displayed.",
            "error_possibilities": "None."
          }
        ],
        "edge_cases": [
          "The user might try to end the shift before the break is over.",
          "The user might exceed the maximum number of allowed breaks for the task.",
          "The timer might malfunction due to a software bug.",
          "The user might lose network connectivity during the break.",
          "The user might receive a notification during the break.",
          "The user might have different roles with different break policies."
        ],
        "benefits": "The screen provides a clear visual representation of the break time remaining. It helps the user manage their time effectively and ensures they adhere to break policies. It also provides context about the task associated with the break.",
        "mental_model": "The screen reinforces the mental model of a break timer that counts down. The user understands that they are on a break for a specific task and that the timer is tracking the duration of that break. The 'End shift' button provides a clear exit point from the work period."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "Cleaning Checklist",
            "trigger": "Hold to start break",
            "data_passed": "Task ID, break duration",
            "purpose": "To start a break associated with a specific cleaning task"
          },
          {
            "screen_type": "shift detail",
            "trigger": "End shift",
            "data_passed": "Shift data, including break information",
            "purpose": "To end the current shift and save the shift details"
          }
        ],
        "depends_on": [
          {
            "screen_type": "Cleaning Checklist",
            "required_data": "List of cleaning tasks, current task ID",
            "purpose": "To know which task the break is associated with"
          }
        ],
        "data_flow": "Receives task ID from the Cleaning Checklist screen. Sends break start time and duration to the shift detail screen when the shift ends.",
        "navigation_patterns": [
          {
            "pattern_type": "linear",
            "description": "The user navigates from the Cleaning Checklist to the Break Timer. Holding the button starts the break and returns to the Cleaning Checklist. Pressing 'End shift' ends the shift and navigates to the shift detail screen."
          },
          {
            "pattern_type": "back",
            "description": "The back arrow returns to the previous screen (Cleaning Checklist)."
          }
        ],
        "feature_dependencies": [
          "zeiterfassung",
          "cleaning checklists",
          "shift management"
        ],
        "alternative_paths": [
          "The user might skip the break and continue with the cleaning checklist.",
          "The user might end the shift without taking a break."
        ]
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "Take a Break",
            "goal": "Take a break during a shift",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Cleaning Checklist",
                "action": "Select a checklist item",
                "outcome": "Navigates to Checklist Item screen"
              },
              {
                "step_number": 2,
                "screen_type": "Checklist Item",
                "action": "Complete the checklist item",
                "outcome": "Navigates to Break Timer screen"
              },
              {
                "step_number": 3,
                "screen_type": "Break Timer",
                "action": "Wait for the timer to count down",
                "outcome": "Timer counts down to zero"
              },
              {
                "step_number": 4,
                "screen_type": "Break Timer",
                "action": "Hold to start break",
                "outcome": "Navigates to Shift Countdown screen"
              },
              {
                "step_number": 5,
                "screen_type": "Shift Countdown",
                "action": "Continue working",
                "outcome": "Shift continues"
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          },
          {
            "journey_name": "End Shift from Break Timer",
            "goal": "End shift from the break timer screen",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Cleaning Checklist",
                "action": "Select a checklist item",
                "outcome": "Navigates to Checklist Item screen"
              },
              {
                "step_number": 2,
                "screen_type": "Checklist Item",
                "action": "Complete the checklist item",
                "outcome": "Navigates to Break Timer screen"
              },
              {
                "step_number": 3,
                "screen_type": "Break Timer",
                "action": "Tap 'End shift'",
                "outcome": "Navigates to End Shift Confirmation screen"
              },
              {
                "step_number": 4,
                "screen_type": "End Shift Confirmation",
                "action": "Confirm end shift",
                "outcome": "Shift ends"
              }
            ],
            "happy_path": false,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [
            "Clearly see the remaining time of your break.",
            "Easily track breaks taken for specific tasks.",
            "Helps manage time effectively during shifts.",
            "Reminds you to take breaks, preventing burnout."
          ],
          "manager": [
            "Ensures employees are taking appropriate breaks.",
            "Provides data on break times for task management.",
            "Helps in optimizing workflow based on break patterns."
          ],
          "hr_admin": [
            "Provides data for compliance with labor laws regarding breaks.",
            "Offers insights into employee well-being and workload."
          ],
          "general": [
            "Simple and intuitive interface for break management.",
            "Promotes a healthy work-life balance."
          ]
        },
        "business_value": {
          "problem_solved": "Ensures employees take necessary breaks, tracks break times for specific tasks, and helps with compliance.",
          "value_proposition": "Provides a clear and easy-to-use break timer that helps employees manage their time effectively and ensures compliance with break regulations.",
          "differentiators": "Integration with task management, allowing breaks to be associated with specific tasks. Simple and intuitive design.",
          "impact": "Improved employee well-being, better time management, and compliance with labor laws."
        },
        "use_cases": [
          {
            "scenario": "A kitchen staff member starts a break after polishing cutlery.",
            "user_type": "employee",
            "benefit": "The employee can easily track the duration of their break and return to the task on time."
          },
          {
            "scenario": "A manager reviews the break times for employees working on different tasks.",
            "user_type": "manager",
            "benefit": "The manager can identify potential bottlenecks or inefficiencies in the workflow based on break patterns."
          },
          {
            "scenario": "HR uses break data to ensure compliance with labor laws.",
            "user_type": "HR",
            "benefit": "HR can easily generate reports on break times to demonstrate compliance with regulations."
          }
        ],
        "value_statements": [
          "Stay on track with your breaks and tasks with our intuitive break timer.",
          "Manage your time effectively and ensure compliance with break regulations.",
          "Promote employee well-being and optimize workflow with our integrated break management system."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2699",
      "sequence_index": 44,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2699.png",
      "basic_info": {
        "screen_name": "Checklist",
        "feature_area": "checklists",
        "ui_elements": [
          "Checklist items",
          "Checkboxes",
          "Date",
          "Title bar"
        ],
        "functionality_visible": [
          "View checklist",
          "Mark items as complete"
        ],
        "navigation_paths": [
          "Tap back arrow to return to previous screen"
        ],
        "data_displayed": [
          "Checklist title",
          "Date",
          "List of checklist items",
          "Completion status of each item"
        ],
        "user_actions": [
          "Tap checkbox to mark item as complete",
          "Tap back arrow"
        ],
        "visible_text_labels": [
          "Besteck polieren",
          "0/3",
          "Wednesday, 01/21/2026",
          "Besteck aus der Spühlmaschine holen",
          "Besteck polieren",
          "Besteckkörbe auf den Tischen auffüllen um dann wieder weggeräumt zu werden",
          "Das ist ein Test für meine Mutter - die fährt mit einem Kutter und holt Butter",
          "Bitte einmal das Besteck aus der Spühlmaschine polieren"
        ],
        "one_line_description": "This screen displays a checklist for polishing cutlery, showing the items to be completed and their current status.",
        "screenshot_id": "IMG_2699",
        "sequence_index": 44,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2699.png"
      },
      "deep_understanding": {
        "screen_context": "The user sees this screen when they need to polish cutlery as part of their tasks for the day. It's likely triggered by a scheduled task or a checklist assigned to them.",
        "user_goal": "The user's goal is to complete the cutlery polishing task by following the checklist and marking each step as done.",
        "business_value": "This screen ensures that cutlery polishing is done correctly and consistently, maintaining hygiene standards and operational efficiency. It provides a structured approach to task completion, reducing errors and improving accountability.",
        "state_information": {
          "data_shown": "The screen displays a checklist of steps required to polish cutlery, the date the task is scheduled for (Wednesday, 01/21/2026), and the progress of the task (0/3 completed). It also shows a note: 'Das ist ein Test für meine Mutter - die fährt mit einem Kutter und holt Butter' (This is a test for my mother - she drives with a cutter and gets butter). This note seems out of place and likely a test note.",
          "editable_fields": "The user can mark each checklist item as complete by tapping the checkbox next to it.",
          "read_only_fields": "The date, the task title (Besteck polieren), the overall progress (0/3), and the checklist item descriptions are read-only.",
          "current_state": "The current state is that the task is in progress, with some steps already completed (2 out of 3 steps are checked). The user is on the main checklist screen."
        },
        "interactions": [
          {
            "action": "Tap the checkbox next to a checklist item.",
            "outcome": "The checkbox is marked as checked or unchecked, indicating completion or incompletion of the step.",
            "next_state": "The progress counter updates (e.g., from 2/3 to 3/3).",
            "error_possibilities": "The checkbox might not respond to the tap due to a software glitch or connectivity issue. The progress counter might not update correctly."
          },
          {
            "action": "Tap the back arrow.",
            "outcome": "The user navigates back to the previous screen, likely a list of tasks or a daily schedule.",
            "next_state": "The app displays the previous screen.",
            "error_possibilities": "The back navigation might fail due to a software error."
          }
        ],
        "edge_cases": "Different user roles might have different checklists or access levels. The task might be overdue. There might be connectivity issues preventing the user from updating the checklist. The checklist might be empty if no steps are defined for the task. The task might be assigned to multiple users.",
        "benefits": "The screen provides a clear and structured way to complete the cutlery polishing task. It ensures that all necessary steps are followed, improving consistency and quality. It allows the user to track their progress and provides a sense of accomplishment. It simplifies task management and reduces the risk of errors.",
        "mental_model": "The screen supports a checklist-based task management mental model. The user understands that they need to complete each item on the list to finish the task. The checkboxes provide a visual representation of progress and completion."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "Checklist Item",
            "trigger": "Tapping on an incomplete checklist item",
            "data_passed": "Checklist item details (text, status)",
            "purpose": "To allow the user to view and modify the details of a specific checklist item."
          },
          {
            "screen_type": "Checklist",
            "trigger": "Completing all checklist items",
            "data_passed": "Checklist ID, completion status",
            "purpose": "To update the checklist status and potentially trigger further actions (e.g., notification, next checklist)."
          },
          {
            "screen_type": "Previous Screen",
            "trigger": "Tapping the back button",
            "data_passed": "None",
            "purpose": "To return to the previous screen."
          }
        ],
        "depends_on": [
          {
            "screen_type": "Previous Screen",
            "required_data": "Checklist ID, Checklist Items",
            "purpose": "To display the correct checklist and its items."
          }
        ],
        "data_flow": "The screen receives checklist data (items, status) from a previous screen or data source. User interactions (checking/unchecking items) update the checklist status, which is then sent back to the data source.",
        "navigation_patterns": [
          {
            "pattern_type": "back",
            "description": "The user can navigate back to the previous screen using the back button."
          },
          {
            "pattern_type": "branching",
            "description": "Tapping on a checklist item navigates to a detail screen for that item."
          }
        ],
        "feature_dependencies": [
          "checklists",
          "tasks"
        ],
        "alternative_paths": [
          "The user might navigate to this screen from a notification or a task list.",
          "The user might skip this checklist if it's not mandatory."
        ]
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "Complete a checklist",
            "goal": "Complete all tasks in a checklist",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Checklist",
                "action": "View the checklist",
                "outcome": "User sees the list of tasks to complete."
              },
              {
                "step_number": 2,
                "screen_type": "Checklist",
                "action": "Taps on the checkbox next to 'Besteck aus der Spühlmaschine holen'",
                "outcome": "The checkbox is marked as completed."
              },
              {
                "step_number": 3,
                "screen_type": "Checklist",
                "action": "Taps on the checkbox next to 'Besteck polieren'",
                "outcome": "The checkbox is marked as completed."
              },
              {
                "step_number": 4,
                "screen_type": "Checklist",
                "action": "Taps on the checkbox next to 'Besteckkörbe auf den Tischen auffüllen um dann wieder weggeräumt zu werden'",
                "outcome": "The checkbox is marked as completed and the checklist is complete."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [
            "Clear task list ensures all steps are completed.",
            "Reduces errors by providing a structured approach to polishing cutlery.",
            "Easy to track progress and see what's left to do.",
            "Ensures consistency in how cutlery is polished."
          ],
          "manager": [
            "Ensures tasks are completed correctly and consistently.",
            "Easy to monitor progress of tasks.",
            "Reduces the need for constant supervision.",
            "Provides a clear record of completed tasks."
          ],
          "hr_admin": [],
          "general": [
            "Provides a structured approach to completing tasks.",
            "Reduces the risk of errors.",
            "Easy to track progress.",
            "Ensures consistency."
          ]
        },
        "business_value": {
          "problem_solved": "Ensures tasks are completed correctly and consistently, reducing errors and improving efficiency.",
          "value_proposition": "Provides a structured checklist to guide employees through the cutlery polishing process, ensuring all steps are completed and reducing the need for supervision.",
          "differentiators": "Mobile accessibility, task tracking, and clear step-by-step instructions.",
          "impact": "Improved efficiency, reduced errors, consistent quality, and better task management."
        },
        "use_cases": [
          {
            "scenario": "A new employee is assigned the task of polishing cutlery. They use the checklist to ensure they complete all the steps correctly.",
            "user_type": "employee",
            "benefit": "Reduces the learning curve and ensures the task is completed correctly from the start."
          },
          {
            "scenario": "A manager needs to ensure that cutlery polishing is done consistently across all shifts. They use the checklist to standardize the process.",
            "user_type": "manager",
            "benefit": "Ensures consistent quality and reduces the need for constant supervision."
          },
          {
            "scenario": "An employee is interrupted while polishing cutlery. They can easily resume the task by referring to the checklist and picking up where they left off.",
            "user_type": "employee",
            "benefit": "Reduces the risk of errors and ensures all steps are completed even after interruptions."
          }
        ],
        "value_statements": [
          "Ensure consistent cutlery polishing with our easy-to-use checklist.",
          "Reduce errors and improve efficiency with structured task management.",
          "Empower your employees with clear task instructions and progress tracking.",
          "Standardize your processes and improve quality with mobile checklists."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2700",
      "sequence_index": 45,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2700.png",
      "basic_info": {
        "screen_name": "Shift Countdown",
        "feature_area": "zeiterfassung",
        "ui_elements": [
          "Countdown timer",
          "Shift name",
          "Break indicator",
          "End shift button"
        ],
        "functionality_visible": [
          "View countdown to shift start",
          "Start break",
          "End shift"
        ],
        "navigation_paths": [
          "Tap back arrow to previous screen"
        ],
        "data_displayed": [
          "Countdown time",
          "Shift name",
          "Break status",
          "Number of breaks allowed"
        ],
        "user_actions": [
          "Hold to start break",
          "Tap End shift"
        ],
        "visible_text_labels": [
          "Frühschicht Küche",
          "0/1",
          "Hold to start break",
          "End shift"
        ],
        "one_line_description": "This screen displays a countdown timer before the start of a shift and allows the user to start a break or end the shift.",
        "screenshot_id": "IMG_2700",
        "sequence_index": 45,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2700.png"
      },
      "deep_understanding": {
        "screen_context": "This screen appears to be a countdown timer before the start of a break. It likely appears after the user has initiated a break from a previous screen (e.g., a time tracking or shift management screen).",
        "user_goal": "The user's goal is to wait for the countdown to finish so they can begin their break.",
        "business_value": "This screen ensures that breaks are taken at appropriate times, contributing to employee well-being and compliance with labor laws. It also provides a clear indication of when the break will start, improving time management.",
        "state_information": {
          "data_shown": "The screen displays a countdown timer (showing '2' in the screenshot), the name of the current shift/location ('Frühschicht Küche'), and the number of breaks taken vs. the number of breaks allowed (0/1).",
          "editable_fields": "There are no editable fields on this screen.",
          "read_only_fields": "The countdown timer, shift/location name, and break count are read-only.",
          "current_state": "The app is in a countdown state, waiting for the break to begin."
        },
        "interactions": [
          {
            "action": "Wait for the countdown to reach zero.",
            "outcome": "The app will likely transition to a break timer screen or a screen indicating the start of the break.",
            "next_state": "Break timer screen or break started screen.",
            "error_possibilities": "The countdown might not function correctly due to a software bug, or the app might crash."
          },
          {
            "action": "Tap the back arrow icon.",
            "outcome": "The user will likely navigate back to the previous screen (e.g., the time tracking or shift management screen).",
            "next_state": "Previous screen (e.g., time tracking or shift management screen).",
            "error_possibilities": "The back navigation might not work due to a software bug."
          },
          {
            "action": "Tap the information icon.",
            "outcome": "The app will likely display additional information about breaks or the current shift.",
            "next_state": "Information screen.",
            "error_possibilities": "The information screen might not load correctly or might display incorrect information."
          },
          {
            "action": "Hold to start break",
            "outcome": "The break will start immediately.",
            "next_state": "Break timer screen or break started screen.",
            "error_possibilities": "The hold action might not register correctly, or the break might not start."
          },
          {
            "action": "Tap 'End shift'",
            "outcome": "The app will end the shift.",
            "next_state": "Shift ended screen.",
            "error_possibilities": "The shift might not end correctly, or the app might crash."
          }
        ],
        "edge_cases": [
          "The user might have already taken the maximum number of breaks allowed.",
          "The user might be in a location where breaks are not permitted.",
          "The app might lose network connectivity during the countdown.",
          "The user might try to navigate away from the screen during the countdown.",
          "The user might have specific break rules or policies that affect the countdown or break duration."
        ],
        "benefits": "The screen provides a clear countdown timer, informing the user when their break will start. It also displays relevant information about the shift and break allowance. This helps the user manage their time effectively and ensures they comply with break policies.",
        "mental_model": "The screen supports a simple countdown timer mental model. The user understands that they need to wait for the timer to reach zero before their break can begin. The screen also reinforces the idea that breaks are tracked and managed within the app."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "Break Timer",
            "trigger": "Holding down on the 'Frühschicht Küche' button",
            "data_passed": "Shift details, break duration",
            "purpose": "To start a break"
          },
          {
            "screen_type": "Shift Summary",
            "trigger": "Tapping 'End shift'",
            "data_passed": "Shift details, including start time, end time, breaks taken, tasks completed",
            "purpose": "To end the shift and view a summary"
          },
          {
            "screen_type": "Information Screen",
            "trigger": "Tapping the information icon",
            "data_passed": "Contextual information about the shift or the countdown",
            "purpose": "To provide help or more information about the current screen"
          }
        ],
        "depends_on": [
          {
            "screen_type": "Checklist",
            "required_data": "Shift details (start time, location, tasks)",
            "purpose": "To know the shift details and tasks to be completed"
          }
        ],
        "data_flow": "This screen receives shift details and break information from previous screens. It sends shift details, break information, and task completion status to the Shift Summary screen when the shift ends. It also sends shift details to the Break Timer screen when a break is started.",
        "navigation_patterns": [
          {
            "pattern_type": "linear",
            "description": "The user progresses through the checklist and then arrives at this countdown screen."
          },
          {
            "pattern_type": "back",
            "description": "The user can tap the back arrow to return to the previous screen (likely the checklist)."
          }
        ],
        "feature_dependencies": [
          "zeiterfassung",
          "checklist",
          "break management"
        ],
        "alternative_paths": [
          "The user might skip the checklist and directly start the shift, leading to this screen.",
          "The user might end the shift prematurely, bypassing the countdown."
        ]
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "Start Shift",
            "goal": "Start a work shift and complete the checklist",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Checklist",
                "action": "Complete all checklist items",
                "outcome": "All checklist items are marked as complete."
              },
              {
                "step_number": 2,
                "screen_type": "Checklist Item",
                "action": "Tap on a checklist item",
                "outcome": "The checklist item screen is displayed."
              },
              {
                "step_number": 3,
                "screen_type": "Checklist Item",
                "action": "Complete the checklist item",
                "outcome": "The checklist item is marked as complete."
              },
              {
                "step_number": 4,
                "screen_type": "Shift Countdown",
                "action": "Wait for the countdown to finish",
                "outcome": "The shift starts."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          },
          {
            "journey_name": "Take a Break",
            "goal": "Take a break during the shift",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Shift Countdown",
                "action": "Hold to start break",
                "outcome": "Break timer starts."
              },
              {
                "step_number": 2,
                "screen_type": "Break Timer",
                "action": "Wait for the break timer to finish",
                "outcome": "The break ends."
              },
              {
                "step_number": 3,
                "screen_type": "Shift Countdown",
                "action": "Continue working",
                "outcome": "The shift continues."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          },
          {
            "journey_name": "End Shift",
            "goal": "End the work shift",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Shift Countdown",
                "action": "Tap on 'End Shift'",
                "outcome": "End Shift Confirmation screen is displayed."
              },
              {
                "step_number": 2,
                "screen_type": "End Shift Confirmation",
                "action": "Confirm end shift",
                "outcome": "Working Time Adjustment screen is displayed."
              },
              {
                "step_number": 3,
                "screen_type": "Working Time Adjustment",
                "action": "Adjust working time if needed",
                "outcome": "Signature screen is displayed."
              },
              {
                "step_number": 4,
                "screen_type": "Signature",
                "action": "Provide signature",
                "outcome": "Shift ends and data is saved."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [
            "Clearly see the countdown before a break starts, allowing for mental preparation and task completion.",
            "Ensures breaks are taken at the correct time, promoting well-being and preventing burnout.",
            "Provides a visual reminder of the break schedule, reducing confusion and improving adherence."
          ],
          "manager": [
            "Ensures employees take breaks as scheduled, maintaining productivity and compliance.",
            "Reduces the need for manual break monitoring, saving time and effort.",
            "Helps maintain a fair and consistent break policy across the team."
          ],
          "hr_admin": [
            "Supports compliance with labor laws and regulations regarding breaks.",
            "Provides data on break adherence for reporting and analysis.",
            "Streamlines break management processes, improving efficiency."
          ],
          "general": [
            "Improved time management and awareness.",
            "Reduced stress and improved well-being.",
            "Clear communication of break schedules."
          ]
        },
        "business_value": {
          "problem_solved": "Ensures employees take scheduled breaks on time, preventing burnout and maintaining compliance with labor laws.",
          "value_proposition": "Provides a clear and timely countdown to scheduled breaks, promoting employee well-being, productivity, and compliance.",
          "differentiators": "Potentially integrates with other Ordio features like time tracking and shift scheduling for a seamless experience. The visual countdown is simple and intuitive.",
          "impact": "Increased employee well-being, improved productivity, reduced compliance risks, and streamlined break management."
        },
        "use_cases": [
          {
            "scenario": "An employee is finishing a task and wants to know how much time they have before their scheduled break.",
            "user_type": "employee",
            "benefit": "Allows the employee to plan their remaining time effectively and mentally prepare for the break."
          },
          {
            "scenario": "A manager wants to ensure that all employees are taking their breaks as scheduled to comply with labor laws.",
            "user_type": "manager",
            "benefit": "Provides a visual reminder to employees, increasing the likelihood of break adherence and reducing the need for manual monitoring."
          },
          {
            "scenario": "HR needs to track break adherence across the company for compliance reporting.",
            "user_type": "hr_admin",
            "benefit": "The system automatically tracks break adherence, providing data for reporting and analysis."
          }
        ],
        "value_statements": [
          "Stay on track with your breaks and boost your well-being with our clear countdown timer.",
          "Ensure compliance and improve productivity with automated break management.",
          "Take control of your time and reduce stress with timely break reminders.",
          "Promote employee well-being and prevent burnout with scheduled breaks."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2701",
      "sequence_index": 46,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2701.png",
      "basic_info": {
        "screen_name": "End Shift Confirmation",
        "feature_area": "zeiterfassung",
        "ui_elements": [
          "Dialog box",
          "List of unfinished checklists",
          "End shift button",
          "Close button"
        ],
        "functionality_visible": [
          "Confirm end of shift",
          "View unfinished checklists"
        ],
        "navigation_paths": [
          "Tap 'End shift' to end the shift",
          "Tap 'X' to close the dialog"
        ],
        "data_displayed": [
          "List of unfinished checklists",
          "Checklist names",
          "Checklist progress",
          "Date of checklists"
        ],
        "user_actions": [
          "Tap 'End shift'",
          "Tap 'X'"
        ],
        "visible_text_labels": [
          "Open tasks",
          "You still have 4 unfinished checklists.",
          "Are you sure you want to finish your shift?",
          "HACCP",
          "Reinigung Kaffeemaschine",
          "Besteck polieren",
          "Frühschicht Küche",
          "End shift",
          "We, 1/21/2026",
          "from 08:00 to 16:00",
          "0/4",
          "0/3",
          "0/1"
        ],
        "one_line_description": "This screen confirms the end of a shift and displays a list of unfinished checklists.",
        "screenshot_id": "IMG_2701",
        "sequence_index": 46,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2701.png"
      },
      "deep_understanding": {
        "screen_context": "This screen appears when the user attempts to end their shift but has unfinished tasks remaining on their checklists. It serves as a confirmation and reminder to complete outstanding tasks.",
        "user_goal": "The user's goal is to either acknowledge the unfinished tasks and proceed to end their shift anyway, or to cancel ending the shift and return to complete the tasks.",
        "business_value": "This screen ensures that important tasks are completed before an employee ends their shift, maintaining operational standards and accountability. It reduces the risk of tasks being overlooked and ensures a smooth handover between shifts.",
        "state_information": {
          "data_shown": "The screen displays a list of unfinished checklists, including the name of each checklist (HACCP, Reinigung Kaffeemaschine, Besteck polieren, Frühschicht Küche), the date the task is due (We, 1/21/2026), and the progress of each checklist (e.g., 0/4, 0/3, 0/1). The time range for the Frühschicht Küche is also displayed (08:00 to 16:00). This data is relevant because it informs the user of the specific tasks they have not yet completed.",
          "editable_fields": "There are no editable fields on this screen. The user cannot directly modify the checklist items from this screen.",
          "read_only_fields": "All the information displayed on the screen, including the checklist names, due dates, progress, and shift time, are read-only.",
          "current_state": "The current state is that the user has attempted to end their shift, but the system has detected unfinished tasks. The screen is displaying a warning and confirmation prompt."
        },
        "interactions": [
          {
            "action": "Tap the 'End shift' button",
            "outcome": "The app will proceed to end the shift, even with unfinished tasks. A confirmation might be displayed, or the user might be taken to the next relevant screen (e.g., a summary of the shift).",
            "next_state": "The app transitions to a post-shift state, potentially displaying a shift summary or returning to the main screen.",
            "error_possibilities": "The app might encounter errors if there are issues with saving the shift data or if the user lacks the necessary permissions to end the shift."
          },
          {
            "action": "Tap the 'X' button (close)",
            "outcome": "The screen will close, and the user will be returned to the previous screen (likely the screen where they initiated the end-shift action).",
            "next_state": "The app returns to the previous screen, allowing the user to complete the unfinished tasks.",
            "error_possibilities": "There are no likely error possibilities for this action."
          }
        ],
        "edge_cases": "Different user roles might have different levels of permission to end shifts with unfinished tasks. Some checklists might be more critical than others, potentially triggering a more severe warning or preventing the shift from ending. The number of unfinished tasks could also influence the severity of the warning.",
        "benefits": "This screen helps users avoid accidentally ending their shift without completing important tasks. It provides a clear overview of unfinished items and allows them to make an informed decision about whether to proceed or return to complete the tasks. It also promotes accountability and ensures that tasks are not overlooked.",
        "mental_model": "This screen supports a mental model of task management and accountability. Users understand that the app tracks their progress and reminds them of unfinished tasks before allowing them to end their shift. It reinforces the importance of completing checklists and ensures that tasks are not forgotten."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "zeiterfassung",
            "trigger": "Tap 'End shift'",
            "data_passed": "None",
            "purpose": "Return to the main zeiterfassung screen after confirming the end of the shift."
          }
        ],
        "depends_on": [
          {
            "screen_type": "Checklist",
            "required_data": "List of unfinished tasks",
            "purpose": "To display the list of unfinished tasks before ending the shift."
          }
        ],
        "data_flow": "Receives a list of unfinished tasks from the checklist feature. No data is sent out.",
        "navigation_patterns": [
          {
            "pattern_type": "modal",
            "description": "This screen appears as a modal overlay on top of the previous screen."
          },
          {
            "pattern_type": "back",
            "description": "Tapping the 'X' icon closes the modal and returns to the previous screen."
          }
        ],
        "feature_dependencies": [
          "zeiterfassung",
          "Checklists"
        ],
        "alternative_paths": [
          "Complete all checklists before ending the shift to avoid this screen."
        ]
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "End Shift",
            "goal": "End a work shift and record working hours",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Shift Countdown",
                "action": "Tap 'End Shift'",
                "outcome": "End Shift Confirmation screen appears, showing unfinished tasks."
              },
              {
                "step_number": 2,
                "screen_type": "End Shift Confirmation",
                "action": "Tap 'End Shift'",
                "outcome": "Working Time Adjustment screen appears."
              },
              {
                "step_number": 3,
                "screen_type": "Working Time Adjustment",
                "action": "Adjust working time if needed",
                "outcome": "Signature screen appears."
              },
              {
                "step_number": 4,
                "screen_type": "Signature",
                "action": "Sign to confirm working hours",
                "outcome": "Shift end is recorded."
              },
              {
                "step_number": 5,
                "screen_type": "Signature",
                "action": "Submit signature",
                "outcome": "Shift end is recorded."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [
          {
            "error_type": "Unfinished Tasks",
            "recovery_steps": [
              {
                "step_number": 1,
                "screen_type": "End Shift Confirmation",
                "action": "Tap 'X' to close the confirmation",
                "outcome": "Returns to the previous screen (Shift Countdown)."
              },
              {
                "step_number": 2,
                "screen_type": "Shift Countdown",
                "action": "Complete the unfinished tasks (HACCP, Reinigung Kaffeemaschine, Besteck polieren, Frühschicht Küche)",
                "outcome": "Tasks are completed."
              },
              {
                "step_number": 3,
                "screen_type": "Shift Countdown",
                "action": "Tap 'End Shift'",
                "outcome": "End Shift Confirmation screen appears, showing no unfinished tasks."
              },
              {
                "step_number": 4,
                "screen_type": "End Shift Confirmation",
                "action": "Tap 'End Shift'",
                "outcome": "Working Time Adjustment screen appears."
              }
            ]
          }
        ],
        "flow_variations": [
          {
            "variation_type": "No Unfinished Tasks",
            "differences": "If there are no unfinished tasks, the End Shift Confirmation screen will not appear, and the user will proceed directly to the Working Time Adjustment screen after tapping 'End Shift' on the Shift Countdown screen."
          }
        ]
      },
      "benefits": {
        "user_benefits": {
          "employee": [
            "Ensures all required tasks are completed before ending a shift, preventing oversight.",
            "Provides a clear overview of remaining tasks, allowing for efficient prioritization.",
            "Reduces the likelihood of errors or omissions in daily operations.",
            "Helps maintain consistent standards and quality of work."
          ],
          "manager": [
            "Ensures compliance with operational procedures and standards.",
            "Provides visibility into task completion rates and potential bottlenecks.",
            "Reduces the need for manual follow-up on incomplete tasks.",
            "Facilitates accountability for task completion."
          ],
          "hr_admin": [
            "Supports compliance with regulatory requirements (e.g., HACCP).",
            "Provides data for performance monitoring and improvement.",
            "Streamlines operational workflows and reduces administrative burden.",
            "Ensures consistent application of company policies."
          ],
          "general": [
            "Improved task management and organization.",
            "Reduced risk of errors and omissions.",
            "Enhanced accountability and compliance.",
            "Streamlined workflows and increased efficiency."
          ]
        },
        "business_value": {
          "problem_solved": "Prevents employees from ending their shift with incomplete tasks, which can lead to operational inefficiencies, compliance issues, and reduced quality of service.",
          "value_proposition": "Ensures all necessary tasks are completed before the end of a shift, maintaining operational standards and compliance.",
          "differentiators": "Provides a clear, visual reminder of unfinished tasks directly within the shift-ending workflow, making it easy for employees to address them before clocking out.",
          "impact": "Improved operational efficiency, reduced risk of errors and compliance issues, enhanced quality of service, and increased accountability."
        },
        "use_cases": [
          {
            "scenario": "An employee is about to end their shift but forgets to complete the daily HACCP checklist.",
            "user_type": "employee",
            "benefit": "The system reminds the employee of the unfinished HACCP checklist, ensuring compliance with food safety regulations."
          },
          {
            "scenario": "A manager reviews shift completion data and notices a recurring pattern of incomplete 'Reinigung Kaffeemaschine' tasks.",
            "user_type": "manager",
            "benefit": "The manager can identify a potential training need or process inefficiency related to coffee machine cleaning."
          },
          {
            "scenario": "An HR administrator needs to demonstrate compliance with cleaning protocols during an audit.",
            "user_type": "hr_admin",
            "benefit": "The system provides a record of completed cleaning tasks, supporting compliance efforts."
          }
        ],
        "value_statements": [
          "Ensure complete task execution before shift end.",
          "Minimize errors and maintain operational standards.",
          "Stay compliant with regulations and internal policies.",
          "Improve efficiency and accountability in daily operations."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2702",
      "sequence_index": 47,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2702.png",
      "basic_info": {
        "screen_name": "Working Time Adjustment",
        "feature_area": "zeiterfassung",
        "ui_elements": [
          "Time input fields",
          "Confirm button",
          "Date display"
        ],
        "functionality_visible": [
          "Adjust working time"
        ],
        "navigation_paths": [],
        "data_displayed": [
          "Start time",
          "End time",
          "Date"
        ],
        "user_actions": [
          "Tap on time to adjust",
          "Confirm"
        ],
        "visible_text_labels": [
          "Working time",
          "Today, 21.01.2026",
          "Click on a time to adjust",
          "11:37",
          "11:39",
          "Confirm"
        ],
        "one_line_description": "This screen allows the user to adjust the start and end times for their working time on a specific date.",
        "screenshot_id": "IMG_2702",
        "sequence_index": 47,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2702.png"
      },
      "deep_understanding": {
        "screen_context": "This screen appears when the user is adjusting their working time, likely after initiating a shift or break, or when editing their time entries.",
        "user_goal": "The user wants to confirm or adjust the start and end times of their working period.",
        "business_value": "This screen ensures accurate time tracking for payroll, compliance, and workforce management. It allows employees to correct any discrepancies in their recorded working hours.",
        "state_information": {
          "data_shown": "The screen displays the start and end times of the working period, along with the current date. This is relevant for the user to verify and adjust their working hours.",
          "editable_fields": "The start and end times (11:37 and 11:39) are editable by clicking on them.",
          "read_only_fields": "The date (21.01.2026) is displayed but likely not directly editable on this screen.",
          "current_state": "The current state shows a proposed start and end time for the working period, which the user can either confirm or adjust."
        },
        "interactions": [
          {
            "action": "Tap on the start time (11:37)",
            "outcome": "A time picker or similar interface appears, allowing the user to adjust the start time.",
            "next_state": "The screen displays a time picker interface.",
            "error_possibilities": "The time picker might not function correctly, or the user might accidentally select the wrong time."
          },
          {
            "action": "Tap on the end time (11:39)",
            "outcome": "A time picker or similar interface appears, allowing the user to adjust the end time.",
            "next_state": "The screen displays a time picker interface.",
            "error_possibilities": "The time picker might not function correctly, or the user might accidentally select the wrong time."
          },
          {
            "action": "Tap the 'Confirm' button",
            "outcome": "The adjusted or original start and end times are saved, and the user is likely redirected to a previous screen or a summary of their working time.",
            "next_state": "The app transitions to a confirmation screen or back to the time tracking dashboard.",
            "error_possibilities": "The confirmation might fail due to network issues or data validation errors (e.g., end time before start time). An error message would be displayed."
          }
        ],
        "edge_cases": [
          "The user might try to set an end time earlier than the start time, resulting in an error.",
          "The user might have limited permissions to edit time entries, depending on their role.",
          "The app might need to handle different time zones.",
          "The date might be in a different format based on the user's locale.",
          "The user might not have any working time recorded for that day, leading to a blank screen or a different initial state."
        ],
        "benefits": "The screen allows users to accurately record their working hours, ensuring they are paid correctly and that the company complies with labor laws. It provides flexibility to correct any errors in time tracking.",
        "mental_model": "The screen reinforces the mental model of a time clock, where users can 'punch in' and 'punch out' to record their working hours. It also supports the idea that these entries can be reviewed and adjusted if necessary."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "zeiterfassung",
            "trigger": "Confirm button press",
            "data_passed": "{startTime: selectedStartTime, endTime: selectedEndTime, date: 21.01.2026}",
            "purpose": "To save the adjusted working time and return to the main time tracking screen."
          }
        ],
        "depends_on": [
          {
            "screen_type": "zeiterfassung",
            "required_data": "{startTime: initialStartTime, endTime: initialEndTime, date: currentDate}",
            "purpose": "To display the current working time and allow the user to adjust it."
          }
        ],
        "data_flow": "This screen receives the initial start and end times from the previous screen. The user can adjust these times. Upon confirmation, the adjusted start and end times are sent back to the main time tracking screen.",
        "navigation_patterns": [
          {
            "pattern_type": "modal",
            "description": "This screen appears as a modal overlay on top of the main time tracking screen. After confirming the adjusted time, the modal closes and the user returns to the main screen."
          }
        ],
        "feature_dependencies": [
          "zeiterfassung"
        ],
        "alternative_paths": [
          "The user might not adjust the time and simply return to the main time tracking screen without confirming."
        ]
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "Adjust Working Time",
            "goal": "Adjust the start and end times of a work period.",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Working Time Adjustment",
                "action": "Click on a time (11:37 or 11:39) to adjust it.",
                "outcome": "Time selection interface appears (not shown in image)."
              },
              {
                "step_number": 2,
                "screen_type": "Working Time Adjustment",
                "action": "Adjust the selected time.",
                "outcome": "The selected time is updated."
              },
              {
                "step_number": 3,
                "screen_type": "Working Time Adjustment",
                "action": "Click 'Confirm'.",
                "outcome": "Navigates to the next screen, likely Signature."
              },
              {
                "step_number": 4,
                "screen_type": "Signature",
                "action": "Provide signature",
                "outcome": "Signature is recorded"
              },
              {
                "step_number": 5,
                "screen_type": "Time Tracking Summary",
                "action": "Review the time tracking summary",
                "outcome": "User sees the adjusted working time summary."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [
            "Easily adjust and confirm working times for accurate time tracking.",
            "Correct any errors in automatically recorded times.",
            "Ensure accurate payroll and compensation.",
            "Provides transparency and control over recorded work hours."
          ],
          "manager": [
            "Ensure accurate time tracking for team members.",
            "Quickly review and approve adjusted working times.",
            "Reduce discrepancies in time entries.",
            "Improved accuracy in project costing and resource allocation."
          ],
          "hr_admin": [
            "Streamline payroll processing with accurate time data.",
            "Reduce time spent resolving time entry disputes.",
            "Ensure compliance with labor laws and regulations.",
            "Improved data accuracy for reporting and analysis."
          ],
          "general": [
            "Simple and intuitive interface for time adjustment.",
            "Clear confirmation process to avoid errors.",
            "Ability to adjust times for specific dates."
          ]
        },
        "business_value": {
          "problem_solved": "Inaccurate or incomplete time tracking leading to payroll errors, compliance issues, and inefficient resource allocation.",
          "value_proposition": "Provides a simple and accurate way for employees to adjust and confirm their working times, ensuring accurate payroll, compliance, and efficient resource management.",
          "differentiators": "User-friendly interface, direct integration with time tracking system, clear confirmation process.",
          "impact": "Reduced payroll errors, improved compliance, increased employee satisfaction, and better resource allocation."
        },
        "use_cases": [
          {
            "scenario": "An employee forgot to clock out at the end of their shift and the system automatically recorded a full 24 hours. They need to adjust the end time to reflect their actual departure.",
            "user_type": "employee",
            "benefit": "Correct inaccurate time entries to ensure accurate pay."
          },
          {
            "scenario": "A manager needs to review and approve an employee's adjusted time entry before it is submitted for payroll.",
            "user_type": "manager",
            "benefit": "Ensure accurate time tracking and prevent payroll errors."
          },
          {
            "scenario": "An HR administrator needs to generate a report on employee working hours for compliance purposes. Accurate time data is crucial for this report.",
            "user_type": "hr_admin",
            "benefit": "Ensure compliance with labor laws and regulations."
          },
          {
            "scenario": "An employee took a longer lunch break than usual and needs to adjust their time to reflect the actual break duration.",
            "user_type": "employee",
            "benefit": "Accurately record break times for compliance and payroll purposes."
          }
        ],
        "value_statements": [
          "Ensure accurate payroll with easy time adjustments.",
          "Stay compliant with labor laws through precise time tracking.",
          "Empower employees to manage their working time effectively.",
          "Simplify time tracking and reduce administrative overhead.",
          "Improve resource allocation with accurate time data."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2703",
      "sequence_index": 48,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2703.png",
      "basic_info": {
        "screen_name": "Signature",
        "feature_area": "zeiterfassung",
        "ui_elements": [
          "Signature area",
          "Send button",
          "Reset button"
        ],
        "functionality_visible": [
          "Sign to confirm working time",
          "Send signature",
          "Reset signature"
        ],
        "navigation_paths": [],
        "data_displayed": [
          "Current time",
          "Working time range"
        ],
        "user_actions": [
          "Sign in the white area",
          "Tap Send",
          "Tap Reset"
        ],
        "visible_text_labels": [
          "Signature",
          "Today",
          "Uhr",
          "Please confirm your working time by signing on the white area",
          "Send",
          "Reset"
        ],
        "one_line_description": "This screen allows the user to sign and confirm their working time for the current day.",
        "screenshot_id": "IMG_2703",
        "sequence_index": 48,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2703.png"
      },
      "deep_understanding": {
        "screen_context": "The user sees this screen after adjusting their working time and confirming the changes. It's the final step to officially record their working hours.",
        "user_goal": "The user wants to confirm their adjusted working time by providing a signature and sending it to finalize the process.",
        "business_value": "This screen ensures accurate record-keeping of employee working hours, which is crucial for payroll, compliance, and workforce management. It provides a legally binding confirmation of the recorded time.",
        "state_information": {
          "data_shown": "The screen displays the adjusted working time (Today, 11:37 - 11:39 Uhr) that the user is about to confirm.",
          "editable_fields": "The user can provide a signature in the white area.",
          "read_only_fields": "The adjusted working time (Today, 11:37 - 11:39 Uhr) is displayed and cannot be changed on this screen.",
          "current_state": "The app is waiting for the user to provide a signature and confirm the adjusted working time."
        },
        "interactions": [
          {
            "action": "Sign in the white area",
            "outcome": "The user's signature is captured and displayed in the white area.",
            "next_state": "The signature area now contains the user's signature.",
            "error_possibilities": "The signature might not be captured correctly if the user doesn't sign properly or if there are technical issues with the signature capture mechanism."
          },
          {
            "action": "Tap 'Send' button",
            "outcome": "The signature and adjusted working time are submitted to the system.",
            "next_state": "The app transitions to a confirmation screen or back to the main time tracking screen.",
            "error_possibilities": "The submission might fail if there is no signature, if there is a network error, or if there are validation issues with the data."
          },
          {
            "action": "Tap 'Reset' button",
            "outcome": "The signature in the white area is cleared.",
            "next_state": "The signature area is cleared, and the user can sign again.",
            "error_possibilities": "None."
          }
        ],
        "edge_cases": [
          "The user might have difficulty signing on a small screen.",
          "The user might accidentally tap the 'Reset' button.",
          "The user might have connectivity issues preventing the signature from being sent.",
          "The system might have issues processing the signature.",
          "The user might try to send without signing."
        ],
        "benefits": "This screen provides a clear and simple way for users to confirm their adjusted working time, ensuring accurate records and compliance. It offers a convenient way to provide a legally binding signature.",
        "mental_model": "The screen reinforces the mental model of a digital signature as a confirmation step in a workflow. The user understands that by signing, they are officially approving the displayed information."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "confirmation",
            "trigger": "User taps 'Send' after signing",
            "data_passed": "Signature data, working time (11:37 - 11:39 Uhr)",
            "purpose": "To confirm the working time and submit the signature"
          },
          {
            "screen_type": "Signature",
            "trigger": "User taps 'Reset'",
            "data_passed": "None",
            "purpose": "To clear the signature and allow the user to sign again"
          }
        ],
        "depends_on": [
          {
            "screen_type": "Working Time Adjustment",
            "required_data": "Start and end time of the working period (11:37 - 11:39 Uhr)",
            "purpose": "To display the working time that needs to be confirmed with a signature"
          }
        ],
        "data_flow": "The screen receives the working time (11:37 - 11:39 Uhr) from the previous screen. The user provides a signature. Upon tapping 'Send', the signature and working time are sent for confirmation. Tapping 'Reset' clears the signature.",
        "navigation_patterns": [
          {
            "pattern_type": "linear",
            "description": "The user progresses from the Working Time Adjustment screen to the Signature screen. From the Signature screen, the user can either submit the signature or reset it."
          }
        ],
        "feature_dependencies": [
          "zeiterfassung"
        ],
        "alternative_paths": [
          {
            "description": "If the user is not satisfied with the working time, they might go back to the Working Time Adjustment screen to modify it before signing."
          }
        ]
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "End Shift and Sign",
            "goal": "End a work shift and provide a signature to confirm working time.",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Shift Countdown",
                "action": "User works until shift end.",
                "outcome": "Shift end countdown reaches zero."
              },
              {
                "step_number": 2,
                "screen_type": "End Shift Confirmation",
                "action": "User confirms ending the shift.",
                "outcome": "User is prompted to adjust working time if needed."
              },
              {
                "step_number": 3,
                "screen_type": "Working Time Adjustment",
                "action": "User adjusts working time if necessary, or confirms the displayed time.",
                "outcome": "User proceeds to the signature screen."
              },
              {
                "step_number": 4,
                "screen_type": "Signature",
                "action": "User signs in the designated area.",
                "outcome": "User's signature is captured."
              },
              {
                "step_number": 5,
                "screen_type": "Signature",
                "action": "User taps 'Send'.",
                "outcome": "Signature is submitted and user is taken to the Time Tracking Summary screen."
              },
              {
                "step_number": 6,
                "screen_type": "Time Tracking Summary",
                "action": "User views the summary of their working time.",
                "outcome": "User sees the details of their shift."
              },
              {
                "step_number": 7,
                "screen_type": "Shift Details",
                "action": "User views the details of their shift.",
                "outcome": "User sees the details of their shift."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [
            "Quickly confirm and record working hours with a signature.",
            "Ensure accurate time tracking for payroll and compliance.",
            "Simple and easy-to-use interface for time confirmation."
          ],
          "manager": [
            "Streamlined time approval process.",
            "Reduced administrative overhead for time tracking.",
            "Improved accuracy of employee time records."
          ],
          "hr_admin": [
            "Simplified payroll processing with accurate time data.",
            "Enhanced compliance with labor laws and regulations.",
            "Reduced risk of errors in time tracking and reporting."
          ],
          "general": [
            "Secure and reliable time recording.",
            "Paperless time tracking solution.",
            "Improved transparency in time management."
          ]
        },
        "business_value": {
          "problem_solved": "Inaccurate or incomplete time records leading to payroll errors and compliance issues.",
          "value_proposition": "Provides a secure and efficient way for employees to confirm their working hours, ensuring accurate time tracking and streamlined payroll processing.",
          "differentiators": "Simple signature-based confirmation, easy-to-use interface, and integration with existing time tracking systems.",
          "impact": "Reduces payroll errors, improves compliance, and streamlines time management processes."
        },
        "use_cases": [
          {
            "scenario": "An employee finishes their shift and needs to confirm their working hours for the day.",
            "user_type": "employee",
            "benefit": "Quickly and easily confirm their working hours with a signature, ensuring accurate time tracking."
          },
          {
            "scenario": "A manager needs to approve employee time records for payroll processing.",
            "user_type": "manager",
            "benefit": "Streamlined time approval process with accurate and confirmed time data."
          },
          {
            "scenario": "HR needs to generate reports on employee working hours for compliance purposes.",
            "user_type": "HR",
            "benefit": "Accurate and reliable time data for compliance reporting and payroll processing."
          }
        ],
        "value_statements": [
          "Confirm your working hours with a simple signature.",
          "Ensure accurate time tracking for payroll and compliance.",
          "Streamline your time management process with our easy-to-use signature confirmation feature."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2704",
      "sequence_index": 49,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2704.png",
      "basic_info": {
        "screen_name": "Signature",
        "feature_area": "zeiterfassung",
        "ui_elements": [
          "Signature area",
          "Send button",
          "Reset button"
        ],
        "functionality_visible": [
          "Sign working time confirmation",
          "Send signature",
          "Reset signature"
        ],
        "navigation_paths": [],
        "data_displayed": [
          "Current time range",
          "Signature"
        ],
        "user_actions": [
          "Sign",
          "Tap Send",
          "Tap Reset"
        ],
        "visible_text_labels": [
          "Signature",
          "Today, 11:37 - 11:39 Uhr",
          "Send",
          "Reset"
        ],
        "one_line_description": "This screen allows the user to sign and confirm their working time for a specific time range.",
        "screenshot_id": "IMG_2704",
        "sequence_index": 49,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2704.png"
      },
      "deep_understanding": {
        "screen_context": "The user sees this screen after adjusting their working time or at the end of their shift to confirm their recorded hours. It's triggered when the user needs to provide a signature to finalize their time entry.",
        "user_goal": "The user's goal is to confirm their working time by providing a signature and submitting it.",
        "business_value": "This screen ensures accurate time tracking and provides a legally binding record of the employee's working hours, reducing disputes and ensuring compliance.",
        "state_information": {
          "data_shown": "The screen displays the current date and time range for the working time being confirmed (e.g., 'Today, 11:37 - 11:39 Uhr'). It also shows a white area for the user to draw their signature.",
          "editable_fields": [
            "Signature area"
          ],
          "read_only_fields": [
            "Date and time range of the working time"
          ],
          "current_state": "The app is awaiting the user's signature to confirm the displayed working time."
        },
        "interactions": [
          {
            "action": "Draw a signature in the white area",
            "outcome": "The signature is drawn on the screen.",
            "next_state": "The signature area now contains the user's signature.",
            "error_possibilities": "The signature might be unclear or incomplete."
          },
          {
            "action": "Tap the 'Send' button",
            "outcome": "The signature and working time are submitted.",
            "next_state": "The app transitions to a confirmation screen or back to the main time tracking screen.",
            "error_possibilities": "The submission might fail due to network connectivity issues or invalid signature format. The app might display an error message."
          },
          {
            "action": "Tap the 'Reset' button",
            "outcome": "The signature area is cleared.",
            "next_state": "The signature area is empty, allowing the user to draw a new signature.",
            "error_possibilities": "None."
          }
        ],
        "edge_cases": [
          "User has difficulty drawing a clear signature on the screen.",
          "Network connectivity issues prevent the signature from being submitted.",
          "The time range displayed is incorrect, requiring the user to adjust it before signing.",
          "The user's signature is rejected due to security or compliance reasons.",
          "The user's device has a broken screen, making it difficult to sign."
        ],
        "benefits": "The screen provides a simple and secure way for employees to confirm their working hours. It reduces paperwork and streamlines the time tracking process.",
        "mental_model": "The screen supports the mental model of signing a document to confirm its contents. The user understands that by signing, they are verifying the accuracy of their recorded working time."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "confirmation",
            "trigger": "User taps 'Send' button",
            "data_passed": "Signature data, working time data (11:37 - 11:39 Uhr)",
            "purpose": "To confirm the working time and submit the signature."
          },
          {
            "screen_type": "Working Time Adjustment",
            "trigger": "User taps 'Reset' button",
            "data_passed": "Working time data (11:37 - 11:39 Uhr)",
            "purpose": "To allow the user to redraw the signature if they are not satisfied with the current one."
          }
        ],
        "depends_on": [
          {
            "screen_type": "Working Time Adjustment",
            "required_data": "Working time data (start and end time)",
            "purpose": "To display the working time that needs to be confirmed with a signature."
          }
        ],
        "data_flow": "This screen receives the working time data (start and end time) from the previous screen. The user provides a signature. If the user taps 'Send', the signature and working time data are sent to the server. If the user taps 'Reset', the signature is cleared, and the user can redraw it.",
        "navigation_patterns": [
          {
            "pattern_type": "linear",
            "description": "The user progresses linearly from the 'Working Time Adjustment' screen to the 'Signature' screen, then to a confirmation screen."
          },
          {
            "pattern_type": "back",
            "description": "The 'Reset' button allows the user to go back to the signature input area."
          }
        ],
        "feature_dependencies": [
          "zeiterfassung",
          "signature capture"
        ],
        "alternative_paths": [
          {
            "description": "If the user does not want to confirm their working time, they might be able to cancel the process, potentially leading to a different screen or workflow (not shown)."
          }
        ]
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "End Shift and Confirm Working Time",
            "goal": "Confirm working time and end shift",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "End Shift Confirmation",
                "action": "Taps 'End Shift'",
                "outcome": "Navigates to Working Time Adjustment screen"
              },
              {
                "step_number": 2,
                "screen_type": "Working Time Adjustment",
                "action": "Adjusts working time if necessary, taps 'Confirm'",
                "outcome": "Navigates to Signature screen"
              },
              {
                "step_number": 3,
                "screen_type": "Signature",
                "action": "Signs in the white area",
                "outcome": "Signature is captured"
              },
              {
                "step_number": 4,
                "screen_type": "Signature",
                "action": "Taps 'Send'",
                "outcome": "Working time is confirmed and shift ends. Navigates to Time Tracking Summary screen."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": [
          {
            "variation_type": "Signature Reset",
            "differences": "User can tap 'Reset' to clear the signature and sign again before sending."
          }
        ]
      },
      "benefits": {
        "user_benefits": {
          "employee": [
            "Easily confirm your working time with a signature.",
            "Quickly sign off on your recorded hours.",
            "Provides a clear record of your confirmed working time."
          ],
          "manager": [
            "Ensures employees confirm their working hours.",
            "Provides a verifiable record of employee time entries.",
            "Reduces discrepancies in time reporting."
          ],
          "hr_admin": [
            "Streamlines the time tracking and approval process.",
            "Provides an audit trail of employee time confirmations.",
            "Simplifies payroll processing with accurate time records."
          ],
          "general": [
            "Simple and intuitive signature capture.",
            "Clear confirmation of working time.",
            "Reduces errors in time reporting."
          ]
        },
        "business_value": {
          "problem_solved": "Ensures accurate and confirmed time tracking by employees, reducing discrepancies and potential disputes.",
          "value_proposition": "Provides a legally binding confirmation of working hours, streamlining payroll and compliance.",
          "differentiators": "Seamless integration with time tracking, easy-to-use signature capture, and secure record keeping.",
          "impact": "Improved accuracy in time reporting, reduced administrative overhead, and enhanced compliance."
        },
        "use_cases": [
          {
            "scenario": "An employee finishes their shift and needs to confirm their recorded hours before submitting their timesheet.",
            "user_type": "employee",
            "benefit": "Provides a simple way to verify and sign off on their working time, ensuring accurate payment."
          },
          {
            "scenario": "A manager needs to review and approve employee timesheets, ensuring all hours are properly accounted for.",
            "user_type": "manager",
            "benefit": "Provides a verifiable record of employee time entries, simplifying the approval process and reducing errors."
          },
          {
            "scenario": "HR needs to audit employee time records for compliance purposes.",
            "user_type": "hr_admin",
            "benefit": "Provides an audit trail of employee time confirmations, simplifying compliance reporting and reducing risk."
          }
        ],
        "value_statements": [
          "Confirm your working time with a simple signature.",
          "Ensure accurate time tracking and payroll with verified signatures.",
          "Streamline your time approval process with secure digital signatures.",
          "Get legally binding confirmation of working hours."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2705",
      "sequence_index": 50,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2705.png",
      "basic_info": {
        "screen_name": "Time Tracking Summary",
        "feature_area": "zeiterfassung",
        "ui_elements": [
          "Summary title",
          "Employee information",
          "Working time details",
          "Signature section",
          "Confirmation indicator"
        ],
        "functionality_visible": [
          "View working time summary",
          "Confirm working time",
          "Add signature"
        ],
        "navigation_paths": [
          "Tap X to close summary"
        ],
        "data_displayed": [
          "Employee name",
          "Restaurant name",
          "Date",
          "Start time",
          "End time",
          "Gross working time",
          "Net working time"
        ],
        "user_actions": [
          "View",
          "Add signature"
        ],
        "visible_text_labels": [
          "Summary",
          "Felix Knoerzer",
          "Restaurant Bachingen",
          "21. Jan 2026",
          "11:37 - 11:39 Uhr",
          "Küche",
          "Working time",
          "Start",
          "End",
          "Gross working time",
          "Net working time",
          "Signature",
          "This working time is confirmed."
        ],
        "one_line_description": "This screen displays a summary of the employee's working time, including start and end times, gross and net working time, and a signature section, with a confirmation indicator.",
        "screenshot_id": "IMG_2705",
        "sequence_index": 50,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2705.png"
      },
      "deep_understanding": {
        "screen_context": "This screen appears after the user has adjusted their working time and is about to sign off on it, or after they have signed off on their working time. It provides a summary of the working time details before final confirmation.",
        "user_goal": "The user wants to review the summary of their working time, including start and end times, gross and net working time, and then confirm that the information is correct.",
        "business_value": "This screen ensures accurate time tracking for payroll and compliance purposes. It provides a record of the employee's working hours and their confirmation of those hours, reducing discrepancies and potential disputes.",
        "state_information": {
          "data_shown": "The screen displays the employee's name (Felix Knoerzer), the restaurant name (Restaurant Bachingen), the date (21. Jan 2026), the start and end times (11:37 - 11:39 Uhr), the department (Küche), the start time (11:37), the end time (11:39), the gross working time (00:02 hrs), and the net working time (00:02 hrs). This data is relevant because it summarizes the employee's work period.",
          "editable_fields": "There are no editable fields on this screen.",
          "read_only_fields": "All the information displayed (employee name, restaurant, date, times, working time calculations) is read-only.",
          "current_state": "The current state is a summary of the working time, ready for confirmation. The working time is confirmed."
        },
        "interactions": [
          {
            "action": "Tap the 'Signature' area.",
            "outcome": "Navigates to a signature screen where the user can provide their signature.",
            "next_state": "Signature screen.",
            "error_possibilities": "If the signature functionality is unavailable, an error message might be displayed."
          },
          {
            "action": "Tap the 'X' button in the top right corner.",
            "outcome": "Closes the summary screen and returns to the previous screen (likely the time tracking or adjustment screen).",
            "next_state": "Previous screen (time tracking or adjustment).",
            "error_possibilities": "None."
          }
        ],
        "edge_cases": "Edge cases include: Incorrect start or end times, resulting in inaccurate gross and net working time calculations; network connectivity issues preventing the signature from being saved; discrepancies between the displayed time and the actual time worked; different user roles (e.g., manager vs. employee) potentially having different views or actions available.",
        "benefits": "The user benefits from this screen by being able to review their working time summary before confirming it, ensuring accuracy and preventing errors in payroll. It also provides a clear record of their work hours.",
        "mental_model": "This screen supports the mental model of a time tracking system where employees record their start and end times, and then review and confirm the summary of their working time before it is submitted for payroll processing."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "previous screen",
            "trigger": "Tap on the 'X' button",
            "data_passed": "None",
            "purpose": "Return to the previous screen (likely the shift countdown or time tracking screen)."
          },
          {
            "screen_type": "Signature",
            "trigger": "Tap on the signature area",
            "data_passed": "Employee name, restaurant name, date, start time, end time, working time",
            "purpose": "Allow the employee to add or modify their signature."
          }
        ],
        "depends_on": [
          {
            "screen_type": "Shift Countdown",
            "required_data": "Employee name, restaurant name, date, start time, end time, working time",
            "purpose": "To display the summary of the shift that has just ended."
          },
          {
            "screen_type": "End Shift Confirmation",
            "required_data": "Employee name, restaurant name, date, start time, end time, working time",
            "purpose": "To confirm the end of the shift and proceed to the summary."
          },
          {
            "screen_type": "Working Time Adjustment",
            "required_data": "Employee name, restaurant name, date, start time, end time, working time",
            "purpose": "To allow the employee to adjust the working time before confirming the shift."
          },
          {
            "screen_type": "Signature",
            "required_data": "Employee name, restaurant name, date, start time, end time, working time",
            "purpose": "To display the signature that was added or modified."
          }
        ],
        "data_flow": "This screen receives employee name, restaurant name, date, start time, end time, working time, and signature data from previous screens. It displays this data in a summary format. It allows the user to modify the signature and then confirms the working time.",
        "navigation_patterns": [
          {
            "pattern_type": "back",
            "description": "Tapping the 'X' button returns to the previous screen."
          },
          {
            "pattern_type": "branching",
            "description": "Tapping the signature area navigates to the signature screen."
          }
        ],
        "feature_dependencies": [
          "zeiterfassung",
          "signature"
        ],
        "alternative_paths": [
          "The user might have manually entered the start and end times, instead of using the shift countdown timer.",
          "The user might have skipped the working time adjustment screen if the working time was correct."
        ]
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "Confirm Working Time",
            "goal": "Confirm and submit the recorded working time.",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Working Time Adjustment",
                "action": "Adjust the start or end time if needed.",
                "outcome": "The working time is adjusted."
              },
              {
                "step_number": 2,
                "screen_type": "Signature",
                "action": "Provide a signature to confirm the working time.",
                "outcome": "The signature is recorded."
              },
              {
                "step_number": 3,
                "screen_type": "Signature",
                "action": "Provide a signature to confirm the working time.",
                "outcome": "The signature is recorded."
              },
              {
                "step_number": 4,
                "screen_type": "Time Tracking Summary",
                "action": "Review the summary of the working time.",
                "outcome": "The user sees the start time, end time, gross working time, and net working time."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [
            "Quickly review and confirm your working time details.",
            "Ensure accurate record of start and end times.",
            "Verify gross and net working time calculations.",
            "Digitally sign off on your working time for approval."
          ],
          "manager": [
            "Gain visibility into employee working time summaries.",
            "Ensure accurate time tracking for payroll and compliance.",
            "Streamline the time approval process."
          ],
          "hr_admin": [
            "Maintain accurate and auditable records of employee working hours.",
            "Simplify payroll processing with verified time data.",
            "Ensure compliance with labor laws and regulations."
          ],
          "general": [
            "Provides a clear and concise summary of working time.",
            "Offers a digital signature option for confirmation.",
            "Confirms that the working time has been successfully recorded."
          ]
        },
        "business_value": {
          "problem_solved": "Inaccurate or incomplete time tracking, leading to payroll errors and compliance issues.",
          "value_proposition": "Provides a verified and auditable record of employee working time, ensuring accurate payroll and compliance.",
          "differentiators": "Digital signature, clear summary of working time, and integration with other Ordio features.",
          "impact": "Reduces payroll errors, improves compliance, and streamlines time tracking processes."
        },
        "use_cases": [
          {
            "scenario": "An employee finishes their shift and needs to confirm their working hours before submitting them for approval.",
            "user_type": "employee",
            "benefit": "Ensures accurate record of working time and allows for digital sign-off."
          },
          {
            "scenario": "A manager needs to review an employee's working time before approving it for payroll.",
            "user_type": "manager",
            "benefit": "Provides a clear summary of the employee's working time for easy verification."
          },
          {
            "scenario": "An HR administrator needs to audit employee time records for compliance purposes.",
            "user_type": "hr_admin",
            "benefit": "Offers an auditable record of employee working time with digital signatures."
          }
        ],
        "value_statements": [
          "Confirm your working time with ease and accuracy.",
          "Get a clear summary of your working hours before signing off.",
          "Ensure accurate payroll and compliance with verified time records.",
          "Streamline your time tracking process with digital signatures."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2706",
      "sequence_index": 51,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2706.png",
      "basic_info": {
        "screen_name": "Shift Details",
        "feature_area": "schichtplanung",
        "ui_elements": [
          "Shift details dialog",
          "Close button",
          "Restaurant name",
          "Shift time",
          "Tags label",
          "Spüler tag",
          "Yet to be occupied label",
          "Apply now button"
        ],
        "functionality_visible": [
          "View shift details",
          "Apply for the shift"
        ],
        "navigation_paths": [
          "Tap X to close",
          "Tap Apply now to apply for the shift"
        ],
        "data_displayed": [
          "Shift date",
          "Restaurant name",
          "Shift time",
          "Shift tags",
          "Occupation status"
        ],
        "user_actions": [
          "Tap",
          "Read"
        ],
        "visible_text_labels": [
          "Thursday, 22.01.2026",
          "Restaurant Bachingen, Küche",
          "17:00 - 21:00 h",
          "Tags",
          "Spüler",
          "Yet to be occupied",
          "Apply now"
        ],
        "one_line_description": "This screen displays the details of a specific shift, including the date, time, location, tags, and occupation status, and allows the user to apply for the shift.",
        "screenshot_id": "IMG_2706",
        "sequence_index": 51,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2706.png"
      },
      "deep_understanding": {
        "screen_context": "This screen appears when the user is viewing details of a specific shift or job posting and is considering applying for it. It provides information about the shift before the user decides to apply.",
        "user_goal": "The user wants to review the details of a shift (date, time, location, tags) to decide whether to apply for it.",
        "business_value": "This screen allows the business to present shift details to potential employees, enabling them to make informed decisions about applying. It ensures that employees are aware of the shift's requirements and conditions before committing.",
        "state_information": {
          "data_shown": "The screen displays the date of the shift (Thursday, 22.01.2026), the location (Restaurant Bachingen, Küche), the time (17:00 - 21:00 h), and tags associated with the shift (Spüler). It also indicates if the shift is yet to be occupied.",
          "editable_fields": "There are no editable fields on this screen.",
          "read_only_fields": "All the information displayed (date, location, time, tags, occupancy status) is read-only.",
          "current_state": "The screen is displaying the details of a specific shift that is currently available for application."
        },
        "interactions": [
          {
            "action": "Tap the 'X' icon",
            "outcome": "The shift details screen closes.",
            "next_state": "Returns to the previous screen, likely a list of available shifts or a calendar view.",
            "error_possibilities": "None."
          },
          {
            "action": "Tap the 'Apply now' button",
            "outcome": "The user submits an application for the shift.",
            "next_state": "The app transitions to a confirmation screen or updates the shift status to 'applied'.",
            "error_possibilities": "The application might fail if the user doesn't meet the requirements, if the shift is already filled, or due to network connectivity issues."
          }
        ],
        "edge_cases": "1. The shift might already be filled by the time the user tries to apply.\n2. The user might not have the necessary qualifications or certifications for the shift.\n3. The shift details might be incomplete or inaccurate.\n4. The user might have already applied for the shift.\n5. The user's profile might be missing required information for the application.",
        "benefits": "The screen provides a clear and concise overview of the shift details, enabling the user to make an informed decision about applying. It saves time by presenting all relevant information in one place.",
        "mental_model": "The screen supports the mental model of a job board or shift marketplace where users can browse available shifts, view details, and apply for those that match their skills and availability."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "unknown",
            "trigger": "Tap 'Apply now'",
            "data_passed": "Shift details (date, time, location, tags)",
            "purpose": "To submit an application for the shift"
          }
        ],
        "depends_on": [],
        "data_flow": "This screen receives shift details (date, time, location, tags) to display. It allows the user to apply for the shift, sending the shift details to the application process.",
        "navigation_patterns": [
          {
            "pattern_type": "modal",
            "description": "This screen appears as a modal overlay on top of another screen. The user can dismiss it by tapping the 'X' icon."
          }
        ],
        "feature_dependencies": [
          "schichtplanung"
        ],
        "alternative_paths": []
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "Apply for a shift",
            "goal": "Apply for an available shift",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Shift Details",
                "action": "Review shift details (date, location, time, tags)",
                "outcome": "User sees the details of the shift."
              },
              {
                "step_number": 2,
                "screen_type": "Shift Details",
                "action": "Tap 'Apply now'",
                "outcome": "User submits application for the shift."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [
            "View shift details (date, time, location) before applying.",
            "See the job title/role (Tags) for the shift.",
            "Apply for the shift directly from the details screen."
          ],
          "manager": [
            "Ensure shifts are filled with the right roles.",
            "Provide clear shift information to potential applicants."
          ],
          "hr_admin": [
            "Track shift applications and staffing needs.",
            "Maintain consistent shift information across the platform."
          ],
          "general": [
            "Clear and concise shift information.",
            "Easy application process."
          ]
        },
        "business_value": {
          "problem_solved": "Reduces ambiguity and improves the shift application process by providing detailed information upfront.",
          "value_proposition": "Increases the likelihood of finding suitable candidates for open shifts by providing transparency and simplifying the application process.",
          "differentiators": "Centralized shift information and application process within the Ordio platform.",
          "impact": "Improved shift fulfillment rates, reduced administrative overhead, and increased employee satisfaction."
        },
        "use_cases": [
          {
            "scenario": "A restaurant employee wants to pick up an extra shift. They see an open shift for a 'Spüler' (dishwasher) at 'Restaurant Bachingen, Küche' on Thursday, 22.01.2026, from 17:00 to 21:00. They review the details and apply.",
            "user_type": "employee",
            "benefit": "Quickly find and apply for relevant shifts based on clear information."
          },
          {
            "scenario": "A restaurant manager needs to fill a dishwasher position for a specific shift. They post the shift details on Ordio, and potential candidates can view the details before applying.",
            "user_type": "manager",
            "benefit": "Efficiently fill open shifts with qualified candidates."
          },
          {
            "scenario": "An HR administrator uses Ordio to track shift applications and staffing levels. The shift details screen provides a centralized view of shift information.",
            "user_type": "hr_admin",
            "benefit": "Streamlined shift management and improved staffing oversight."
          }
        ],
        "value_statements": [
          "Get all the shift details you need before you apply.",
          "Apply for shifts with confidence, knowing the details upfront.",
          "Fill your open shifts faster with clear and concise information.",
          "Simplify your shift management process with Ordio."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2707",
      "sequence_index": 52,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2707.png",
      "basic_info": {
        "screen_name": "Working Times - January",
        "feature_area": "zeiterfassung",
        "ui_elements": [
          "Calendar grid",
          "Summary section",
          "EUR amount",
          "Shifts count",
          "Working time",
          "Total hours",
          "Daily working time account"
        ],
        "functionality_visible": [
          "View working times for January",
          "View summary of earnings and hours",
          "Navigate to previous/next month"
        ],
        "navigation_paths": [
          "Tap a date to view details",
          "Tap arrow to navigate to previous/next month",
          "Tap 'X' to close"
        ],
        "data_displayed": [
          "Calendar dates for January",
          "Days worked (highlighted)",
          "Total earnings (EUR)",
          "Number of shifts",
          "Total working time",
          "Total hours",
          "Daily working time account",
          "Target hours"
        ],
        "user_actions": [
          "Tap a date",
          "Tap the left/right arrows to change months",
          "Tap the 'X' to close the screen"
        ],
        "visible_text_labels": [
          "Working times",
          "January",
          "Mon",
          "Tue",
          "Wed",
          "Thu",
          "Fri",
          "Sat",
          "Sun",
          "EUR",
          "Shifts",
          "Working time",
          "Total hours",
          "Daily working time account",
          "Total hours (until today)"
        ],
        "one_line_description": "This screen displays the working times for the month of January, along with a summary of earnings, shifts, and hours worked.",
        "screenshot_id": "IMG_2707",
        "sequence_index": 52,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2707.png"
      },
      "deep_understanding": {
        "screen_context": "This screen is displayed when the user wants to view a detailed breakdown of their working times for a specific month, likely accessed from a summary or overview screen within the time tracking or payroll section of the app.",
        "user_goal": "The user wants to review their working times for the selected month (January), including total hours, earnings, and shifts worked, to ensure accuracy and understand their compensation.",
        "business_value": "This screen provides transparency and allows employees to verify their working time records, reducing payroll errors and disputes. It also provides data for workforce management and cost analysis.",
        "state_information": {
          "data_shown": "The screen displays a calendar view of the selected month (January), highlighting days with recorded working time. It also shows a summary of earnings (EUR), number of shifts, total working time, and daily working time account information. This data is relevant for understanding the employee's work activity and compensation for the month.",
          "editable_fields": [],
          "read_only_fields": [
            "Calendar dates with working times",
            "EUR amount",
            "Number of shifts",
            "Working time",
            "Total hours",
            "Total hours (until today)",
            "Target hours as of today",
            "Daily working time account",
            "Target hours per month"
          ],
          "current_state": "The screen is displaying the working time data for January, with 6 shifts worked, a total working time of 30:56, and earnings of €2,364.98. The daily working time account and target hours are also shown."
        },
        "interactions": [
          {
            "action": "Tap the left arrow icon",
            "outcome": "The calendar navigates to the previous month (December).",
            "next_state": "The screen updates to display the calendar and summary data for December.",
            "error_possibilities": "None."
          },
          {
            "action": "Tap the right arrow icon",
            "outcome": "The calendar navigates to the next month (February).",
            "next_state": "The screen updates to display the calendar and summary data for February.",
            "error_possibilities": "None."
          },
          {
            "action": "Tap a specific date on the calendar",
            "outcome": "The screen may navigate to a detailed view of the working time entries for that specific date.",
            "next_state": "A detailed view of the selected date's working time entries is displayed.",
            "error_possibilities": "If there are no working time entries for the selected date, a message indicating this may be displayed."
          },
          {
            "action": "Tap the 'X' icon",
            "outcome": "The screen closes and returns to the previous screen (likely a summary or overview screen).",
            "next_state": "The app returns to the previous screen.",
            "error_possibilities": "None."
          },
          {
            "action": "Tap the arrow icon next to 'Summary'",
            "outcome": "The summary section expands or collapses, showing or hiding the details.",
            "next_state": "The summary section is either expanded or collapsed.",
            "error_possibilities": "None."
          }
        ],
        "edge_cases": [
          "The user has no working time entries for the selected month.",
          "The user has a large number of working time entries for the selected month, potentially impacting performance.",
          "The user's pay rate or other compensation factors change during the selected month.",
          "The app is used in a region with a different currency.",
          "The user has different roles or job titles during the selected month, affecting their pay rate or working time rules.",
          "The user has overlapping shifts or conflicting time entries.",
          "The user's target hours are not set up correctly."
        ],
        "benefits": "The screen provides a clear and concise overview of the user's working time and earnings for a specific month. It allows users to easily verify their data and identify any discrepancies. The calendar view makes it easy to navigate to specific dates and review individual entries.",
        "mental_model": "The screen supports a mental model of a traditional calendar and a summary statement. The user understands that they can navigate through months using the arrow icons and view a summary of their working time and earnings for the selected month. They also understand that tapping on a specific date will provide more detailed information about the working time entries for that date."
      },
      "relationships": {
        "connects_to": [],
        "depends_on": [
          {
            "screen_type": "Shift Details",
            "required_data": "Shift start and end times, date",
            "purpose": "To display the working times for a specific shift in the context of the calendar."
          }
        ],
        "data_flow": "Receives shift data (dates, times) to highlight worked days on the calendar and calculate summary statistics (total hours, earnings).  No data is sent out from this screen.",
        "navigation_patterns": [
          {
            "pattern_type": "modal",
            "description": "This screen appears as a modal overlay on top of another screen.  The user can dismiss the modal by tapping the 'X' icon."
          },
          {
            "pattern_type": "back",
            "description": "The user can navigate to previous or next months using the '<' and '>' icons."
          }
        ],
        "feature_dependencies": [
          "zeiterfassung",
          "calendar",
          "reporting"
        ],
        "alternative_paths": [
          "Accessing working times through a different entry point in the app (e.g., a dedicated 'Working Times' section).",
          "Viewing working times for a specific period (e.g., a week or a custom date range) instead of a month."
        ]
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "View Working Times",
            "goal": "View working times for a specific month",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Shift Details",
                "action": "Navigate to Time Tracking Summary",
                "outcome": "User is taken to the Time Tracking Summary screen."
              },
              {
                "step_number": 2,
                "screen_type": "Time Tracking Summary",
                "action": "Navigate to Working Times",
                "outcome": "User is taken to the Working Times screen."
              },
              {
                "step_number": 3,
                "screen_type": "Working Times - January",
                "action": "View working times for January",
                "outcome": "User sees the calendar view of working times for January."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [
            "Easily view a detailed breakdown of your working hours and earnings for the month.",
            "Quickly see the number of shifts worked and total hours accumulated.",
            "Track your daily working time account and compare it against target hours.",
            "Understand your earnings based on the hours worked.",
            "Verify the accuracy of your time tracking data."
          ],
          "manager": [
            "Gain insights into employee working patterns and time allocation.",
            "Monitor total hours worked by employees to ensure compliance and productivity.",
            "Review and approve employee time entries with detailed information.",
            "Identify potential discrepancies or issues in employee time tracking.",
            "Use data to optimize workforce planning and resource allocation."
          ],
          "hr_admin": [
            "Simplify payroll processing with accurate and detailed time tracking data.",
            "Generate reports on employee working hours and earnings for compliance purposes.",
            "Manage and track employee time off and absences effectively.",
            "Ensure accurate calculation of overtime and other compensation.",
            "Improve overall workforce management and efficiency."
          ],
          "general": [
            "Clear and concise presentation of working time information.",
            "Easy navigation and intuitive interface.",
            "Access to historical working time data for reference.",
            "Improved transparency and accountability in time tracking."
          ]
        },
        "business_value": {
          "problem_solved": "Lack of transparency and difficulty in tracking working hours and earnings for both employees and employers.",
          "value_proposition": "Provides a clear and detailed overview of working times, earnings, and target hours, enabling better workforce management and accurate payroll processing.",
          "differentiators": "Combines detailed time tracking with earnings calculation and target hour comparison in a user-friendly interface.",
          "impact": "Improved accuracy in payroll, better workforce management, increased employee satisfaction through transparency, and reduced administrative overhead."
        },
        "use_cases": [
          {
            "scenario": "An employee wants to verify their earnings for the month and ensure they are being paid correctly.",
            "user_type": "employee",
            "benefit": "Provides a detailed breakdown of working hours and earnings, allowing the employee to verify their pay and identify any discrepancies."
          },
          {
            "scenario": "A manager needs to review an employee's time sheet for approval.",
            "user_type": "manager",
            "benefit": "Offers a comprehensive view of the employee's working hours, shifts, and total hours, enabling the manager to make informed decisions about time sheet approval."
          },
          {
            "scenario": "HR needs to generate a report on employee working hours for compliance purposes.",
            "user_type": "hr_admin",
            "benefit": "Provides accurate and detailed time tracking data that can be used to generate reports for compliance and payroll processing."
          },
          {
            "scenario": "An employee wants to see how many hours they have worked towards their monthly target.",
            "user_type": "employee",
            "benefit": "Allows the employee to track their progress towards their target hours and adjust their work schedule accordingly."
          }
        ],
        "value_statements": [
          "Gain complete transparency into your working hours and earnings with our detailed time tracking feature.",
          "Simplify payroll processing and workforce management with accurate and comprehensive time tracking data.",
          "Empower your employees with clear insights into their working hours and earnings, fostering trust and accountability.",
          "Optimize workforce planning and resource allocation with data-driven insights into employee working patterns.",
          "Ensure compliance and reduce administrative overhead with our robust time tracking solution."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2708",
      "sequence_index": 53,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2708.png",
      "basic_info": {
        "screen_name": "Working Times Details",
        "feature_area": "zeiterfassung",
        "ui_elements": [
          "Working times details",
          "Summary section",
          "Daily working time account section",
          "Working time account section",
          "All Working Times section",
          "List of working times"
        ],
        "functionality_visible": [
          "View working time summary",
          "View daily working time account",
          "View working time account",
          "View all working times"
        ],
        "navigation_paths": [
          "Tap working time for details",
          "Tap back to close"
        ],
        "data_displayed": [
          "Total earnings",
          "Number of shifts",
          "Total working time",
          "Total hours",
          "Total hours (until today)",
          "Target hours as of today",
          "Daily working time account",
          "Target hours per month",
          "WTA Start of the month",
          "WTA End of the month",
          "Date",
          "Shift times",
          "Restaurant name",
          "Change request status",
          "Shift duration"
        ],
        "user_actions": [
          "Tap to view shift details",
          "Close working times details"
        ],
        "visible_text_labels": [
          "Working times",
          "Summary",
          "EUR",
          "Shifts",
          "Working time",
          "Total hours",
          "Daily working time account",
          "Total hours (until today)",
          "Target hours as of today",
          "Daily working time account",
          "Target hours per month",
          "Working time account",
          "WTA Start of the month",
          "WTA End of the month",
          "All Working Times"
        ],
        "one_line_description": "This screen displays the details of the employee's working times, including a summary, daily working time account, working time account, and a list of all working times.",
        "screenshot_id": "IMG_2708",
        "sequence_index": 53,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2708.png"
      },
      "deep_understanding": {
        "screen_context": "The user sees this screen after navigating from a previous screen displaying working times, likely to view a detailed summary and breakdown of their working hours and earnings.",
        "user_goal": "The user wants to understand their working time summary, including earnings, shifts, total hours, and any discrepancies in their working time account. They may also want to review individual working times.",
        "business_value": "This screen provides transparency and accountability regarding employee working hours and earnings, ensuring accurate payroll and compliance with labor regulations. It also allows employees to track their time and identify any discrepancies.",
        "state_information": {
          "data_shown": "The screen displays a summary of the user's working times, including: earnings (EUR), number of shifts, total working time, total hours, daily working time account information (total hours until today, target hours as of today, daily working time account, target hours per month), working time account information (WTA start and end of the month), and a list of individual working times with dates, times, locations, and confirmation status. This data is relevant for understanding the employee's earnings and time worked.",
          "editable_fields": [],
          "read_only_fields": [
            "EUR",
            "Shifts",
            "Working time",
            "Total hours",
            "Total hours (until today)",
            "Target hours as of today",
            "Daily working time account",
            "Target hours per month",
            "WTA Start of the month",
            "WTA End of the month",
            "All Working Times"
          ],
          "current_state": "The screen is displaying a summary of the user's working times, with a negative daily working time account and WTA values, indicating a potential deficit in worked hours."
        },
        "interactions": [
          {
            "action": "Tap the 'X' icon in the top right corner.",
            "outcome": "The screen closes and the user is navigated back to the previous screen.",
            "next_state": "Previous screen (likely the main working times screen or a calendar view).",
            "error_possibilities": "None."
          },
          {
            "action": "Tap the 'Summary' section.",
            "outcome": "The 'Summary' section collapses or expands, showing or hiding the details.",
            "next_state": "The 'Summary' section is either expanded or collapsed.",
            "error_possibilities": "None."
          },
          {
            "action": "Tap the 'All Working Times' section.",
            "outcome": "The 'All Working Times' section collapses or expands, showing or hiding the details.",
            "next_state": "The 'All Working Times' section is either expanded or collapsed.",
            "error_possibilities": "None."
          }
        ],
        "edge_cases": [
          "The user has no working times recorded for the selected period.",
          "The user has a very large number of working times, requiring pagination or scrolling.",
          "The user's working time account is significantly over or under the target.",
          "The user has pending change requests for their working times.",
          "The user's role does not allow them to view all the details shown on the screen.",
          "The data is not loading due to network issues."
        ],
        "benefits": "The screen provides a clear and concise summary of the user's working times, allowing them to easily track their earnings and hours worked. It also provides detailed information about their working time account, helping them to identify any discrepancies and take corrective action.",
        "mental_model": "The screen supports a mental model of working time tracking as a system for recording and summarizing hours worked, earnings, and any deviations from target hours. The user understands that the app is used to track their time, calculate their pay, and ensure they are meeting their required working hours."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "Time Tracking Summary",
            "trigger": "Pressing the 'X' button",
            "data_passed": null,
            "purpose": "To return to the main time tracking screen."
          }
        ],
        "depends_on": [
          {
            "screen_type": "Working Times - January",
            "required_data": "Working time data for the selected month (January)",
            "purpose": "To display the detailed working times for the selected month."
          }
        ],
        "data_flow": "This screen receives working time data for the selected month (January) from the server. It displays a summary of the working time, including EUR earned, shifts worked, working time, total hours, daily working time account, and working time account. It also displays a list of all working times for the month.",
        "navigation_patterns": [
          {
            "pattern_type": "modal",
            "description": "The screen appears as a modal overlay on top of the previous screen (Working Times - January). The user can dismiss the modal by pressing the 'X' button."
          }
        ],
        "feature_dependencies": [
          "zeiterfassung"
        ],
        "alternative_paths": []
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "View Working Times Details",
            "goal": "User wants to see the details of their working times, including summary, daily working time account, and all working times.",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Time Tracking Summary",
                "action": "User navigates to the Time Tracking Summary screen.",
                "outcome": "Time Tracking Summary screen is displayed."
              },
              {
                "step_number": 2,
                "screen_type": "Working Times - January",
                "action": "User selects 'Working Times' for a specific month (e.g., January).",
                "outcome": "Working Times screen for the selected month is displayed."
              },
              {
                "step_number": 3,
                "screen_type": "Working Times",
                "action": "User selects a specific day or period to view details.",
                "outcome": "Working Times Details screen is displayed, showing summary, daily working time account, and all working times."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [
            "View a detailed breakdown of earnings (EUR 2,364.98)",
            "See total shifts worked (6)",
            "Track total working time (30:56)",
            "Monitor daily working time account (-167:26)",
            "Check working time account status at the start and end of the month (-167:26, -328:30)",
            "Review individual working times for each day (e.g., 21.01.2026)",
            "Confirm change requests for working times",
            "See the exact time and location of each shift (e.g., 11:37 - 11:39 h, Restaurant Bachingen, Küche)"
          ],
          "manager": [
            "Monitor employee working hours and earnings",
            "Review and approve change requests for employee working times",
            "Track employee compliance with target hours"
          ],
          "hr_admin": [
            "Access comprehensive data on employee working times for payroll and compliance",
            "Monitor working time accounts for all employees",
            "Generate reports on working time data"
          ],
          "general": [
            "Transparency in working time and earnings",
            "Easy access to detailed working time information",
            "Improved accuracy in payroll and time tracking"
          ]
        },
        "business_value": {
          "problem_solved": "Lack of transparency and easy access to detailed working time information for employees, managers, and HR.",
          "value_proposition": "Provides a clear and comprehensive overview of working times, earnings, and working time accounts, improving transparency and accuracy.",
          "differentiators": "Detailed breakdown of working time data, including earnings, shifts, working time accounts, and individual working times for each day. Integration with change request system.",
          "impact": "Improved employee satisfaction, reduced payroll errors, better compliance with labor laws, and increased efficiency in time tracking."
        },
        "use_cases": [
          {
            "scenario": "An employee wants to verify their earnings for the month.",
            "user_type": "employee",
            "benefit": "The employee can easily view their total earnings (EUR 2,364.98) and total hours worked (30:56) for the month."
          },
          {
            "scenario": "A manager needs to approve a change request for an employee's working time.",
            "user_type": "manager",
            "benefit": "The manager can review the details of the change request and approve it directly from the working times details screen."
          },
          {
            "scenario": "HR needs to generate a report on employee working hours for payroll.",
            "user_type": "HR",
            "benefit": "HR can access comprehensive data on employee working times, including total hours, shifts, and working time accounts, to generate accurate payroll reports."
          },
          {
            "scenario": "An employee wants to see how many hours they worked on a specific day.",
            "user_type": "employee",
            "benefit": "The employee can view the 'All Working Times' section to see a breakdown of their working hours for each day, including the time, location, and duration of each shift."
          }
        ],
        "value_statements": [
          "Get a clear and comprehensive overview of your working times and earnings.",
          "Easily track your working hours and shifts.",
          "Stay informed about your working time account status.",
          "Improve transparency and accuracy in payroll and time tracking.",
          "Access detailed working time information anytime, anywhere."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2709",
      "sequence_index": 54,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2709.png",
      "basic_info": {
        "screen_name": "Working Times",
        "feature_area": "zeiterfassung",
        "ui_elements": [
          "Working times dialog",
          "List of working times",
          "Close button"
        ],
        "functionality_visible": [
          "View working times",
          "View change request status"
        ],
        "navigation_paths": [
          "Tap close button to close dialog"
        ],
        "data_displayed": [
          "Working times for different days",
          "Restaurant location",
          "Change request status",
          "Dates"
        ],
        "user_actions": [
          "Tap close button"
        ],
        "visible_text_labels": [
          "Working times",
          "All Working Times",
          "Today",
          "Yesterday",
          "Wednesday",
          "Friday",
          "Change request confirmed",
          "Change request submitted"
        ],
        "one_line_description": "This screen displays the working times for different days, including the restaurant location and the status of any change requests.",
        "screenshot_id": "IMG_2709",
        "sequence_index": 54,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2709.png"
      },
      "deep_understanding": {
        "screen_context": "The user sees this screen after navigating from the 'Working Times Details' screen and selecting to view 'All Working Times'. This screen provides a detailed breakdown of the employee's recorded working times.",
        "user_goal": "The user wants to review their recorded working times, including the dates, times, locations, and the status of any change requests they've submitted.",
        "business_value": "This screen provides transparency and accountability regarding employee working times. It allows employees to verify their recorded hours and identify any discrepancies, reducing payroll errors and improving employee satisfaction. It also provides a record of change requests and their status.",
        "state_information": {
          "data_shown": "The screen displays a list of working times, grouped by day (Today, Yesterday, Wednesday, Friday). For each entry, it shows the start and end time, the location (Restaurant Bachingen, Küche/Service/Bar), the date, and the status of any change requests (confirmed or submitted).",
          "editable_fields": "There are no editable fields on this screen. The user can only view the information.",
          "read_only_fields": "All the information displayed (date, time, location, change request status) is read-only.",
          "current_state": "The current state is a display of the user's recorded working times, showing the times, locations, and status of change requests for each entry."
        },
        "interactions": [
          {
            "action": "Tap the 'X' icon in the top right corner.",
            "outcome": "The screen closes, and the user is likely returned to the previous 'Working Times Details' screen.",
            "next_state": "Returns to the 'Working Times Details' screen.",
            "error_possibilities": "None."
          },
          {
            "action": "Tap the 'All Working Times' dropdown arrow.",
            "outcome": "The list of working times may be collapsed or expanded, depending on its current state.",
            "next_state": "The list of working times is either collapsed or expanded.",
            "error_possibilities": "None."
          }
        ],
        "edge_cases": "Different user roles might have different levels of detail shown (e.g., managers might see more information). The data displayed will vary depending on the employee's working history. Error conditions might include missing data or incorrect timestamps.",
        "benefits": "The user benefits from this screen by being able to easily review their working times, verify the accuracy of their recorded hours, and track the status of any change requests they've submitted. This promotes transparency and reduces potential errors in payroll.",
        "mental_model": "This screen supports a mental model of a detailed log or record of the user's working times. It reinforces the idea that the app is used to track and manage employee hours, and that these records are accessible for review."
      },
      "relationships": {
        "connects_to": [],
        "depends_on": [
          {
            "screen_type": "Working Times Details",
            "required_data": "Employee ID, Date Range (January), Restaurant ID",
            "purpose": "To display the working times for a specific employee and restaurant within a given month."
          }
        ],
        "data_flow": "This screen receives employee ID, restaurant ID, and a date range (January) from the previous screen. It displays the working times for the selected employee and restaurant for each day within the specified date range. It also shows the status of any change requests (confirmed or submitted).",
        "navigation_patterns": [
          {
            "pattern_type": "modal",
            "description": "This screen is presented as a modal overlay on top of the previous screen. The user can dismiss the modal to return to the previous screen."
          },
          {
            "pattern_type": "back",
            "description": "The user can tap the 'X' icon to close the modal and return to the previous screen (Working Times Details)."
          }
        ],
        "feature_dependencies": [
          "zeiterfassung",
          "time tracking",
          "shift management",
          "change request"
        ],
        "alternative_paths": []
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "View Working Times",
            "goal": "User wants to see their working times for a specific period.",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Shift Details",
                "action": "Taps on 'Working Times'",
                "outcome": "Navigates to the Working Times - January screen."
              },
              {
                "step_number": 2,
                "screen_type": "Working Times - January",
                "action": "Selects a specific day or period.",
                "outcome": "Navigates to the Working Times Details screen."
              },
              {
                "step_number": 3,
                "screen_type": "Working Times Details",
                "action": "Taps on 'All Working Times'",
                "outcome": "Navigates to the 'Working Times' screen showing all working times."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [
            "View a detailed history of your working times, including start and end times for each day.",
            "See the status of your change requests (confirmed or submitted).",
            "Easily verify the accuracy of your recorded hours.",
            "Quickly identify any discrepancies in your working time records."
          ],
          "manager": [
            "Monitor employee working times to ensure accurate payroll and compliance.",
            "Review and approve or reject employee change requests.",
            "Identify trends in employee working hours to optimize staffing levels.",
            "Gain insights into employee productivity and time management."
          ],
          "hr_admin": [
            "Maintain accurate records of employee working times for compliance and reporting.",
            "Streamline the payroll process by ensuring accurate time data.",
            "Resolve time-related disputes quickly and efficiently.",
            "Generate reports on employee working hours for analysis and decision-making."
          ],
          "general": [
            "Improved transparency in working time records.",
            "Simplified process for requesting and approving time changes.",
            "Enhanced accuracy of payroll and timekeeping."
          ]
        },
        "business_value": {
          "problem_solved": "Inaccurate or incomplete working time records, leading to payroll errors, compliance issues, and employee dissatisfaction.",
          "value_proposition": "Provides a comprehensive and transparent view of employee working times, enabling accurate payroll, improved compliance, and better time management.",
          "differentiators": "Clear display of working times with change request status, easy access to historical data, and streamlined approval process.",
          "impact": "Reduces payroll errors, improves compliance, increases employee satisfaction, and optimizes workforce management."
        },
        "use_cases": [
          {
            "scenario": "An employee wants to verify their working hours for the past week to ensure they are paid correctly.",
            "user_type": "employee",
            "benefit": "The employee can easily view their working time history and identify any discrepancies before payroll is processed."
          },
          {
            "scenario": "A manager needs to approve a time change request submitted by an employee.",
            "user_type": "manager",
            "benefit": "The manager can quickly review the request and approve or reject it based on the employee's working time history."
          },
          {
            "scenario": "An HR administrator needs to generate a report on employee working hours for compliance purposes.",
            "user_type": "HR",
            "benefit": "The HR administrator can easily access and export accurate working time data for reporting and analysis."
          },
          {
            "scenario": "An employee forgot to clock out one day and needs to submit a change request.",
            "user_type": "employee",
            "benefit": "The employee can submit a change request, and track its status (submitted, confirmed) within the app."
          }
        ],
        "value_statements": [
          "Ensure accurate payroll with a transparent view of employee working times.",
          "Simplify time management and compliance with detailed working time records.",
          "Empower employees to verify their hours and track change requests.",
          "Optimize workforce management with insights into employee working time patterns."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2710",
      "sequence_index": 55,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2710.png",
      "basic_info": {
        "screen_name": "Working Times",
        "feature_area": "zeiterfassung",
        "ui_elements": [
          "Working times dialog",
          "List of working times",
          "Close button"
        ],
        "functionality_visible": [
          "View working times",
          "See change request status"
        ],
        "navigation_paths": [
          "Tap close button to exit"
        ],
        "data_displayed": [
          "Date",
          "Working times",
          "Restaurant name",
          "Change request status"
        ],
        "user_actions": [
          "Tap close button"
        ],
        "visible_text_labels": [
          "Working times",
          "Yesterday",
          "Wednesday",
          "Friday",
          "Change request submitted",
          "Change request confirmed"
        ],
        "one_line_description": "This screen displays the working times for different days and the status of any change requests.",
        "screenshot_id": "IMG_2710",
        "sequence_index": 55,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2710.png"
      },
      "deep_understanding": {
        "screen_context": "The user sees this screen after navigating to the 'Working Times' section and then selecting to view the details of their working times. It appears to be a modal or pop-up displaying a detailed breakdown of working times for specific days.",
        "user_goal": "The user wants to review their past working times, including the start and end times, location, and the status of any change requests they may have submitted.",
        "business_value": "This screen provides transparency and allows employees to verify their recorded working times, ensuring accurate payroll and compliance with labor regulations. It also facilitates the process of requesting corrections to working times.",
        "state_information": {
          "data_shown": "The screen displays a list of working times for different days (Yesterday, Wednesday, Friday, Wednesday). For each day, it shows the date, start and end times, the restaurant location (Restaurant Bachingen, Bar/Service), and the status of any change requests (e.g., 'Change request submitted', 'Change request confirmed'). It also shows a time value on the right side of each entry.",
          "editable_fields": "There are no editable fields on this screen. The user can only view the information.",
          "read_only_fields": "All the information displayed on the screen, including the date, start and end times, location, change request status, and time values, are read-only.",
          "current_state": "The current state is a display of historical working time data, with some entries showing pending or confirmed change requests."
        },
        "interactions": [
          {
            "action": "Tap the 'X' icon in the top right corner.",
            "outcome": "The modal or pop-up closes.",
            "next_state": "The app returns to the previous screen, likely the 'Working Times' screen or the 'Working Times Details' screen.",
            "error_possibilities": "None."
          }
        ],
        "edge_cases": "1. The user may have no working times recorded for a particular day.\n2. The user may have multiple shifts recorded for a single day.\n3. The change request status may be in different states (e.g., 'Pending', 'Approved', 'Rejected').\n4. The location may vary depending on where the employee worked.\n5. The user may have different roles, affecting the data displayed.",
        "benefits": "The screen allows employees to easily review their working times, identify any discrepancies, and track the status of their change requests. This promotes transparency and reduces potential payroll errors.",
        "mental_model": "The screen reinforces the mental model of a time tracking system where employees can view their recorded hours, locations, and request changes if necessary. It presents the information in a clear and organized manner, making it easy for users to understand their working time history."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "Working Times",
            "trigger": "Pressing the 'X' button",
            "data_passed": "None",
            "purpose": "To return to the previous screen (Working Times)"
          }
        ],
        "depends_on": [
          {
            "screen_type": "Working Times",
            "required_data": "Working times data for the selected period",
            "purpose": "To display the working times details"
          }
        ],
        "data_flow": "This screen receives working times data for specific days and displays them. No data is sent out.",
        "navigation_patterns": [
          {
            "pattern_type": "modal",
            "description": "This screen is presented as a modal overlay on top of the Working Times screen. The user can dismiss the modal by pressing the 'X' button."
          }
        ],
        "feature_dependencies": [
          "zeiterfassung"
        ],
        "alternative_paths": []
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "View Working Times",
            "goal": "User wants to see the working times for a specific period.",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Working Times",
                "action": "User navigates to the Working Times screen.",
                "outcome": "The Working Times screen is displayed, showing the working times for the current period."
              },
              {
                "step_number": 2,
                "screen_type": "Working Times",
                "action": "User taps on a specific day's working times.",
                "outcome": "The Working Times Details screen is displayed, showing the details of the working times for that day."
              },
              {
                "step_number": 3,
                "screen_type": "Working Times Details",
                "action": "User views the details of the working times.",
                "outcome": "User sees the start and end times, location, and any change requests."
              },
              {
                "step_number": 4,
                "screen_type": "Working Times Details",
                "action": "User taps the back button.",
                "outcome": "User returns to the Working Times screen."
              },
              {
                "step_number": 5,
                "screen_type": "Working Times",
                "action": "User taps the close button.",
                "outcome": "User closes the Working Times screen."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [
            "View detailed records of your working times for each day.",
            "See the start and end times of your shifts.",
            "Track the restaurant and area (e.g., Bar, Service) where you worked.",
            "Check the status of change requests for your working times (submitted or confirmed)."
          ],
          "manager": [
            "Quickly review employee working times for accuracy.",
            "Monitor change request statuses to ensure timely processing.",
            "Verify the location (Bar, Service) where employees worked during their shifts."
          ],
          "hr_admin": [
            "Access a comprehensive history of employee working times.",
            "Audit change requests and their confirmation status.",
            "Ensure accurate record-keeping for payroll and compliance purposes."
          ],
          "general": [
            "Transparency in working time records.",
            "Easy access to historical working time data.",
            "Clear indication of change request status."
          ]
        },
        "business_value": {
          "problem_solved": "Lack of transparency and easy access to detailed working time records for employees and managers.",
          "value_proposition": "Provides a clear and detailed view of working times, including start and end times, location, and change request status, ensuring transparency and accuracy.",
          "differentiators": "Clear display of change request status (submitted/confirmed), detailed location information (e.g., Restaurant Bachingen, Bar), and historical data access.",
          "impact": "Improved accuracy in time tracking, reduced disputes over working hours, and streamlined payroll processing."
        },
        "use_cases": [
          {
            "scenario": "An employee wants to verify their working hours for a specific day to ensure accurate payment.",
            "user_type": "employee",
            "benefit": "The employee can easily access the detailed working times screen to confirm their hours and location, ensuring they are paid correctly."
          },
          {
            "scenario": "A manager needs to review an employee's working times to approve a change request.",
            "user_type": "manager",
            "benefit": "The manager can quickly access the detailed working times screen to see the original hours, the requested changes, and the location, enabling them to make an informed decision."
          },
          {
            "scenario": "HR needs to audit working time records for compliance purposes.",
            "user_type": "HR",
            "benefit": "HR can access a comprehensive history of working times, including change request statuses, to ensure compliance with labor laws and company policies."
          },
          {
            "scenario": "An employee submitted a change request and wants to check if it has been confirmed.",
            "user_type": "employee",
            "benefit": "The employee can easily see the 'Change request submitted' or 'Change request confirmed' status on the working times screen, providing transparency and peace of mind."
          }
        ],
        "value_statements": [
          "Gain complete transparency into your working times with detailed records of your shifts.",
          "Easily track your hours, location, and change request status in one convenient view.",
          "Ensure accurate payroll and reduce disputes with clear and accessible working time data.",
          "Empower employees and managers with the information they need to manage working times effectively."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2711",
      "sequence_index": 56,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2711.png",
      "basic_info": {
        "screen_name": "Working Times Details",
        "feature_area": "zeiterfassung",
        "ui_elements": [
          "Working times header",
          "All Working Times section",
          "Today's working times list",
          "Yesterday's working times list",
          "Working time entry details popup",
          "Summary button",
          "Change request button"
        ],
        "functionality_visible": [
          "View working times",
          "View change request status",
          "View daily and past working times",
          "View working time details",
          "Request changes to working times",
          "View summary of working time"
        ],
        "navigation_paths": [
          "Tap working time entry to view details",
          "Tap X to close working times",
          "Tap Summary to view summary",
          "Tap Change request to request a change"
        ],
        "data_displayed": [
          "Date",
          "Working time intervals",
          "Restaurant name",
          "Department (Küche, Service)",
          "Change request status (confirmed, submitted)",
          "Working time duration"
        ],
        "user_actions": [
          "Tap",
          "Scroll"
        ],
        "visible_text_labels": [
          "Working times",
          "All Working Times",
          "Today",
          "Restaurant Bachingen, Küche",
          "Change request confirmed",
          "Yesterday",
          "Restaurant Bachingen, Service",
          "Change request submitted",
          "Restaurant Bachingen",
          "Summary",
          "Change request",
          "h"
        ],
        "one_line_description": "This screen displays the employee's working times, including the date, time intervals, restaurant, department, change request status, and duration, and allows the user to view a summary or request a change.",
        "screenshot_id": "IMG_2711",
        "sequence_index": 56,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2711.png"
      },
      "deep_understanding": {
        "screen_context": "This screen appears when the user taps on a specific working time entry from the 'Working Times' screen. It provides options to view a summary of the selected working time or to request a change to it.",
        "user_goal": "The user wants to either view a summary of a specific working time entry or request a change to it.",
        "business_value": "This screen allows employees to review and correct their recorded working times, ensuring accurate payroll and compliance with labor regulations. It also facilitates communication between employees and management regarding working time discrepancies.",
        "state_information": {
          "data_shown": "The screen displays the restaurant name, date, and time of the selected working time entry. This information helps the user identify the specific entry they are interested in.",
          "editable_fields": "None.",
          "read_only_fields": "Restaurant name, date, and time of the working time entry.",
          "current_state": "The screen is showing the details of a specific working time entry, allowing the user to choose between viewing a summary or requesting a change."
        },
        "interactions": [
          {
            "action": "Tap 'Summary'",
            "outcome": "The app displays a summary of the selected working time entry, likely showing details such as start time, end time, breaks, and total hours worked.",
            "next_state": "A screen displaying the summary of the working time entry.",
            "error_possibilities": "If there is no summary data available, an error message might be displayed."
          },
          {
            "action": "Tap 'Change request'",
            "outcome": "The app navigates to a screen where the user can submit a change request for the selected working time entry, allowing them to specify the desired changes and provide a reason.",
            "next_state": "A screen for submitting a change request for the working time entry.",
            "error_possibilities": "If the user has already submitted a change request for this entry, an error message might be displayed, or the user might be taken to a screen showing the existing change request."
          },
          {
            "action": "Tap the 'X' icon",
            "outcome": "The screen closes, and the user is returned to the previous screen (likely the 'Working Times' screen).",
            "next_state": "The 'Working Times' screen.",
            "error_possibilities": "None."
          }
        ],
        "edge_cases": [
          "The user might not have permission to request changes to certain working time entries (e.g., if they are already approved).",
          "The summary data might be unavailable due to a system error.",
          "The user might have already submitted a change request for the selected entry.",
          "The working time entry might be locked due to payroll processing.",
          "The user might have different roles with different permissions."
        ],
        "benefits": "The screen provides a convenient way for employees to review their working times and request corrections, ensuring accurate records and fair compensation. It also streamlines the process of submitting change requests, making it easier for employees to communicate discrepancies to management.",
        "mental_model": "The screen supports the mental model of working time entries as individual records that can be reviewed and modified. It provides clear options for accessing more detailed information (summary) or initiating a correction process (change request)."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "summary",
            "trigger": "Tap on 'Summary'",
            "data_passed": "Working time details for the selected entry (Restaurant Bachingen, 21.01.2026 11:37 - 11:39)",
            "purpose": "To view a summary of the selected working time entry."
          },
          {
            "screen_type": "change request",
            "trigger": "Tap on 'Change request'",
            "data_passed": "Working time details for the selected entry (Restaurant Bachingen, 21.01.2026 11:37 - 11:39)",
            "purpose": "To initiate a change request for the selected working time entry."
          },
          {
            "screen_type": "working times",
            "trigger": "Tap on the 'X' icon",
            "data_passed": "None",
            "purpose": "To return to the previous screen (Working Times)."
          }
        ],
        "depends_on": [
          {
            "screen_type": "working times",
            "required_data": "List of working times, selected working time entry",
            "purpose": "To display the details of a specific working time entry."
          }
        ],
        "data_flow": "The screen receives working time data for a specific entry from the 'Working Times' screen. It allows the user to view a summary or initiate a change request for that entry. No data is directly sent back to the 'Working Times' screen, but a change request might trigger updates in the backend that are reflected on the 'Working Times' screen upon refresh.",
        "navigation_patterns": [
          {
            "pattern_type": "modal",
            "description": "This screen appears as a modal overlay on top of the 'Working Times' screen."
          },
          {
            "pattern_type": "branching",
            "description": "From this screen, the user can navigate to either a 'Summary' screen or a 'Change Request' screen."
          },
          {
            "pattern_type": "back",
            "description": "The user can return to the 'Working Times' screen by tapping the 'X' icon."
          }
        ],
        "feature_dependencies": [
          "zeiterfassung",
          "change requests"
        ],
        "alternative_paths": [
          "Instead of viewing the details, the user might choose to view a different working time entry from the 'Working Times' screen."
        ]
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "View and Change Working Time Request",
            "goal": "View details of a specific working time entry and potentially request a change.",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Working Times",
                "action": "Navigates to the 'Working Times' screen.",
                "outcome": "The 'Working Times' screen is displayed, showing a list of working time entries."
              },
              {
                "step_number": 2,
                "screen_type": "Working Times Details",
                "action": "Taps on a specific working time entry to view its details.",
                "outcome": "The 'Working Times Details' screen is displayed, showing details of the selected entry."
              },
              {
                "step_number": 3,
                "screen_type": "Working Times Details",
                "action": "Taps on a specific working time entry to view its details.",
                "outcome": "A popup appears with options to view a summary or change the request."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [
            "Quickly access a summary of your working time entry.",
            "Easily request changes to your working time entry if there are any discrepancies."
          ],
          "manager": [],
          "hr_admin": [],
          "general": []
        },
        "business_value": {
          "problem_solved": "Employees need a way to easily review and correct their recorded working times.",
          "value_proposition": "Provides employees with a simple interface to view and manage their working time entries, ensuring accuracy and transparency.",
          "differentiators": "Direct access to summary and change request options from the working time entry.",
          "impact": "Reduces errors in time tracking, streamlines the correction process, and improves employee satisfaction."
        },
        "use_cases": [
          {
            "scenario": "An employee notices that their recorded clock-out time is incorrect and wants to request a correction.",
            "user_type": "employee",
            "benefit": "The employee can quickly access the 'Change request' option to submit a correction request to their manager."
          },
          {
            "scenario": "An employee wants to review the details of a specific working time entry to confirm its accuracy.",
            "user_type": "employee",
            "benefit": "The employee can tap 'Summary' to view a detailed breakdown of the working time entry."
          }
        ],
        "value_statements": [
          "Effortlessly manage your working times with quick access to summaries and change requests.",
          "Ensure accurate time tracking by easily reviewing and correcting your working time entries.",
          "Streamline your time management with a simple and intuitive interface for viewing and modifying your working times."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2712",
      "sequence_index": 57,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2712.png",
      "basic_info": {
        "screen_name": "Broadcasts",
        "feature_area": "other",
        "ui_elements": [
          "Broadcasts title",
          "Close button",
          "Incoming broadcasts tab",
          "Outgoing broadcasts tab",
          "List of broadcasts",
          "New Broadcast button"
        ],
        "functionality_visible": [
          "View incoming broadcasts",
          "View outgoing broadcasts",
          "Create a new broadcast"
        ],
        "navigation_paths": [
          "Tap broadcast to view details",
          "Tap close button to exit"
        ],
        "data_displayed": [
          "Broadcast title",
          "Broadcast sender",
          "Broadcast date and time"
        ],
        "user_actions": [
          "Tap",
          "Select tab"
        ],
        "visible_text_labels": [
          "Broadcasts",
          "Incoming",
          "Outgoing",
          "Hallo zusammen Plan für die KW3 ist da",
          "Felix Knoerzer",
          "Hallo Leute der Plan KW",
          "Hallo zusammen, wir haben eine neue Versanstaltung",
          "Paul ist ausgefallen wer kann heute um 15 Uhr arbeite...",
          "Hallo zusammen der Plan",
          "Hallo",
          "Hallo zusammen Plan für KW45 steht",
          "Wer hat noch Zeit am 03.11. zu Arbeiten - tragt euch g...",
          "New Broadcast"
        ],
        "one_line_description": "This screen displays a list of incoming and outgoing broadcasts, allowing the user to view details and create new broadcasts.",
        "screenshot_id": "IMG_2712",
        "sequence_index": 57,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2712.png"
      },
      "deep_understanding": {
        "screen_context": "The user sees this screen when they want to view and manage broadcasts (likely messages or announcements) within the app. It's triggered by navigating to a 'Broadcasts' or 'Messages' section of the app.",
        "user_goal": "The user wants to read incoming broadcasts, potentially review outgoing broadcasts, and possibly create a new broadcast.",
        "business_value": "This screen facilitates communication and information sharing within the workforce. It allows management to send announcements and employees to stay informed, improving coordination and efficiency.",
        "state_information": {
          "data_shown": "A list of broadcasts, including the title/subject of the broadcast, the sender's name (Felix Knoerzer), and the date and time the broadcast was sent. The broadcasts are categorized as 'Incoming' or 'Outgoing'.",
          "editable_fields": "None of the listed broadcasts are directly editable on this screen. The user can create a new broadcast.",
          "read_only_fields": "The title, sender, and timestamp of each broadcast are read-only.",
          "current_state": "The screen displays a list of broadcasts, categorized as either incoming or outgoing. The user is currently viewing the 'Incoming' broadcasts."
        },
        "interactions": [
          {
            "action": "Tap on an individual broadcast",
            "outcome": "The app navigates to a detailed view of the selected broadcast, showing the full message content.",
            "next_state": "Broadcast Detail View",
            "error_possibilities": "The broadcast might fail to load if there's a network error."
          },
          {
            "action": "Tap on the 'Outgoing' tab",
            "outcome": "The screen displays a list of broadcasts sent by the user.",
            "next_state": "List of Outgoing Broadcasts",
            "error_possibilities": "None."
          },
          {
            "action": "Tap on the 'Incoming' tab",
            "outcome": "The screen displays a list of broadcasts received by the user.",
            "next_state": "List of Incoming Broadcasts",
            "error_possibilities": "None."
          },
          {
            "action": "Tap the 'New Broadcast' button",
            "outcome": "The app navigates to a screen where the user can compose and send a new broadcast.",
            "next_state": "New Broadcast Composition Screen",
            "error_possibilities": "None."
          },
          {
            "action": "Tap the 'X' icon",
            "outcome": "The screen closes and the user is returned to the previous screen.",
            "next_state": "Previous Screen",
            "error_possibilities": "None."
          }
        ],
        "edge_cases": [
          "The user has no broadcasts (empty state).",
          "The user has a very large number of broadcasts (pagination or scrolling is needed).",
          "The user has different roles with different permissions regarding sending broadcasts.",
          "Network connectivity issues prevent broadcasts from loading.",
          "The sender (Felix Knoerzer) is no longer an active user.",
          "The broadcast contains media (images, videos) that need to be displayed.",
          "The broadcast is targeted to a specific group or department, and the user is not a member of that group.",
          "The broadcast is urgent and requires special highlighting or notification."
        ],
        "benefits": "The screen provides a central location for viewing and managing important announcements and messages. It helps employees stay informed about company news, schedule changes, and other relevant information. It also allows authorized users to easily send out new broadcasts.",
        "mental_model": "The screen supports a mental model of a message inbox, similar to email or a messaging app. Users understand that they can receive messages (broadcasts), view them, and potentially send new messages."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "New Broadcast",
            "trigger": "Tap on 'New Broadcast' button",
            "data_passed": null,
            "purpose": "To create a new broadcast message"
          }
        ],
        "depends_on": [
          {
            "screen_type": "Working Times Details",
            "required_data": "Employee schedule data, including availability and shifts",
            "purpose": "To allow users to broadcast messages related to scheduling and availability."
          }
        ],
        "data_flow": "This screen displays a list of incoming and outgoing broadcast messages. Data is fetched from a server or local database. Tapping on a broadcast message might open a detail view (not shown). Creating a new broadcast sends data to the server.",
        "navigation_patterns": [
          {
            "pattern_type": "modal",
            "description": "This screen appears as a modal overlay on top of the previous screen (Working Times Details). The user can dismiss it by tapping the 'X' icon."
          }
        ],
        "feature_dependencies": [
          "Working Times",
          "Messaging/Broadcasts"
        ],
        "alternative_paths": []
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "View Broadcasts",
            "goal": "View incoming broadcasts",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Working Times",
                "action": "Navigate to Broadcasts",
                "outcome": "Broadcasts screen is displayed with incoming broadcasts."
              },
              {
                "step_number": 2,
                "screen_type": "Broadcasts",
                "action": "View list of incoming broadcasts",
                "outcome": "User can see the list of incoming broadcasts with title and sender information."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          },
          {
            "journey_name": "View Outgoing Broadcasts",
            "goal": "View outgoing broadcasts",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Working Times",
                "action": "Navigate to Broadcasts",
                "outcome": "Broadcasts screen is displayed."
              },
              {
                "step_number": 2,
                "screen_type": "Broadcasts",
                "action": "Tap on 'Outgoing'",
                "outcome": "Outgoing broadcasts are displayed."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          },
          {
            "journey_name": "Create New Broadcast",
            "goal": "Create and send a new broadcast message",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Working Times",
                "action": "Navigate to Broadcasts",
                "outcome": "Broadcasts screen is displayed."
              },
              {
                "step_number": 2,
                "screen_type": "Broadcasts",
                "action": "Tap on 'New Broadcast'",
                "outcome": "Broadcast Message screen is displayed."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [
            "Stay informed about important updates and announcements.",
            "Easily access past broadcasts for reference.",
            "Know who sent the broadcast and when it was sent."
          ],
          "manager": [
            "Communicate important information to the team efficiently.",
            "Track sent broadcasts to ensure information is disseminated.",
            "Keep a record of all announcements made."
          ],
          "hr_admin": [
            "Disseminate company-wide announcements effectively.",
            "Maintain a history of all official communications.",
            "Ensure all employees are informed about important policies and updates."
          ],
          "general": [
            "Centralized location for all broadcast messages.",
            "Clear distinction between incoming and outgoing broadcasts.",
            "Easy to create new broadcasts."
          ]
        },
        "business_value": {
          "problem_solved": "Ensures efficient and reliable communication of important information within the organization, preventing miscommunication and information silos.",
          "value_proposition": "Provides a centralized platform for broadcasting messages, ensuring everyone stays informed and aligned.",
          "differentiators": "Clear separation of incoming and outgoing messages, easy creation of new broadcasts, and a historical record of all communications.",
          "impact": "Improved communication, increased employee awareness, reduced miscommunication, and better alignment across the organization."
        },
        "use_cases": [
          {
            "scenario": "A manager needs to inform their team about a change in the project deadline.",
            "user_type": "manager",
            "benefit": "The manager can quickly create and send a broadcast message to the entire team, ensuring everyone is aware of the new deadline."
          },
          {
            "scenario": "HR needs to announce a new company policy to all employees.",
            "user_type": "hr_admin",
            "benefit": "HR can use the broadcast feature to send a company-wide announcement, ensuring all employees are informed about the new policy."
          },
          {
            "scenario": "An employee wants to review a previous announcement about a change in the work schedule.",
            "user_type": "employee",
            "benefit": "The employee can easily access the archive of broadcast messages to find the announcement and review the details."
          }
        ],
        "value_statements": [
          "Stay informed with instant broadcast messages.",
          "Communicate effectively with your team using broadcasts.",
          "Keep everyone aligned with important announcements.",
          "Access a historical record of all broadcast communications.",
          "Create and send broadcasts with ease."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2713",
      "sequence_index": 58,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2713.png",
      "basic_info": {
        "screen_name": "Broadcasts",
        "feature_area": "other",
        "ui_elements": [
          "Broadcast list",
          "Incoming/Outgoing tabs",
          "New Broadcast button",
          "Close button"
        ],
        "functionality_visible": [
          "View incoming broadcasts",
          "View outgoing broadcasts",
          "Create new broadcast"
        ],
        "navigation_paths": [
          "Tap broadcast to view details",
          "Tap close button to exit"
        ],
        "data_displayed": [
          "Broadcast title",
          "Number of views",
          "Broadcast date and time"
        ],
        "user_actions": [
          "Tap",
          "Swipe"
        ],
        "visible_text_labels": [
          "Broadcasts",
          "Incoming",
          "Outgoing",
          "New Broadcast",
          "Hey Franz - komm gerne erst um 17 Uhr",
          "Hallo zusammen Plan für die KW3 ist da",
          "Hey Anna denk bitte morgen",
          "Hallo Leute der Plan KW",
          "Hallo zusammen, wir haben eine neue Versanstalt...",
          "Hallo Svenja, denk bitte heute daran, die Checkliste...",
          "Paul ist ausgefallen wer kann heute um 15 Uhr arb...",
          "Hallo zusammen der Plan"
        ],
        "one_line_description": "This screen displays a list of incoming and outgoing broadcasts, allowing the user to view details and create new broadcasts.",
        "screenshot_id": "IMG_2713",
        "sequence_index": 58,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2713.png"
      },
      "deep_understanding": {
        "screen_context": "The user sees this screen after navigating to the 'Broadcasts' section of the app, likely from a main menu or dashboard. It appears when the user wants to view or manage broadcasts.",
        "user_goal": "The user wants to view, read, and potentially respond to incoming broadcasts, or review outgoing broadcasts. They may also want to create a new broadcast.",
        "business_value": "This screen facilitates internal communication within the organization. It allows managers to send important updates and announcements to employees, and enables employees to stay informed about relevant information.",
        "state_information": {
          "data_shown": "A list of incoming and outgoing broadcasts is displayed. Each broadcast shows a brief message preview, the number of views, and the date/time it was sent. This data is relevant because it allows the user to quickly scan and identify important messages.",
          "editable_fields": "None. The broadcasts themselves are not editable on this screen.",
          "read_only_fields": "Message preview, number of views, date/time sent, and the 'Incoming' and 'Outgoing' tabs are read-only.",
          "current_state": "The screen displays a list of broadcasts, either incoming or outgoing, depending on which tab is selected. The broadcasts are likely sorted by date/time, with the most recent messages at the top."
        },
        "interactions": [
          {
            "action": "Tap on a broadcast message",
            "outcome": "The app navigates to a detailed view of the selected broadcast, allowing the user to read the full message and potentially respond.",
            "next_state": "Broadcast Details screen.",
            "error_possibilities": "Network error: The broadcast details may not load if there is no internet connection."
          },
          {
            "action": "Tap on the 'Incoming' or 'Outgoing' tab",
            "outcome": "The list of broadcasts is filtered to show only incoming or outgoing messages, respectively.",
            "next_state": "The screen updates to display the selected type of broadcasts.",
            "error_possibilities": "None."
          },
          {
            "action": "Tap on the 'New Broadcast' button",
            "outcome": "The app navigates to a screen where the user can compose and send a new broadcast message.",
            "next_state": "New Broadcast screen.",
            "error_possibilities": "None."
          },
          {
            "action": "Tap the 'X' icon",
            "outcome": "The Broadcasts screen closes.",
            "next_state": "Returns to the previous screen.",
            "error_possibilities": "None."
          }
        ],
        "edge_cases": "Different user roles may have different permissions regarding broadcasts. For example, managers may be able to send broadcasts to all employees, while regular employees may only be able to send broadcasts to specific groups. The number of broadcasts displayed may vary depending on the user's activity and the organization's communication volume. If there are no broadcasts, the screen should display a message indicating that.",
        "benefits": "The screen provides a central location for viewing and managing important communications. It helps employees stay informed and allows managers to easily disseminate information. The ability to filter by incoming/outgoing messages makes it easier to find specific broadcasts.",
        "mental_model": "The screen supports a mental model of a messaging inbox, similar to email or other communication apps. Users understand that they can view incoming messages, review messages they have sent, and create new messages to send to others."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "New Broadcast",
            "trigger": "Tap on 'New Broadcast' button",
            "data_passed": null,
            "purpose": "To create a new broadcast message"
          }
        ],
        "depends_on": [
          {
            "screen_type": "Working Times Details",
            "required_data": "Employee data, shift details",
            "purpose": "To allow users to access broadcasts related to their work schedule"
          }
        ],
        "data_flow": "This screen receives broadcast messages related to the user's work schedule. It displays a list of incoming and outgoing broadcasts. The user can create new broadcasts.",
        "navigation_patterns": [
          {
            "pattern_type": "modal",
            "description": "This screen appears as a modal overlay on top of the previous screen (Working Times Details). The user can dismiss it by tapping the 'X' icon."
          }
        ],
        "feature_dependencies": [
          "Working Times",
          "Messaging"
        ],
        "alternative_paths": []
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "View Broadcasts",
            "goal": "See incoming and outgoing broadcasts",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Broadcasts",
                "action": "View the list of broadcasts",
                "outcome": "User sees a list of incoming broadcasts."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          },
          {
            "journey_name": "Switch to Outgoing Broadcasts",
            "goal": "View outgoing broadcasts",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Broadcasts",
                "action": "Tap on 'Outgoing'",
                "outcome": "The screen displays a list of outgoing broadcasts."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          },
          {
            "journey_name": "Create a New Broadcast",
            "goal": "Send a new broadcast message",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Broadcasts",
                "action": "Tap on 'New Broadcast'",
                "outcome": "Navigates to the Broadcast Message screen."
              },
              {
                "step_number": 2,
                "screen_type": "Broadcast Message",
                "action": "Compose and send the broadcast message",
                "outcome": "The broadcast message is sent."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          },
          {
            "journey_name": "Close Broadcasts",
            "goal": "Close the broadcasts screen",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Broadcasts",
                "action": "Tap the 'X' icon",
                "outcome": "The broadcasts screen closes."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [
            "Stay informed about important updates and announcements.",
            "Quickly see broadcast messages relevant to your work.",
            "Know when new schedules or plans are available.",
            "Receive reminders about tasks and deadlines."
          ],
          "manager": [
            "Easily communicate important information to your team.",
            "Send out announcements and updates to multiple employees at once.",
            "Track who has seen your broadcast messages.",
            "Ensure everyone is aware of schedule changes or urgent requests."
          ],
          "hr_admin": [
            "Efficiently disseminate company-wide announcements.",
            "Keep employees informed about policy changes or important events.",
            "Ensure consistent communication across the organization.",
            "Quickly notify employees of urgent situations or emergencies."
          ],
          "general": [
            "Clear overview of incoming and outgoing broadcasts.",
            "Easy access to important information.",
            "Ability to create new broadcasts."
          ]
        },
        "business_value": {
          "problem_solved": "Inefficient communication methods that lead to missed information, confusion, and delays.",
          "value_proposition": "Centralized broadcast messaging system that ensures everyone receives important updates and announcements in a timely manner.",
          "differentiators": "The app provides a clear distinction between incoming and outgoing broadcasts, along with tracking of views, making it easy to manage and monitor communication effectiveness.",
          "impact": "Improved communication, increased efficiency, reduced errors, and better employee engagement."
        },
        "use_cases": [
          {
            "scenario": "A manager needs to inform their team about a last-minute shift change due to an employee calling in sick.",
            "user_type": "manager",
            "benefit": "Quickly notify all team members about the change, ensuring coverage and minimizing disruption."
          },
          {
            "scenario": "HR needs to announce a new company-wide policy regarding remote work.",
            "user_type": "hr_admin",
            "benefit": "Efficiently disseminate the policy to all employees, ensuring everyone is aware of the changes."
          },
          {
            "scenario": "An employee needs to be reminded about an important deadline for a project.",
            "user_type": "employee",
            "benefit": "Receive a timely reminder, helping them stay on track and avoid missing the deadline."
          },
          {
            "scenario": "A manager wants to share the weekly schedule with the team.",
            "user_type": "manager",
            "benefit": "Distribute the schedule quickly and easily, ensuring everyone knows their shifts."
          }
        ],
        "value_statements": [
          "Stay informed with instant broadcast messaging.",
          "Communicate effectively with your team using broadcasts.",
          "Ensure everyone is on the same page with timely announcements.",
          "Simplify team communication with centralized broadcasts."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2714",
      "sequence_index": 59,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2714.png",
      "basic_info": {
        "screen_name": "Broadcasts",
        "feature_area": "other",
        "ui_elements": [
          "Broadcast list",
          "Incoming tab",
          "Outgoing tab",
          "New Broadcast button",
          "Delete button"
        ],
        "functionality_visible": [
          "View broadcast messages",
          "Delete broadcast messages",
          "Create new broadcast message",
          "Filter by incoming/outgoing"
        ],
        "navigation_paths": [
          "Tap broadcast to view details",
          "Tap X to close"
        ],
        "data_displayed": [
          "Broadcast message content",
          "Broadcast message sender",
          "Broadcast message date",
          "Number of views"
        ],
        "user_actions": [
          "Tap",
          "Swipe",
          "Tap delete",
          "Tap New Broadcast"
        ],
        "visible_text_labels": [
          "Broadcasts",
          "Incoming",
          "Outgoing",
          "Delete",
          "New Broadcast",
          "Hallo zusammen Plan für die KW3 ist da",
          "Hey Anna denk bitte morgen",
          "Hallo Leute der Plan KW",
          "Hallo zusammen, wir haben eine neue Versanstalt...",
          "Hallo Svenja, denk bitte heute daran, die Checkliste...",
          "Paul ist ausgefallen wer kann heute um 15 Uhr arb...",
          "Hallo zusammen der Plan",
          "omm gerne erst um 17 Uhr"
        ],
        "one_line_description": "This screen displays a list of broadcast messages, allowing users to view, delete, and create new broadcasts.",
        "screenshot_id": "IMG_2714",
        "sequence_index": 59,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2714.png"
      },
      "deep_understanding": {
        "screen_context": "The user sees this screen when they navigate to the 'Broadcasts' section of the app, likely from a main menu or dashboard. This screen appears to manage and view broadcast messages.",
        "user_goal": "The user wants to view, manage, and potentially delete outgoing broadcast messages, or create a new broadcast.",
        "business_value": "This screen allows for efficient communication and information dissemination within the organization. It helps in keeping employees informed about important updates, schedules, and other relevant information, improving coordination and productivity.",
        "state_information": {
          "data_shown": "A list of outgoing broadcast messages is displayed, including the message content, the number of views (eye icon and number), and the date and time the message was sent. This data is relevant for tracking message reach and understanding the history of communications.",
          "editable_fields": "None. The messages themselves are not editable once sent.",
          "read_only_fields": "Message content, view count, date and time sent.",
          "current_state": "The current state is a list of outgoing broadcast messages. The user is viewing the 'Outgoing' tab."
        },
        "interactions": [
          {
            "action": "Tap on a broadcast message",
            "outcome": "The app may display more details about the broadcast message, such as the recipients or a full message history.",
            "next_state": "Detailed view of the broadcast message.",
            "error_possibilities": "Network error, data loading failure."
          },
          {
            "action": "Tap the 'Delete' button next to a broadcast message",
            "outcome": "The selected broadcast message is deleted.",
            "next_state": "The broadcast message is removed from the list.",
            "error_possibilities": "Network error, permission denied (if the user doesn't have delete permissions)."
          },
          {
            "action": "Tap the 'New Broadcast' button",
            "outcome": "The app navigates to a screen where the user can compose and send a new broadcast message.",
            "next_state": "New Broadcast creation screen.",
            "error_possibilities": "Network error, data loading failure."
          },
          {
            "action": "Tap the 'Incoming' tab",
            "outcome": "The screen displays a list of incoming broadcast messages.",
            "next_state": "List of incoming broadcast messages.",
            "error_possibilities": "Network error, data loading failure."
          },
          {
            "action": "Tap the 'Outgoing' tab",
            "outcome": "The screen displays a list of outgoing broadcast messages.",
            "next_state": "List of outgoing broadcast messages.",
            "error_possibilities": "Network error, data loading failure."
          },
          {
            "action": "Tap the 'X' icon",
            "outcome": "The screen closes and the user is navigated back to the previous screen.",
            "next_state": "Previous screen.",
            "error_possibilities": "None."
          }
        ],
        "edge_cases": "1. User has no outgoing broadcasts: The list is empty with a message indicating no broadcasts have been sent.\n2. User has a large number of broadcasts: The list may be paginated or have a scrollable view.\n3. User has limited permissions: The 'Delete' button may be disabled or hidden.\n4. Network connectivity issues: The list may not load or display an error message.\n5. Different user roles: Managers might see different options or have access to more broadcasts than regular employees.",
        "benefits": "1. Easy access to sent broadcast messages.\n2. Ability to track the reach of broadcast messages (view count).\n3. Ability to delete outdated or irrelevant broadcast messages.\n4. Centralized communication platform for important updates.",
        "mental_model": "The screen supports a mental model of a message inbox/outbox, similar to email. Users understand that they can view messages they've sent, see how many people have viewed them, and delete them if necessary. The 'New Broadcast' button reinforces the idea that they can create and send new messages."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "Broadcasts",
            "trigger": "Tap on the 'New Broadcast' button",
            "data_passed": null,
            "purpose": "To create a new broadcast message."
          }
        ],
        "depends_on": [
          {
            "screen_type": "Working Times",
            "required_data": "User authentication and authorization to access broadcasts.",
            "purpose": "To ensure only authorized users can view and manage broadcasts."
          },
          {
            "screen_type": "Broadcasts",
            "required_data": "List of existing broadcasts.",
            "purpose": "To display the existing broadcasts."
          }
        ],
        "data_flow": "Incoming: List of broadcasts from the server. Outgoing: Request to create a new broadcast, request to delete a broadcast.",
        "navigation_patterns": [
          {
            "pattern_type": "modal",
            "description": "This screen appears as a modal overlay on top of the previous screen."
          },
          {
            "pattern_type": "back",
            "description": "The user can dismiss the modal by tapping the 'X' icon."
          }
        ],
        "feature_dependencies": [
          "User Authentication",
          "Notifications"
        ],
        "alternative_paths": [
          "The user might not create any new broadcasts and simply view the existing ones.",
          "The user might delete existing broadcasts."
        ]
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "Create a new broadcast message",
            "goal": "Send a message to a group of people",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Broadcasts",
                "action": "Tap on 'New Broadcast'",
                "outcome": "Navigates to the Broadcast Message screen"
              },
              {
                "step_number": 2,
                "screen_type": "Broadcast Message",
                "action": "Enter the message content",
                "outcome": "Message content is entered"
              },
              {
                "step_number": 3,
                "screen_type": "Broadcast Message",
                "action": "Tap on 'Next'",
                "outcome": "Navigates to the Broadcast Recipients screen"
              },
              {
                "step_number": 4,
                "screen_type": "Broadcast Recipients",
                "action": "Select recipients",
                "outcome": "Recipients are selected"
              },
              {
                "step_number": 5,
                "screen_type": "Broadcast Recipients",
                "action": "Tap on 'Send'",
                "outcome": "Broadcast message is sent and the user is returned to the Broadcasts screen"
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          },
          {
            "journey_name": "View Outgoing Broadcasts",
            "goal": "See the list of messages I have sent",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Broadcasts",
                "action": "Tap on 'Outgoing'",
                "outcome": "The screen displays the list of outgoing broadcast messages"
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          },
          {
            "journey_name": "Delete an Outgoing Broadcast",
            "goal": "Remove a broadcast message I sent",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Broadcasts",
                "action": "Tap on 'Outgoing'",
                "outcome": "The screen displays the list of outgoing broadcast messages"
              },
              {
                "step_number": 2,
                "screen_type": "Broadcasts",
                "action": "Tap on 'Delete' next to the message to be deleted",
                "outcome": "The broadcast message is deleted and removed from the list"
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [
            "Stay informed about important updates and announcements.",
            "Receive timely reminders and notifications.",
            "Easily access relevant information and resources.",
            "Know when new plans or schedules are available."
          ],
          "manager": [
            "Communicate effectively with team members.",
            "Share important information and updates quickly.",
            "Ensure everyone is aware of deadlines and tasks.",
            "Easily manage and delete outdated broadcasts."
          ],
          "hr_admin": [
            "Disseminate company-wide announcements efficiently.",
            "Keep employees informed about policy changes and updates.",
            "Manage and control broadcast messages effectively."
          ],
          "general": [
            "Centralized communication hub for important information.",
            "Easy access to past broadcasts for reference.",
            "Clear overview of incoming and outgoing messages."
          ]
        },
        "business_value": {
          "problem_solved": "Inefficient communication and lack of awareness among employees regarding important updates and announcements.",
          "value_proposition": "Provides a centralized and efficient platform for broadcasting important information, ensuring that all employees are informed and up-to-date.",
          "differentiators": "Clear separation of incoming and outgoing broadcasts, easy deletion of outdated messages, and a simple interface for creating new broadcasts.",
          "impact": "Improved communication, increased employee awareness, reduced misunderstandings, and enhanced overall productivity."
        },
        "use_cases": [
          {
            "scenario": "A manager needs to inform their team about a last-minute change to the project deadline.",
            "user_type": "manager",
            "benefit": "The manager can quickly create and send a broadcast message to the entire team, ensuring that everyone is aware of the new deadline."
          },
          {
            "scenario": "HR needs to announce a new company policy to all employees.",
            "user_type": "hr_admin",
            "benefit": "HR can use the broadcast feature to send a company-wide announcement, ensuring that all employees are informed about the new policy."
          },
          {
            "scenario": "An employee needs to check the schedule for the upcoming week.",
            "user_type": "employee",
            "benefit": "The employee can easily access the broadcast section and find the latest schedule that was shared by their manager."
          },
          {
            "scenario": "A team member is sick and the manager needs to find a replacement.",
            "user_type": "manager",
            "benefit": "The manager can send a broadcast to the team to quickly find someone who can cover the shift."
          }
        ],
        "value_statements": [
          "Stay informed with timely broadcasts.",
          "Communicate effectively with your team.",
          "Ensure everyone is on the same page.",
          "Manage your broadcasts with ease.",
          "Centralized communication for important updates."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2715",
      "sequence_index": 60,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2715.png",
      "basic_info": {
        "screen_name": "Broadcast Message",
        "feature_area": "other",
        "ui_elements": [
          "Dialog box",
          "Text input field",
          "Back button",
          "Next button"
        ],
        "functionality_visible": [
          "Write a broadcast message",
          "Send push notification"
        ],
        "navigation_paths": [
          "Tap X to close",
          "Tap Next to continue",
          "Tap Back to go back"
        ],
        "data_displayed": [],
        "user_actions": [
          "Enter text",
          "Tap",
          "Tap Back",
          "Tap Next"
        ],
        "visible_text_labels": [],
        "one_line_description": "The user can write a message to be sent as a push notification to employees.",
        "screenshot_id": "IMG_2715",
        "sequence_index": 60,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2715.png"
      },
      "deep_understanding": {
        "screen_context": "The user sees this screen when they are creating a new broadcast message to send to employees. It appears after the user initiates the process of creating a new broadcast from a list of broadcasts.",
        "user_goal": "The user wants to compose a message to be sent as a broadcast notification to employees.",
        "business_value": "This screen allows administrators or authorized personnel to communicate important information to employees quickly and efficiently, ensuring everyone is informed about relevant updates, announcements, or urgent matters. It improves internal communication and employee awareness.",
        "state_information": {
          "data_shown": "A text area where the user can input the message content for the broadcast.",
          "editable_fields": [
            "Message content (text area)"
          ],
          "read_only_fields": [
            "Instructional text explaining the purpose of the broadcast feature."
          ],
          "current_state": "The screen is in the initial state, awaiting the user to input the message content."
        },
        "interactions": [
          {
            "action": "Enter text into the 'What do you want to say?' text area.",
            "outcome": "The entered text is displayed in the text area.",
            "next_state": "The text area contains the user's message content.",
            "error_possibilities": "The text area might have a character limit. The user might encounter issues with special characters or formatting."
          },
          {
            "action": "Tap the 'Back' button.",
            "outcome": "The user is taken back to the previous screen, likely the screen where they initiated the broadcast creation process.",
            "next_state": "Previous screen (likely broadcast creation initiation screen).",
            "error_possibilities": "None."
          },
          {
            "action": "Tap the 'Next' button.",
            "outcome": "The user is taken to the next step in the broadcast creation process, likely a screen to select recipients or configure other broadcast options.",
            "next_state": "Next screen in the broadcast creation workflow (e.g., recipient selection).",
            "error_possibilities": "If the message content is empty or invalid, the app might display an error message and prevent the user from proceeding."
          },
          {
            "action": "Tap the 'X' button in the top right corner.",
            "outcome": "The broadcast creation process is cancelled, and the user is taken back to the list of broadcasts.",
            "next_state": "Broadcasts list screen.",
            "error_possibilities": "None."
          }
        ],
        "edge_cases": [
          "User has no permission to send broadcasts.",
          "The message exceeds the maximum character limit.",
          "The user's internet connection is unstable.",
          "The broadcast service is temporarily unavailable.",
          "The user enters invalid characters in the message.",
          "The user tries to send a broadcast without entering any text."
        ],
        "benefits": [
          "Allows for quick and easy communication of important information to employees.",
          "Ensures that all employees receive the same message.",
          "Reduces the need for individual communication with each employee.",
          "Provides a centralized platform for managing broadcast messages."
        ],
        "mental_model": "The user likely has a mental model of a simple message composition screen, similar to composing an email or text message. They expect to be able to enter text, review it, and then send it to a group of recipients."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "Broadcasts",
            "trigger": "Tap X icon",
            "data_passed": null,
            "purpose": "Close the broadcast message screen and return to the broadcasts list."
          },
          {
            "screen_type": "Broadcasts",
            "trigger": "Tap Next button",
            "data_passed": "Message text",
            "purpose": "Proceed to the next step in creating a broadcast message (likely selecting recipients or scheduling)."
          }
        ],
        "depends_on": [
          {
            "screen_type": "Broadcasts",
            "required_data": null,
            "purpose": "User must navigate to the broadcasts screen to initiate creating a new broadcast."
          }
        ],
        "data_flow": "This screen receives no data. It allows the user to input a message. The message text is passed to the next screen when the 'Next' button is tapped.",
        "navigation_patterns": [
          {
            "pattern_type": "modal",
            "description": "This screen appears as a modal overlay on top of the broadcasts list. It can be dismissed by tapping the 'X' icon or by proceeding to the next step."
          },
          {
            "pattern_type": "linear",
            "description": "The user enters a message and then proceeds to the next step by tapping 'Next'."
          },
          {
            "pattern_type": "back",
            "description": "The user can go back to the previous screen by tapping the 'Back' button."
          }
        ],
        "feature_dependencies": [
          "Broadcasts"
        ],
        "alternative_paths": [
          {
            "description": "The user might choose not to create a broadcast and simply view existing broadcasts."
          }
        ]
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "Send a Broadcast Message",
            "goal": "Send a message to employees via push notification",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Broadcasts",
                "action": "Tap the compose button",
                "outcome": "Navigates to the Broadcast Message screen"
              },
              {
                "step_number": 2,
                "screen_type": "Broadcast Message",
                "action": "Write a message",
                "outcome": "Message is entered in the text field"
              },
              {
                "step_number": 3,
                "screen_type": "Broadcast Message",
                "action": "Tap Next",
                "outcome": "Navigates to the Broadcast Recipients screen"
              },
              {
                "step_number": 4,
                "screen_type": "Broadcast Recipients",
                "action": "Select recipients",
                "outcome": "Recipients are selected"
              },
              {
                "step_number": 5,
                "screen_type": "Broadcast Locations",
                "action": "Select locations",
                "outcome": "Locations are selected"
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [],
          "manager": [],
          "hr_admin": [
            "Quickly notify employees of important information via push notification.",
            "Ensure employees receive critical updates in a timely manner."
          ],
          "general": []
        },
        "business_value": {
          "problem_solved": "Inefficient communication methods that don't guarantee employees receive important updates.",
          "value_proposition": "Enables HR/admins to quickly and reliably communicate important information to employees via push notifications, ensuring timely receipt and awareness.",
          "differentiators": "Integrated push notification system within the Ordio app, streamlining communication and eliminating the need for separate tools.",
          "impact": "Improved employee awareness, faster response times to critical updates, and increased efficiency in internal communications."
        },
        "use_cases": [
          {
            "scenario": "HR needs to inform all employees about a sudden office closure due to a weather emergency.",
            "user_type": "HR",
            "benefit": "Quickly notify all employees via push notification, ensuring everyone is aware of the closure and avoids unnecessary travel."
          },
          {
            "scenario": "A manager needs to remind their team about an upcoming mandatory training session.",
            "user_type": "Manager",
            "benefit": "Send a reminder push notification to the team, increasing attendance and ensuring everyone is prepared for the training."
          },
          {
            "scenario": "The company is implementing a new policy and needs to ensure all employees are aware of the changes.",
            "user_type": "HR",
            "benefit": "Broadcast the policy update via push notification, directing employees to the full policy document and tracking acknowledgement."
          }
        ],
        "value_statements": [
          "Instantly reach your employees with critical updates via push notifications.",
          "Ensure timely communication and improve employee awareness with Ordio Broadcasts.",
          "Streamline internal communications and eliminate reliance on outdated methods.",
          "Keep your workforce informed and connected with real-time notifications."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2716",
      "sequence_index": 61,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2716.png",
      "basic_info": {
        "screen_name": "Broadcast Message",
        "feature_area": "other",
        "ui_elements": [
          "Text field",
          "Back button",
          "Next button",
          "Keyboard"
        ],
        "functionality_visible": [
          "Write a broadcast message",
          "Send a push notification to employees"
        ],
        "navigation_paths": [
          "Tap Next to continue",
          "Tap Back to go back",
          "Tap X to close"
        ],
        "data_displayed": [],
        "user_actions": [
          "Enter text",
          "Tap",
          "Type message"
        ],
        "visible_text_labels": [
          "Broadcasts",
          "Write a message",
          "Broadcast message",
          "Back",
          "Next"
        ],
        "one_line_description": "This screen allows the user to compose a broadcast message to be sent as a push notification to employees.",
        "screenshot_id": "IMG_2716",
        "sequence_index": 61,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2716.png"
      },
      "deep_understanding": {
        "screen_context": "The user sees this screen when they are creating a new broadcast message to send to employees. It appears after the user has initiated the process of creating a new broadcast.",
        "user_goal": "The user wants to compose and send a broadcast message to employees via push notification.",
        "business_value": "This screen enables efficient communication with employees, ensuring they receive important updates and information promptly. It improves internal communication and employee engagement.",
        "state_information": {
          "data_shown": "A text input field for composing the broadcast message, along with explanatory text about the broadcast feature.",
          "editable_fields": [
            "Broadcast message text input field"
          ],
          "read_only_fields": [
            "Explanatory text about Ordio Broadcasts"
          ],
          "current_state": "The user is in the process of composing a new broadcast message. The message field is currently empty."
        },
        "interactions": [
          {
            "action": "Type text into the 'Broadcast message' field",
            "outcome": "The text is entered into the input field.",
            "next_state": "The 'Broadcast message' field contains the entered text.",
            "error_possibilities": "The text field might have a character limit. The user might encounter keyboard issues."
          },
          {
            "action": "Tap the 'Back' button",
            "outcome": "The user navigates back to the previous screen (likely the broadcast list or a previous step in the broadcast creation process).",
            "next_state": "Previous screen in the broadcast creation flow.",
            "error_possibilities": "None."
          },
          {
            "action": "Tap the 'Next' button",
            "outcome": "The user proceeds to the next step in the broadcast creation process (likely selecting recipients or scheduling the broadcast).",
            "next_state": "Next screen in the broadcast creation flow.",
            "error_possibilities": "If the 'Broadcast message' field is empty or does not meet certain criteria (e.g., minimum length), an error message might be displayed, preventing the user from proceeding."
          },
          {
            "action": "Tap the 'X' icon in the top right corner",
            "outcome": "The broadcast creation process is cancelled, and the user is returned to the broadcast list screen.",
            "next_state": "Broadcast list screen.",
            "error_possibilities": "None."
          },
          {
            "action": "Tap the 'X' icon next to 'Write a message'",
            "outcome": "The 'Write a message' section is closed, and the user is returned to the previous screen.",
            "next_state": "Previous screen.",
            "error_possibilities": "None."
          }
        ],
        "edge_cases": [
          "The user might have limited characters available for the broadcast message.",
          "The user might not have permission to send broadcasts to all employees.",
          "The user's internet connection might be unstable, causing issues with saving or sending the broadcast.",
          "The app might have different validation rules for the broadcast message content (e.g., profanity filter).",
          "The user might try to send a broadcast without entering any text."
        ],
        "benefits": "This screen provides a clear and simple interface for composing broadcast messages, enabling users to quickly and easily communicate important information to employees.",
        "mental_model": "The screen supports a linear workflow for creating broadcasts: compose message -> select recipients -> schedule/send. The user understands that they are in the first step of this process."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "Broadcasts",
            "trigger": "Clicking 'Next'",
            "data_passed": "Broadcast message text",
            "purpose": "To confirm and send the broadcast message"
          },
          {
            "screen_type": "Broadcasts",
            "trigger": "Clicking 'Back'",
            "data_passed": "None",
            "purpose": "To return to the previous screen without saving the message"
          }
        ],
        "depends_on": [
          {
            "screen_type": "Broadcasts",
            "required_data": "None",
            "purpose": "To allow the user to create a new broadcast message"
          }
        ],
        "data_flow": "The screen receives no initial data. The user enters a broadcast message. The message is passed to the next screen if 'Next' is clicked, or discarded if 'Back' is clicked.",
        "navigation_patterns": [
          {
            "pattern_type": "linear",
            "description": "The user enters the broadcast message and proceeds to the next screen by clicking 'Next'."
          },
          {
            "pattern_type": "back",
            "description": "The user can return to the previous screen by clicking 'Back'."
          }
        ],
        "feature_dependencies": [
          "Broadcasts"
        ],
        "alternative_paths": [
          {
            "description": "The user might close the broadcast creation flow entirely by clicking the 'X' button in the top right corner."
          }
        ]
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "Send Broadcast Message",
            "goal": "Notify employees via push notification in the Ordio app",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Broadcasts",
                "action": "Tap on 'New Broadcast'",
                "outcome": "Navigates to the 'Broadcast Message' screen"
              },
              {
                "step_number": 2,
                "screen_type": "Broadcast Message",
                "action": "Enter broadcast message",
                "outcome": "Message is entered in the text field"
              },
              {
                "step_number": 3,
                "screen_type": "Broadcast Message",
                "action": "Tap 'Next'",
                "outcome": "Navigates to 'Broadcast Recipients' screen"
              },
              {
                "step_number": 4,
                "screen_type": "Broadcast Recipients",
                "action": "Select recipients",
                "outcome": "Recipients are selected"
              },
              {
                "step_number": 5,
                "screen_type": "Broadcast Locations",
                "action": "Select locations",
                "outcome": "Locations are selected"
              },
              {
                "step_number": 6,
                "screen_type": "Broadcast Locations",
                "action": "Tap 'Send'",
                "outcome": "Broadcast message is sent to selected employees"
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [],
          "manager": [
            "Managers can quickly communicate important information to their team.",
            "Managers can ensure all employees receive critical updates."
          ],
          "hr_admin": [
            "HR admins can easily send company-wide announcements.",
            "HR admins can keep employees informed about policy changes or important events."
          ],
          "general": [
            "Users can send push notifications to employees through the Ordio app.",
            "Users can easily notify employees of important updates."
          ]
        },
        "business_value": {
          "problem_solved": "Inefficient communication methods that lead to employees missing important updates.",
          "value_proposition": "Enables quick and direct communication with employees via push notifications, ensuring timely delivery of critical information.",
          "differentiators": "Integrated directly within the Ordio app, providing a seamless communication experience.",
          "impact": "Improved employee awareness, increased efficiency in information dissemination, and enhanced overall communication within the organization."
        },
        "use_cases": [
          {
            "scenario": "A manager needs to inform their team about a last-minute change in the project deadline.",
            "user_type": "manager",
            "benefit": "The manager can send a broadcast message to the team, ensuring everyone is immediately aware of the new deadline."
          },
          {
            "scenario": "HR needs to announce a company-wide meeting.",
            "user_type": "hr_admin",
            "benefit": "HR can send a broadcast message to all employees, ensuring maximum attendance at the meeting."
          },
          {
            "scenario": "A company needs to inform employees about an emergency situation.",
            "user_type": "hr_admin",
            "benefit": "HR can send a broadcast message to all employees, providing critical safety information and instructions."
          }
        ],
        "value_statements": [
          "Instantly notify your employees with Ordio Broadcasts.",
          "Keep your team informed with timely push notifications.",
          "Ensure critical information reaches every employee, every time.",
          "Streamline your internal communications with Ordio Broadcasts."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2717",
      "sequence_index": 62,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2717.png",
      "basic_info": {
        "screen_name": "Broadcast Recipients",
        "feature_area": "other",
        "ui_elements": [
          "Broadcasts title",
          "Select recipients section",
          "Select Locations button",
          "Select Workareas button",
          "Select Skills button",
          "Select Events button",
          "Select Employees button",
          "Select Terminals button",
          "Recipients matching criteria message",
          "Back button",
          "Next button"
        ],
        "functionality_visible": [
          "Select recipients for broadcast",
          "Expand recipients through categories",
          "Include specific recipients"
        ],
        "navigation_paths": [
          "Tap Select Locations to choose locations",
          "Tap Select Workareas to choose workareas",
          "Tap Select Skills to choose skills",
          "Tap Select Events to choose events",
          "Tap Select Employees to choose employees",
          "Tap Select Terminals to choose terminals",
          "Tap Back to go back",
          "Tap Next to continue"
        ],
        "data_displayed": [
          "List of recipient categories",
          "Number of recipients matching criteria"
        ],
        "user_actions": [
          "Tap",
          "Select",
          "Navigate"
        ],
        "visible_text_labels": [
          "Broadcasts",
          "Select recipients",
          "Select Locations",
          "Select Workareas",
          "Select Skills",
          "Select Events",
          "Select Employees",
          "Select Terminals",
          "Back",
          "Next"
        ],
        "one_line_description": "This screen allows the user to select recipients for a broadcast message by choosing locations, work areas, skills, events, employees, or terminals.",
        "screenshot_id": "IMG_2717",
        "sequence_index": 62,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2717.png"
      },
      "deep_understanding": {
        "screen_context": "The user sees this screen after composing a broadcast message and choosing to select recipients. This screen allows the user to define the target audience for the broadcast message.",
        "user_goal": "The user wants to select the specific recipients for their broadcast message, ensuring it reaches the intended audience.",
        "business_value": "This screen enables targeted communication, ensuring that broadcast messages reach the relevant employees, reducing noise and improving efficiency. It allows for more granular control over who receives important information.",
        "state_information": {
          "data_shown": "The screen displays a list of categories (Locations, Workareas, Skills, Events) and specific options (Employees, Terminals) for selecting recipients. It also shows the number of recipients matching the current criteria.",
          "editable_fields": "The user can select different categories and options to define the recipient group.",
          "read_only_fields": "The number of recipients matching the selected criteria is displayed but cannot be directly edited.",
          "current_state": "The current state reflects the user's selections for recipient categories and options. Initially, no recipients are selected."
        },
        "interactions": [
          {
            "action": "Tap on a category (e.g., Select Locations)",
            "outcome": "The screen navigates to a sub-screen where the user can select specific locations.",
            "next_state": "A sub-screen displaying a list of locations to select from.",
            "error_possibilities": "The sub-screen might fail to load due to network issues."
          },
          {
            "action": "Tap on a specific option (e.g., Select Employees)",
            "outcome": "The screen navigates to a sub-screen where the user can select specific employees.",
            "next_state": "A sub-screen displaying a list of employees to select from.",
            "error_possibilities": "The sub-screen might fail to load due to network issues."
          },
          {
            "action": "Tap the 'Back' button",
            "outcome": "The screen returns to the previous screen (Broadcast Message composition screen).",
            "next_state": "Broadcast Message composition screen.",
            "error_possibilities": "None."
          },
          {
            "action": "Tap the 'Next' button",
            "outcome": "The screen proceeds to the next step in the broadcast process, likely a confirmation screen or the actual sending of the broadcast.",
            "next_state": "Confirmation screen or broadcast sending screen.",
            "error_possibilities": "If no recipients are selected, the app might display an error message or prevent the user from proceeding."
          },
          {
            "action": "Tap the 'X' button in the top right corner",
            "outcome": "The screen closes and returns to the previous screen (Broadcast Message composition screen).",
            "next_state": "Broadcast Message composition screen.",
            "error_possibilities": "None."
          }
        ],
        "edge_cases": [
          "Different user roles might have different access to recipient selection options (e.g., a manager might be able to select all employees, while a team lead can only select their team).",
          "If there are no employees or terminals configured in the system, the corresponding options might be disabled or hidden.",
          "If the number of recipients matching the criteria is very large, the app might need to implement pagination or other performance optimizations.",
          "Network connectivity issues could prevent the recipient lists from loading correctly.",
          "The user might accidentally select no recipients, leading to a broadcast message being sent to no one."
        ],
        "benefits": "The screen allows for precise targeting of broadcast messages, ensuring that the right people receive the right information. This reduces information overload and improves communication effectiveness. It also provides flexibility in defining recipient groups based on various criteria.",
        "mental_model": "The screen supports a mental model of selecting recipients by filtering through different categories and options. The user understands that they are defining a group of people who will receive the broadcast message."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "other",
            "trigger": "Tap 'Next'",
            "data_passed": "Recipient selection criteria (locations, work areas, skills, events, employees, terminals)",
            "purpose": "To proceed to the next step in the broadcast creation process, likely to review and confirm the broadcast details."
          },
          {
            "screen_type": "other",
            "trigger": "Tap 'Select Locations'",
            "data_passed": "None",
            "purpose": "To navigate to the location selection screen."
          },
          {
            "screen_type": "other",
            "trigger": "Tap 'Select Workareas'",
            "data_passed": "None",
            "purpose": "To navigate to the workarea selection screen."
          },
          {
            "screen_type": "other",
            "trigger": "Tap 'Select Skills'",
            "data_passed": "None",
            "purpose": "To navigate to the skills selection screen."
          },
          {
            "screen_type": "other",
            "trigger": "Tap 'Select Events'",
            "data_passed": "None",
            "purpose": "To navigate to the events selection screen."
          },
          {
            "screen_type": "other",
            "trigger": "Tap 'Select Employees'",
            "data_passed": "None",
            "purpose": "To navigate to the employee selection screen."
          },
          {
            "screen_type": "other",
            "trigger": "Tap 'Select Terminals'",
            "data_passed": "None",
            "purpose": "To navigate to the terminal selection screen."
          }
        ],
        "depends_on": [
          {
            "screen_type": "other",
            "required_data": "Broadcast message content",
            "purpose": "To know what message will be sent to the selected recipients."
          }
        ],
        "data_flow": "The screen receives the broadcast message content from the previous screen. The user selects recipients based on various criteria (locations, work areas, skills, events, employees, terminals). The selected recipient criteria are passed to the next screen when the user taps 'Next'.",
        "navigation_patterns": [
          {
            "pattern_type": "linear",
            "description": "The user navigates from the broadcast message creation screen to this recipient selection screen, and then to the next screen after selecting recipients."
          },
          {
            "pattern_type": "back",
            "description": "The user can tap 'Back' to return to the previous screen (broadcast message creation)."
          },
          {
            "pattern_type": "modal",
            "description": "The screen appears as a modal overlay."
          }
        ],
        "feature_dependencies": [],
        "alternative_paths": [
          "The user can close the modal and cancel the broadcast creation process."
        ]
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "Send Broadcast to Recipients",
            "goal": "Send a broadcast message to a specific group of recipients",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Broadcast Recipients",
                "action": "Select recipients by location, workarea, skills, or events.",
                "outcome": "Recipients are added based on selected criteria."
              },
              {
                "step_number": 2,
                "screen_type": "Broadcast Recipients",
                "action": "Select specific employees or terminals to include.",
                "outcome": "Specific employees or terminals are added to the recipient list."
              },
              {
                "step_number": 3,
                "screen_type": "Broadcast Recipients",
                "action": "Tap 'Next'.",
                "outcome": "Navigates to the next screen to review and send the broadcast."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [],
          "manager": [],
          "hr_admin": [
            "Target specific groups of employees for broadcasts.",
            "Expand reach through locations, work areas, skills, or events.",
            "Include specific employees or terminals."
          ],
          "general": [
            "Easily select recipients for broadcast messages.",
            "Refine recipient selection based on various criteria."
          ]
        },
        "business_value": {
          "problem_solved": "Ensures broadcast messages reach the intended audience, avoiding irrelevant notifications for other employees.",
          "value_proposition": "Targeted communication improves message relevance and employee engagement.",
          "differentiators": "Granular recipient selection based on locations, work areas, skills, events, employees, and terminals.",
          "impact": "Increased efficiency in communication, improved employee engagement, and reduced noise from irrelevant broadcasts."
        },
        "use_cases": [
          {
            "scenario": "HR wants to announce a new company policy specifically to employees in the Sales department.",
            "user_type": "HR",
            "benefit": "HR can select the 'Sales' department work area to ensure only relevant employees receive the announcement."
          },
          {
            "scenario": "A manager needs to send a reminder about an upcoming safety training to all employees working in a specific location.",
            "user_type": "Manager",
            "benefit": "The manager can select the specific location to target only the employees working there."
          },
          {
            "scenario": "IT wants to inform users of a specific terminal about a system update.",
            "user_type": "IT",
            "benefit": "IT can select the specific terminal to target only the users of that terminal."
          },
          {
            "scenario": "HR wants to send a broadcast to all employees who attended a specific company event.",
            "user_type": "HR",
            "benefit": "HR can select the specific event to target only the employees who attended."
          }
        ],
        "value_statements": [
          "Reach the right audience with targeted broadcast messaging.",
          "Improve employee engagement with relevant communications.",
          "Simplify recipient selection with granular targeting options.",
          "Ensure your message is heard by the people who need to hear it."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2718",
      "sequence_index": 63,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2718.png",
      "basic_info": {
        "screen_name": "Broadcast Locations",
        "feature_area": "other",
        "ui_elements": [
          "Search field",
          "List of locations",
          "Add location button",
          "Back button"
        ],
        "functionality_visible": [
          "Select locations for broadcast",
          "Search for locations"
        ],
        "navigation_paths": [
          "Tap location to add to broadcast",
          "Tap back to previous screen"
        ],
        "data_displayed": [
          "List of locations",
          "Number of locations selected"
        ],
        "user_actions": [
          "Tap location",
          "Search for location",
          "Tap back"
        ],
        "visible_text_labels": [
          "Broadcasts",
          "Select Locations",
          "Select all locations whose employees should receive your broadcast",
          "Search",
          "Restaurant Bachingen",
          "Veranstaltungshalle 4711",
          "0/2 selected",
          "Back"
        ],
        "one_line_description": "This screen allows the user to select the locations whose employees should receive a broadcast message.",
        "screenshot_id": "IMG_2718",
        "sequence_index": 63,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2718.png"
      },
      "deep_understanding": {
        "screen_context": "The user sees this screen after choosing to select recipients by location on the 'Broadcast Recipients' screen. This screen allows the user to select specific locations to receive the broadcast message.",
        "user_goal": "The user wants to select the specific locations whose employees should receive the broadcast message.",
        "business_value": "This screen allows for targeted communication, ensuring that only relevant employees receive the broadcast message. This reduces noise and improves the effectiveness of internal communications.",
        "state_information": {
          "data_shown": "A list of locations (Restaurant Bachingen, Veranstaltungshalle 4711) is displayed. This is relevant because the user needs to choose which locations should receive the broadcast.",
          "editable_fields": "The user can select or deselect locations by tapping the '+' icon next to each location.",
          "read_only_fields": "The names of the locations are read-only.",
          "current_state": "The current state shows that 0 out of 2 locations are selected."
        },
        "interactions": [
          {
            "action": "Tap the '+' icon next to a location.",
            "outcome": "The location is selected, and the '+' icon might change to a different icon (e.g., a checkmark). The '0/2 selected' counter will update.",
            "next_state": "The selected location is added to the list of recipients for the broadcast message. The counter updates to reflect the number of selected locations.",
            "error_possibilities": "The location might not be selected due to a network error or a bug in the application."
          },
          {
            "action": "Tap the 'Back' button.",
            "outcome": "The user is taken back to the previous screen (Broadcast Recipients).",
            "next_state": "The app navigates back to the 'Broadcast Recipients' screen, potentially saving the selected locations.",
            "error_possibilities": "The app might not navigate back due to a network error or a bug."
          },
          {
            "action": "Use the search bar to search for a location.",
            "outcome": "The list of locations is filtered to show only the locations that match the search query.",
            "next_state": "The list of locations is updated to reflect the search results.",
            "error_possibilities": "No results are found if the search query does not match any location names. The search might be slow or unresponsive due to network issues or a large number of locations."
          },
          {
            "action": "Tap the 'X' icon at the top right.",
            "outcome": "The screen closes and the user is taken back to the previous screen.",
            "next_state": "The app navigates back to the previous screen, discarding any changes made on this screen.",
            "error_possibilities": "The app might not navigate back due to a network error or a bug."
          }
        ],
        "edge_cases": [
          "The user has no locations configured.",
          "The user has a very large number of locations, potentially causing performance issues.",
          "The user has locations with very similar names, making it difficult to distinguish them.",
          "The user has no network connection.",
          "The user does not have permission to broadcast to certain locations.",
          "The broadcast message has already been sent, and the user is trying to edit the recipients."
        ],
        "benefits": "This screen provides a clear and easy way to select the locations that should receive a broadcast message, ensuring that the message reaches the intended audience. The search functionality helps users quickly find specific locations.",
        "mental_model": "The user has a mental model of a list of locations that they can select or deselect to receive a broadcast message. The '+' icon reinforces the idea of adding a location to the recipient list."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "Broadcasts",
            "trigger": "Tap Back",
            "data_passed": "None",
            "purpose": "Return to the previous screen without saving any selections."
          },
          {
            "screen_type": "Broadcasts",
            "trigger": "Select one or more locations",
            "data_passed": "List of selected locations",
            "purpose": "Return to the previous screen with the selected locations to broadcast to."
          }
        ],
        "depends_on": [
          {
            "screen_type": "Broadcasts",
            "required_data": "None",
            "purpose": "To allow the user to select locations for the broadcast."
          }
        ],
        "data_flow": "This screen receives a list of available locations. The user selects locations, and the selected locations are passed back to the previous screen.",
        "navigation_patterns": [
          {
            "pattern_type": "modal",
            "description": "This screen is presented as a modal overlay on top of the previous screen."
          },
          {
            "pattern_type": "back",
            "description": "The user can tap the 'Back' button to return to the previous screen."
          }
        ],
        "feature_dependencies": [],
        "alternative_paths": [
          "The user can close the modal without selecting any locations, effectively cancelling the location selection process."
        ]
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "Send Broadcast to Specific Locations",
            "goal": "Send a broadcast message to employees at specific locations",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Broadcast Message",
                "action": "Enter broadcast message",
                "outcome": "User enters the message they want to broadcast."
              },
              {
                "step_number": 2,
                "screen_type": "Broadcast Recipients",
                "action": "Select specific locations as recipients",
                "outcome": "User chooses to send the broadcast to specific locations."
              },
              {
                "step_number": 3,
                "screen_type": "Broadcast Locations",
                "action": "Select locations",
                "outcome": "User is presented with a list of locations to choose from."
              },
              {
                "step_number": 4,
                "screen_type": "Broadcast Locations",
                "action": "Select 'Restaurant Bachingen' and 'Veranstaltungshalle 4711'",
                "outcome": "The selected locations are added as recipients of the broadcast."
              },
              {
                "step_number": 5,
                "screen_type": "Broadcast Locations",
                "action": "Tap 'Back'",
                "outcome": "User returns to the previous screen with the selected locations as recipients."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [],
          "manager": [],
          "hr_admin": [
            "Target broadcast messages to specific locations, ensuring relevant information reaches the right employees.",
            "Efficiently communicate with employees across multiple locations."
          ],
          "general": []
        },
        "business_value": {
          "problem_solved": "Ensures broadcast messages are only sent to relevant employees based on their location, avoiding information overload and improving engagement.",
          "value_proposition": "Targeted communication that increases relevance and reduces noise for employees, leading to better information dissemination and improved employee experience.",
          "differentiators": "Granular control over broadcast recipients based on location, integrated within the Ordio platform.",
          "impact": "Improved communication effectiveness, increased employee engagement, and reduced administrative overhead."
        },
        "use_cases": [
          {
            "scenario": "A company needs to inform all employees at a specific restaurant location about a temporary change in opening hours.",
            "user_type": "HR",
            "benefit": "HR can select the restaurant location and send a broadcast message only to those employees, ensuring they receive the relevant information."
          },
          {
            "scenario": "A manager wants to inform all employees at a specific event venue about a last-minute change in the dress code.",
            "user_type": "Manager",
            "benefit": "The manager can select the event venue location and send a broadcast message only to those employees, ensuring they are aware of the change."
          },
          {
            "scenario": "A company is rolling out a new policy that only affects employees at specific locations.",
            "user_type": "HR",
            "benefit": "HR can select the relevant locations and send a broadcast message only to those employees, ensuring they are informed about the new policy."
          }
        ],
        "value_statements": [
          "Target your broadcast messages to specific locations for maximum relevance.",
          "Communicate effectively with employees across multiple locations.",
          "Ensure the right information reaches the right employees with location-based broadcasting.",
          "Reduce information overload and improve employee engagement with targeted broadcasts."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2719",
      "sequence_index": 64,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2719.png",
      "basic_info": {
        "screen_name": "Broadcast Locations",
        "feature_area": "other",
        "ui_elements": [
          "Search field",
          "List of locations",
          "Confirm button"
        ],
        "functionality_visible": [
          "Select locations for broadcast",
          "Search for locations"
        ],
        "navigation_paths": [
          "Tap location to select/deselect",
          "Tap confirm to send broadcast"
        ],
        "data_displayed": [
          "List of locations",
          "Selection status of each location"
        ],
        "user_actions": [
          "Tap location",
          "Enter text in search field",
          "Tap confirm"
        ],
        "visible_text_labels": [
          "Broadcasts",
          "Select Locations",
          "Select all locations whose employees should receive your broadcast",
          "Search",
          "Restaurant Bachingen",
          "Veranstaltungshalle 4711",
          "1/2 selected",
          "Confirm"
        ],
        "one_line_description": "This screen allows the user to select which locations should receive a broadcast message.",
        "screenshot_id": "IMG_2719",
        "sequence_index": 64,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2719.png"
      },
      "deep_understanding": {
        "screen_context": "The user sees this screen after choosing to select recipients by location when composing a broadcast message. It allows them to specify which locations should receive the broadcast.",
        "user_goal": "The user wants to select the specific locations whose employees should receive the broadcast message.",
        "business_value": "This screen enables targeted communication to employees based on their location, ensuring that relevant information reaches the right people and avoiding unnecessary notifications for others. This improves employee engagement and reduces noise.",
        "state_information": {
          "data_shown": "A list of locations (Restaurant Bachingen, Veranstaltungshalle 4711) is displayed. The number of selected locations (1/2 selected) is also shown. A search bar is available to filter the locations.",
          "editable_fields": "The user can select or deselect locations from the list.",
          "read_only_fields": "The names of the locations are read-only.",
          "current_state": "Restaurant Bachingen is currently selected. Veranstaltungshalle 4711 is not selected."
        },
        "interactions": [
          {
            "action": "Tap the '+' icon next to 'Veranstaltungshalle 4711'",
            "outcome": "Veranstaltungshalle 4711 is selected.",
            "next_state": "Veranstaltungshalle 4711 is selected, the counter updates to '2/2 selected', and the '+' icon changes to a checkmark or a different indicator of selection.",
            "error_possibilities": "The selection fails due to a network error or data inconsistency."
          },
          {
            "action": "Tap the 'Confirm' button",
            "outcome": "The selected locations are saved as recipients for the broadcast message.",
            "next_state": "The user is taken back to the previous screen (Broadcast Recipients) or proceeds to the next step in the broadcast message creation process.",
            "error_possibilities": "The confirmation fails if no locations are selected or if there is a network error."
          },
          {
            "action": "Tap the 'X' icon at the top right",
            "outcome": "The location selection screen is closed.",
            "next_state": "The user is taken back to the previous screen (Broadcast Recipients) without saving any changes.",
            "error_possibilities": "None."
          },
          {
            "action": "Type in the search bar",
            "outcome": "The list of locations is filtered based on the search term.",
            "next_state": "The list of locations is updated to show only those matching the search term.",
            "error_possibilities": "No locations match the search term, resulting in an empty list."
          }
        ],
        "edge_cases": [
          "The list of locations is very long, requiring pagination or infinite scrolling.",
          "The user has no locations assigned to them.",
          "A location is temporarily unavailable or inactive.",
          "The user selects all locations.",
          "The user deselects all locations.",
          "The user's permissions do not allow them to select certain locations."
        ],
        "benefits": "This screen allows users to precisely target their broadcast messages to the relevant employees, improving communication efficiency and reducing unnecessary notifications. It provides a clear and easy-to-use interface for selecting locations.",
        "mental_model": "The user has a mental model of a list of locations that they can select or deselect to determine who receives the broadcast message. The search bar helps them quickly find specific locations within a potentially large list."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "Broadcasts",
            "trigger": "Confirm button press",
            "data_passed": "List of selected locations",
            "purpose": "To return to the broadcasts screen with the selected locations saved."
          }
        ],
        "depends_on": [
          {
            "screen_type": "Broadcast Recipients",
            "required_data": "List of recipients (employees or locations)",
            "purpose": "To know which locations are available to select for the broadcast."
          }
        ],
        "data_flow": "This screen receives a list of locations from the previous screen. The user selects locations, and the selected locations are passed back to the broadcasts screen when the confirm button is pressed.",
        "navigation_patterns": [
          {
            "pattern_type": "modal",
            "description": "This screen appears as a modal overlay on top of the previous screen. The user can either confirm their selection and return to the previous screen, or cancel and close the modal."
          }
        ],
        "feature_dependencies": [
          "Broadcasts",
          "Locations"
        ],
        "alternative_paths": [
          "User can cancel the broadcast creation process and return to the main screen.",
          "User can select all locations instead of manually selecting them."
        ]
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "Send Broadcast Message to Specific Locations",
            "goal": "Send a broadcast message to employees at specific locations.",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Broadcast Message",
                "action": "Compose the broadcast message.",
                "outcome": "User creates the content of the broadcast."
              },
              {
                "step_number": 2,
                "screen_type": "Broadcast Recipients",
                "action": "Choose to send the broadcast to specific locations.",
                "outcome": "Navigates to the location selection screen."
              },
              {
                "step_number": 3,
                "screen_type": "Broadcast Locations",
                "action": "Select the desired locations (e.g., Restaurant Bachingen, Veranstaltungshalle 4711).",
                "outcome": "The selected locations are added to the recipient list."
              },
              {
                "step_number": 4,
                "screen_type": "Broadcast Locations",
                "action": "Confirm the selected locations.",
                "outcome": "Navigates to the next step in the broadcast process (e.g., selecting work areas or skills)."
              },
              {
                "step_number": 5,
                "screen_type": "Broadcast Workarea Selection",
                "action": "Select workareas.",
                "outcome": "Navigates to the next step in the broadcast process (e.g., selecting skills)."
              },
              {
                "step_number": 6,
                "screen_type": "Broadcast Skills Selection",
                "action": "Select skills.",
                "outcome": "Navigates to the next step in the broadcast process (e.g., selecting events)."
              },
              {
                "step_number": 7,
                "screen_type": "Broadcasts Select Events",
                "action": "Select events.",
                "outcome": "Broadcast is sent to the selected locations."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [],
          "manager": [],
          "hr_admin": [
            "Target broadcast messages to specific locations, ensuring relevant information reaches the right employees.",
            "Simplify communication by sending broadcasts to entire locations instead of individual employees."
          ],
          "general": [
            "Receive broadcasts relevant to your work location."
          ]
        },
        "business_value": {
          "problem_solved": "Ensures broadcast messages are targeted and relevant, avoiding information overload and improving engagement.",
          "value_proposition": "Targeted communication to specific locations, improving efficiency and relevance of broadcasts.",
          "differentiators": "Location-based targeting within a broadcast system.",
          "impact": "Improved employee engagement, reduced noise, and more efficient communication."
        },
        "use_cases": [
          {
            "scenario": "A new policy change affects only employees at the 'Restaurant Bachingen' location. The HR admin uses the location targeting feature to send the announcement only to those employees.",
            "user_type": "HR",
            "benefit": "Ensures only relevant employees receive the policy update, reducing confusion and improving compliance."
          },
          {
            "scenario": "A manager needs to inform all employees at 'Veranstaltungshalle 4711' about a last-minute shift change due to an event. They use the location targeting to send a broadcast.",
            "user_type": "Manager",
            "benefit": "Quickly and efficiently informs all relevant employees about the shift change, minimizing disruption."
          },
          {
            "scenario": "An employee works at 'Restaurant Bachingen' and receives a broadcast about a new menu item being introduced at their location.",
            "user_type": "Employee",
            "benefit": "Receives timely and relevant information about changes affecting their work."
          }
        ],
        "value_statements": [
          "Target your broadcasts to specific locations for more relevant communication.",
          "Reach the right employees with location-based broadcast targeting.",
          "Improve employee engagement with targeted broadcast messages."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2720",
      "sequence_index": 65,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2720.png",
      "basic_info": {
        "screen_name": "Broadcast Workarea Selection",
        "feature_area": "other",
        "ui_elements": [
          "Search field",
          "List of workareas",
          "Confirm button"
        ],
        "functionality_visible": [
          "Select workareas for broadcast",
          "Search for workareas"
        ],
        "navigation_paths": [],
        "data_displayed": [
          "List of workareas",
          "Selection status of each workarea"
        ],
        "user_actions": [
          "Select workareas",
          "Search for workareas",
          "Confirm selection"
        ],
        "visible_text_labels": [
          "Broadcasts",
          "Select Workareas",
          "Select all workspaces whose employees should receive your broadcast",
          "Search",
          "Bar",
          "Küche",
          "Service",
          "Objektüberwachung Ost",
          "Runner",
          "Confirm"
        ],
        "one_line_description": "This screen allows the user to select the workareas to which a broadcast message should be sent.",
        "screenshot_id": "IMG_2720",
        "sequence_index": 65,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2720.png"
      },
      "deep_understanding": {
        "screen_context": "The user sees this screen after selecting 'Work Areas' as the recipient type for a broadcast message. This screen allows the user to select specific work areas whose employees should receive the broadcast.",
        "user_goal": "The user wants to select the specific work areas whose employees should receive the broadcast message.",
        "business_value": "This screen allows for targeted communication, ensuring that broadcast messages reach the relevant employees based on their work area. This reduces noise and increases the effectiveness of internal communications.",
        "state_information": {
          "data_shown": "A list of work areas (Bar, Küche, Service, Objektüberwachung Ost, Runner) is displayed. The number of selected work areas (2/6) is also shown. A search bar is available to filter the list.",
          "editable_fields": "The user can select or deselect work areas by tapping on them.",
          "read_only_fields": "The names of the work areas, the search bar, and the '2/6 selected' text are read-only.",
          "current_state": "The 'Bar' and 'Runner' work areas are currently selected. The user has selected 2 out of 6 possible work areas."
        },
        "interactions": [
          {
            "action": "Tap on a work area (e.g., 'Küche')",
            "outcome": "The work area is selected or deselected. If it was previously unselected, it becomes selected and a checkmark appears. If it was previously selected, it becomes unselected and the checkmark disappears. The 'x/6 selected' count is updated.",
            "next_state": "The selected work areas are updated, and the 'x/6 selected' count is updated.",
            "error_possibilities": "None."
          },
          {
            "action": "Type in the search bar",
            "outcome": "The list of work areas is filtered to show only those that match the search term.",
            "next_state": "The list of work areas is filtered.",
            "error_possibilities": "If the search term does not match any work areas, an empty list may be displayed."
          },
          {
            "action": "Tap 'Confirm'",
            "outcome": "The selected work areas are saved as recipients for the broadcast message, and the user is taken to the next step in the broadcast creation process.",
            "next_state": "The user is taken to the next screen in the broadcast creation flow (e.g., composing the message).",
            "error_possibilities": "If no work areas are selected, the app might display an error message or prevent the user from proceeding."
          },
          {
            "action": "Tap the 'X' icon in the top right corner",
            "outcome": "The screen is closed, and the user is likely returned to the previous screen or the broadcast creation flow is cancelled.",
            "next_state": "The user is returned to the previous screen or the broadcast creation flow is cancelled.",
            "error_possibilities": "None."
          }
        ],
        "edge_cases": [
          "The user may have no work areas defined.",
          "The user may have a very large number of work areas, requiring pagination or infinite scrolling.",
          "The user may not have permission to select certain work areas.",
          "The user may select all work areas.",
          "The user may deselect all work areas."
        ],
        "benefits": "This screen allows the user to easily select the appropriate work areas for their broadcast message, ensuring that the message reaches the intended audience. This improves communication efficiency and reduces unnecessary notifications for employees.",
        "mental_model": "The screen supports a mental model of selecting recipients for a broadcast message by choosing specific work areas. The user understands that the broadcast will be sent to all employees within the selected work areas."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "Broadcast Confirmation",
            "trigger": "User taps 'Confirm' button",
            "data_passed": "List of selected work areas",
            "purpose": "To confirm the broadcast to the selected work areas"
          }
        ],
        "depends_on": [
          {
            "screen_type": "Broadcast Locations",
            "required_data": "Broadcast message content, recipient list",
            "purpose": "To have the broadcast message and recipient information available for selecting work areas"
          }
        ],
        "data_flow": "Receives broadcast message content and recipient list from previous screens. User selects work areas. Passes the list of selected work areas to the confirmation screen.",
        "navigation_patterns": [
          {
            "pattern_type": "modal",
            "description": "This screen appears as a modal overlay on top of the previous screen. User can select work areas and confirm, or close the modal to cancel."
          },
          {
            "pattern_type": "back",
            "description": "User can tap the 'X' icon to close the modal and return to the previous screen (Broadcast Locations)."
          }
        ],
        "feature_dependencies": [],
        "alternative_paths": []
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "Create Broadcast",
            "goal": "Send a message to specific employees based on their work area",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Broadcast Recipients",
                "action": "Select recipients",
                "outcome": "User is taken to the next screen to select locations."
              },
              {
                "step_number": 2,
                "screen_type": "Broadcast Locations",
                "action": "Select locations",
                "outcome": "User is taken to the next screen to select work areas."
              },
              {
                "step_number": 3,
                "screen_type": "Broadcast Workarea Selection",
                "action": "Select work areas (Bar and Runner)",
                "outcome": "Selected work areas are highlighted."
              },
              {
                "step_number": 4,
                "screen_type": "Broadcast Workarea Selection",
                "action": "Tap 'Confirm'",
                "outcome": "User is taken to the next screen to select skills."
              },
              {
                "step_number": 5,
                "screen_type": "Broadcast Skills Selection",
                "action": "Select skills",
                "outcome": "User is taken to the next screen to select events."
              },
              {
                "step_number": 6,
                "screen_type": "Broadcasts Select Events",
                "action": "Select events",
                "outcome": "User is taken to the next screen to select recipients."
              },
              {
                "step_number": 7,
                "screen_type": "Broadcast Recipients",
                "action": "Confirm recipients",
                "outcome": "Broadcast is sent to selected recipients."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [],
          "manager": [],
          "hr_admin": [
            "Target broadcast messages to specific work areas, ensuring relevant information reaches the right employees.",
            "Reduce noise and improve communication effectiveness by avoiding unnecessary broadcasts to irrelevant work areas."
          ],
          "general": []
        },
        "business_value": {
          "problem_solved": "Broadcasting messages to all employees can be inefficient and irrelevant for many. This feature solves the problem of sending targeted messages to specific work areas.",
          "value_proposition": "Ensures that broadcast messages reach the intended audience, improving communication efficiency and employee engagement.",
          "differentiators": "Provides a granular level of control over broadcast recipients, allowing for precise targeting based on work area.",
          "impact": "Improved communication, increased employee engagement, and reduced information overload."
        },
        "use_cases": [
          {
            "scenario": "A manager needs to inform all kitchen staff about a new food safety protocol.",
            "user_type": "manager",
            "benefit": "The manager can select the 'Küche' work area to ensure only kitchen staff receive the message, avoiding unnecessary notifications for other employees."
          },
          {
            "scenario": "HR needs to announce a company-wide policy change but only wants to inform employees in the 'Bar' and 'Runner' work areas initially.",
            "user_type": "HR",
            "benefit": "HR can select 'Bar' and 'Runner' work areas to target the initial announcement, allowing for a phased rollout and focused feedback collection."
          },
          {
            "scenario": "A security alert needs to be sent to the 'Objektüberwachung Ost' team.",
            "user_type": "HR",
            "benefit": "HR can quickly select the 'Objektüberwachung Ost' work area to ensure the security team receives the alert immediately."
          }
        ],
        "value_statements": [
          "Target your broadcasts: Reach the right employees, every time.",
          "Improve communication efficiency: Send relevant messages to specific work areas.",
          "Reduce information overload: Avoid unnecessary broadcasts to irrelevant employees.",
          "Increase employee engagement: Ensure employees receive information that matters to them."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2721",
      "sequence_index": 66,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2721.png",
      "basic_info": {
        "screen_name": "Broadcast Skills Selection",
        "feature_area": "other",
        "ui_elements": [
          "Search field",
          "List of skills",
          "Confirm button",
          "Broadcasts title",
          "Close button"
        ],
        "functionality_visible": [
          "Select skills for broadcast recipients",
          "Search for skills"
        ],
        "navigation_paths": [
          "Tap skill to select/deselect",
          "Tap confirm to send broadcast",
          "Tap X to close"
        ],
        "data_displayed": [
          "List of skills",
          "Number of skills selected"
        ],
        "user_actions": [
          "Tap",
          "Enter text"
        ],
        "visible_text_labels": [
          "Broadcasts",
          "Select Skills",
          "Search",
          "Yoga Meisterin Level 5",
          "Barista",
          "Runner",
          "Nicht erschienen",
          "RKP 12€",
          "Confirm"
        ],
        "one_line_description": "This screen allows the user to select which skills should receive a broadcast message.",
        "screenshot_id": "IMG_2721",
        "sequence_index": 66,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2721.png"
      },
      "deep_understanding": {
        "screen_context": "The user sees this screen after selecting locations and/or work areas for a broadcast message. This screen allows the user to further refine the recipients of the broadcast by selecting specific skills.",
        "user_goal": "The user wants to select the specific skills of employees who should receive the broadcast message.",
        "business_value": "This screen allows for targeted communication, ensuring that broadcast messages are only sent to employees with relevant skills, reducing noise and improving efficiency. It helps ensure the right people get the right information.",
        "state_information": {
          "data_shown": "A list of skills (e.g., Yoga Meisterin Level 5, Barista, Runner, Nicht erschienen, RKP 12€) is displayed. The skills already selected are indicated with a checkmark. The number of selected skills is also displayed (2/18 selected).",
          "editable_fields": "The user can select or deselect skills from the list. The search field is also editable.",
          "read_only_fields": "The skill names are read-only. The number of selected skills is read-only.",
          "current_state": "The user has already selected 'Yoga Meisterin Level 5' and 'Barista' skills. The screen displays a list of available skills to choose from."
        },
        "interactions": [
          {
            "action": "Tap a skill with a '+' icon",
            "outcome": "The skill is selected, a checkmark appears, and the skill is added to the list of selected skills. The '2/18 selected' counter is updated.",
            "next_state": "The selected skill is now checked, and the counter is updated.",
            "error_possibilities": "None."
          },
          {
            "action": "Tap a skill with a checkmark",
            "outcome": "The skill is deselected, the checkmark disappears, and the skill is removed from the list of selected skills. The '2/18 selected' counter is updated.",
            "next_state": "The deselected skill is no longer checked, and the counter is updated.",
            "error_possibilities": "None."
          },
          {
            "action": "Type in the search field",
            "outcome": "The list of skills is filtered to show only skills that match the search term.",
            "next_state": "The list of skills is filtered.",
            "error_possibilities": "If the search term does not match any skills, the list will be empty."
          },
          {
            "action": "Tap the 'Confirm' button",
            "outcome": "The selected skills are saved, and the user is taken to the next step in the broadcast creation process (likely a confirmation screen or the screen to compose the message).",
            "next_state": "The user is taken to the next screen in the broadcast creation flow.",
            "error_possibilities": "None."
          },
          {
            "action": "Tap the 'X' icon in the top right corner",
            "outcome": "The broadcast creation process is cancelled, and the user is taken back to the previous screen or the main screen.",
            "next_state": "The user is taken back to the previous screen or the main screen.",
            "error_possibilities": "The user may be prompted to confirm that they want to discard their changes."
          }
        ],
        "edge_cases": [
          "The list of skills may be very long, requiring scrolling.",
          "There may be no skills available.",
          "The user may select all skills.",
          "The user may not select any skills.",
          "The search term may be misspelled or ambiguous.",
          "The user may have limited network connectivity, causing delays in loading the list of skills."
        ],
        "benefits": "This screen allows the user to target their broadcast messages to specific groups of employees based on their skills, ensuring that the message is relevant and avoids unnecessary notifications for other employees. This improves communication efficiency and employee engagement.",
        "mental_model": "The screen supports a filtering and selection mental model. The user understands that they are filtering the recipients of the broadcast message by selecting specific skills from a list. The search functionality helps them quickly find the skills they are looking for."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "Broadcast Message",
            "trigger": "Confirm button press",
            "data_passed": "List of selected skills",
            "purpose": "To return to the broadcast message screen with the selected skills"
          }
        ],
        "depends_on": [
          {
            "screen_type": "Broadcast Message",
            "required_data": "Broadcast message content, selected locations, selected workareas",
            "purpose": "To allow the user to select skills after defining the message, locations, and workareas"
          }
        ],
        "data_flow": "This screen receives the broadcast message content, selected locations, and selected workareas from the previous screen. The user selects skills, and the list of selected skills is passed back to the broadcast message screen.",
        "navigation_patterns": [
          {
            "pattern_type": "modal",
            "description": "The screen appears as a modal overlay on top of the previous screen."
          },
          {
            "pattern_type": "back",
            "description": "The user can return to the previous screen by pressing the confirm button or the close button."
          }
        ],
        "feature_dependencies": [],
        "alternative_paths": []
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "Create Broadcast",
            "goal": "Send a broadcast message to specific employees based on their skills",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Broadcast Locations",
                "action": "Select location(s)",
                "outcome": "User selects the locations to send the broadcast to."
              },
              {
                "step_number": 2,
                "screen_type": "Broadcast Workarea Selection",
                "action": "Select workarea(s)",
                "outcome": "User selects the workareas to send the broadcast to."
              },
              {
                "step_number": 3,
                "screen_type": "Broadcast Skills Selection",
                "action": "Select skills",
                "outcome": "User selects the skills to send the broadcast to."
              },
              {
                "step_number": 4,
                "screen_type": "Broadcasts Select Events",
                "action": "Select events",
                "outcome": "User selects the events to send the broadcast to."
              },
              {
                "step_number": 5,
                "screen_type": "Broadcast Recipients",
                "action": "Compose and send broadcast",
                "outcome": "Broadcast message is sent to selected recipients."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [],
          "manager": [
            "Target broadcast messages to specific employee skill sets, ensuring relevant information reaches the right people.",
            "Reduce noise and improve employee engagement by sending focused communications."
          ],
          "hr_admin": [
            "Ensure compliance and policy updates reach employees with specific certifications or training.",
            "Streamline communication for specific roles or departments."
          ],
          "general": [
            "Improved communication efficiency.",
            "Reduced information overload."
          ]
        },
        "business_value": {
          "problem_solved": "Ensures broadcast messages reach the most relevant employees based on their skills, avoiding unnecessary notifications for others.",
          "value_proposition": "Targeted communication based on skills increases message relevance and employee engagement, leading to better information dissemination and action.",
          "differentiators": "Granular skill-based targeting allows for highly specific communication compared to broader location or work area targeting.",
          "impact": "Improved communication effectiveness, increased employee engagement, and reduced information overload."
        },
        "use_cases": [
          {
            "scenario": "A new safety protocol is implemented for employees certified in 'Forklift Operation'. The manager uses skill-based targeting to send the protocol update only to those employees.",
            "user_type": "manager",
            "benefit": "Ensures only certified forklift operators receive the new safety protocol, reducing confusion and improving compliance."
          },
          {
            "scenario": "HR needs to inform all 'First Aid Certified' employees about an upcoming recertification course. They use skill-based targeting to send the course information directly to the relevant employees.",
            "user_type": "hr_admin",
            "benefit": "Efficiently notifies all employees requiring recertification, improving participation rates and maintaining compliance."
          },
          {
            "scenario": "A company-wide announcement about a new 'Customer Service Training' program is made, targeting only employees with the 'Customer Service Representative' skill.",
            "user_type": "manager",
            "benefit": "Reduces irrelevant notifications for employees in other departments, improving overall communication effectiveness."
          }
        ],
        "value_statements": [
          "Reach the right employees with the right message using skill-based targeting.",
          "Improve employee engagement by sending relevant broadcast messages.",
          "Reduce information overload and increase communication efficiency.",
          "Ensure critical information reaches employees with specific skills and certifications."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2722",
      "sequence_index": 67,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2722.png",
      "basic_info": {
        "screen_name": "Broadcasts Select Events",
        "feature_area": "other",
        "ui_elements": [
          "Dialog",
          "Search field",
          "List of events",
          "Confirm button"
        ],
        "functionality_visible": [
          "Select events for broadcast",
          "Search for events"
        ],
        "navigation_paths": [
          "Tap event to select",
          "Tap confirm to send broadcast"
        ],
        "data_displayed": [
          "List of events",
          "Number of events selected"
        ],
        "user_actions": [
          "Tap",
          "Enter text"
        ],
        "visible_text_labels": [
          "Broadcasts",
          "Select Events",
          "Search",
          "Backstreet Boys are back Tour",
          "BTS 2026",
          "1/2 selected",
          "Confirm"
        ],
        "one_line_description": "This screen allows the user to select which events employees should receive a broadcast about.",
        "screenshot_id": "IMG_2722",
        "sequence_index": 67,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2722.png"
      },
      "deep_understanding": {
        "screen_context": "The user sees this screen after initiating a broadcast and needing to select specific events to target with the broadcast message. This screen appears after the user has defined the locations, work areas, and skills to target.",
        "user_goal": "The user's goal is to select the specific events whose employees should receive the broadcast message.",
        "business_value": "This screen allows for targeted communication, ensuring that broadcast messages are only sent to employees working at or related to specific events. This reduces noise and increases the relevance of communications, improving employee engagement and efficiency.",
        "state_information": {
          "data_shown": "A list of events (e.g., 'Backstreet Boys are back Tour', 'BTS 2026') is displayed. The relevance is that these are the events for which employees might need to receive the broadcast message.",
          "editable_fields": "The user can select or deselect events from the list.",
          "read_only_fields": "The event names are read-only.",
          "current_state": "The 'Backstreet Boys are back Tour' event is currently selected. The screen indicates that 1 out of 2 events are selected."
        },
        "interactions": [
          {
            "action": "Tap the '+' icon next to 'BTS 2026'",
            "outcome": "The 'BTS 2026' event is selected.",
            "next_state": "The 'BTS 2026' event is selected, and the counter updates to '2/2 selected'.",
            "error_possibilities": "The event might not be selectable if there's a data loading issue or if the event is inactive."
          },
          {
            "action": "Tap the 'Confirm' button",
            "outcome": "The selected events are saved as the target audience for the broadcast message.",
            "next_state": "The app transitions to the next step in the broadcast creation process, likely a confirmation screen or the screen where the broadcast message is composed.",
            "error_possibilities": "The confirmation might fail if there's a network error or if no events are selected."
          },
          {
            "action": "Tap the 'X' icon in the top right corner",
            "outcome": "The event selection screen is closed.",
            "next_state": "The app returns to the previous screen, likely the broadcast creation screen, without saving the event selections.",
            "error_possibilities": "None."
          },
          {
            "action": "Type in the search bar",
            "outcome": "The list of events is filtered based on the search term.",
            "next_state": "The list of events is updated to only show events that match the search term.",
            "error_possibilities": "No results are found if the search term doesn't match any event names."
          }
        ],
        "edge_cases": "1. No events are available to select.\n2. A large number of events are available, requiring scrolling or search.\n3. The user has different roles, affecting which events they can select.\n4. An event is in the past or future, affecting its relevance for broadcasting.",
        "benefits": "The user benefits from targeted communication, ensuring that only relevant employees receive the broadcast message. This reduces noise and increases the effectiveness of the communication.",
        "mental_model": "The screen supports the mental model of selecting recipients for a broadcast message. The user understands that they are choosing specific events, and only employees associated with those events will receive the message."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "Broadcasts",
            "trigger": "Confirm button press",
            "data_passed": "List of selected events",
            "purpose": "To save the selected events for the broadcast"
          }
        ],
        "depends_on": [
          {
            "screen_type": "Broadcast Locations",
            "required_data": "List of locations to broadcast to",
            "purpose": "To know which locations to filter events by"
          }
        ],
        "data_flow": "This screen receives a list of events and allows the user to select which events the broadcast should be associated with. The selected events are then passed back to the previous screen when the user confirms.",
        "navigation_patterns": [
          {
            "pattern_type": "modal",
            "description": "This screen appears as a modal on top of the previous screen. The user can either confirm their selection or close the modal to return to the previous screen."
          }
        ],
        "feature_dependencies": [],
        "alternative_paths": []
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "Create Broadcast",
            "goal": "Send a broadcast to employees based on event attendance",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Broadcasts Select Events",
                "action": "Select 'Backstreet Boys are back Tour'",
                "outcome": "Event is selected for broadcast."
              },
              {
                "step_number": 2,
                "screen_type": "Broadcasts Select Events",
                "action": "Select 'BTS 2026'",
                "outcome": "Event is selected for broadcast."
              },
              {
                "step_number": 3,
                "screen_type": "Broadcasts Select Events",
                "action": "Tap 'Confirm'",
                "outcome": "User proceeds to the next step in creating the broadcast."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [],
          "manager": [],
          "hr_admin": [
            "Target broadcasts to specific events, ensuring relevant information reaches the right employees.",
            "Reduce noise by only notifying employees working at selected events."
          ],
          "general": []
        },
        "business_value": {
          "problem_solved": "Ensures broadcast messages are targeted to employees working specific events, avoiding irrelevant notifications to other employees.",
          "value_proposition": "Improved communication efficiency by delivering targeted broadcasts, reducing noise and increasing engagement.",
          "differentiators": "Granular targeting based on event participation, integrated within the Ordio platform.",
          "impact": "Increased employee engagement, reduced information overload, and improved operational efficiency."
        },
        "use_cases": [
          {
            "scenario": "HR wants to send a broadcast about updated safety protocols specifically for the 'Backstreet Boys are back Tour' event.",
            "user_type": "HR",
            "benefit": "Ensures only employees working at that event receive the message, avoiding confusion and improving compliance."
          },
          {
            "scenario": "A manager needs to inform staff about a last-minute change in schedule for the 'BTS 2026' event.",
            "user_type": "Manager",
            "benefit": "Quickly and efficiently communicates the change to the relevant staff, minimizing disruption and ensuring smooth operations."
          },
          {
            "scenario": "HR wants to send a broadcast about updated safety protocols specifically for the 'Backstreet Boys are back Tour' event.",
            "user_type": "HR",
            "benefit": "Ensures only employees working at that event receive the message, avoiding confusion and improving compliance."
          }
        ],
        "value_statements": [
          "Target your broadcasts with precision by selecting specific events.",
          "Ensure relevant information reaches the right employees, reducing noise and improving engagement.",
          "Improve communication efficiency with targeted broadcasts for specific events.",
          "Streamline your communication process by targeting broadcasts to employees working specific events."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2723",
      "sequence_index": 68,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2723.png",
      "basic_info": {
        "screen_name": "Broadcast Recipients",
        "feature_area": "other",
        "ui_elements": [
          "Search field",
          "List of employees",
          "Confirm button"
        ],
        "functionality_visible": [
          "Select employees to receive a broadcast"
        ],
        "navigation_paths": [],
        "data_displayed": [
          "Employee names",
          "Selection status"
        ],
        "user_actions": [
          "Search for employees",
          "Select employees",
          "Confirm selection"
        ],
        "visible_text_labels": [
          "Broadcasts",
          "Select Employees",
          "Search",
          "Felix Knoerzer",
          "Fynn Löchte",
          "Svenja Hausmann",
          "Ina Müller",
          "Josef Haider",
          "Confirm"
        ],
        "one_line_description": "This screen allows the user to select individual employees to receive a broadcast message.",
        "screenshot_id": "IMG_2723",
        "sequence_index": 68,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2723.png"
      },
      "deep_understanding": {
        "screen_context": "The user sees this screen after selecting to send a broadcast message and choosing to send it to individual employees. This screen allows the user to select specific employees to receive the broadcast.",
        "user_goal": "The user wants to select the specific employees who should receive the broadcast message.",
        "business_value": "This screen allows for targeted communication, ensuring that broadcast messages reach the relevant employees, improving efficiency and reducing information overload.",
        "state_information": {
          "data_shown": "A list of employees is displayed, along with a search bar to filter the list. Each employee has a button to add them to the recipient list. The number of selected employees is also shown.",
          "editable_fields": "The user can select or deselect employees from the list.",
          "read_only_fields": "The employee names and the number of selected employees are read-only.",
          "current_state": "The screen shows a list of employees, with 'Felix Knoerzer' already selected. The counter indicates 1 out of 29 employees are selected."
        },
        "interactions": [
          {
            "action": "Tap the '+' button next to an employee's name.",
            "outcome": "The employee is added to the list of recipients for the broadcast message.",
            "next_state": "The employee is selected, and the counter of selected employees is incremented.",
            "error_possibilities": "None."
          },
          {
            "action": "Tap the 'Confirm' button.",
            "outcome": "The selected employees will receive the broadcast message.",
            "next_state": "The app transitions to a confirmation screen or back to the broadcast creation workflow.",
            "error_possibilities": "If no employees are selected, the app might display an error message or prevent the user from proceeding."
          },
          {
            "action": "Type in the search bar.",
            "outcome": "The list of employees is filtered based on the search term.",
            "next_state": "The list of employees is updated to show only those matching the search term.",
            "error_possibilities": "If no employees match the search term, an empty list or a 'no results' message is displayed."
          },
          {
            "action": "Tap the 'X' button in the top right corner.",
            "outcome": "The screen closes and the user is taken back to the previous screen.",
            "next_state": "The app transitions back to the previous screen in the broadcast creation workflow, potentially discarding any selected employees.",
            "error_possibilities": "None."
          }
        ],
        "edge_cases": [
          "The user has a very large number of employees, requiring pagination or infinite scrolling.",
          "The user has no employees.",
          "The user has already selected all employees.",
          "The user searches for an employee that does not exist.",
          "The user's internet connection is unstable, causing the employee list to load slowly or incompletely."
        ],
        "benefits": "This screen allows the user to precisely target broadcast messages to the relevant employees, improving communication efficiency and reducing noise.",
        "mental_model": "The user has a mental model of a list of employees that they can select from to receive a broadcast message. They understand that they can search for specific employees and that they need to confirm their selection before the message is sent."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "Broadcasts",
            "trigger": "Tap Confirm",
            "data_passed": "List of selected employees",
            "purpose": "Return to the broadcasts screen with the selected recipients"
          }
        ],
        "depends_on": [
          {
            "screen_type": "Broadcast Skills Selection",
            "required_data": "Broadcast details (location, workarea, skills, events)",
            "purpose": "To have the context of the broadcast being created"
          }
        ],
        "data_flow": "Receives broadcast details from previous screens. Allows the user to select individual employees to receive the broadcast. Passes the list of selected employees back to the broadcasts screen.",
        "navigation_patterns": [
          {
            "pattern_type": "modal",
            "description": "This screen appears as a modal overlay on top of the previous screen. The user can select employees or close the modal to return to the previous screen."
          }
        ],
        "feature_dependencies": [],
        "alternative_paths": []
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "Send Broadcast to Specific Employees",
            "goal": "Send a broadcast message to a selected group of employees.",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Broadcast Workarea Selection",
                "action": "Select a workarea",
                "outcome": "Navigates to the skills selection screen."
              },
              {
                "step_number": 2,
                "screen_type": "Broadcast Skills Selection",
                "action": "Select skills",
                "outcome": "Navigates to the events selection screen."
              },
              {
                "step_number": 3,
                "screen_type": "Broadcasts Select Events",
                "action": "Select events",
                "outcome": "Navigates to the broadcast recipients screen."
              },
              {
                "step_number": 4,
                "screen_type": "Broadcast Recipients",
                "action": "Select employees to receive the broadcast.",
                "outcome": "Selected employees are added to the recipient list."
              },
              {
                "step_number": 5,
                "screen_type": "Broadcast Recipients",
                "action": "Tap 'Confirm'.",
                "outcome": "Navigates to the next screen in the broadcast sending process (likely additional settings or confirmation)."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [],
          "manager": [],
          "hr_admin": [
            "Targeted communication: HR admins can send broadcast messages to specific employees, ensuring relevant information reaches the right people.",
            "Efficient communication: HR admins can quickly select and send broadcast messages to individual employees, saving time and effort."
          ],
          "general": [
            "Personalized communication: Users can receive broadcast messages tailored to their specific roles or departments.",
            "Easy selection: Users can easily search for and select employees to receive broadcast messages."
          ]
        },
        "business_value": {
          "problem_solved": "Ensures important broadcast messages reach the intended individual recipients within the organization.",
          "value_proposition": "Provides a targeted and efficient way to communicate important information to specific employees, improving communication effectiveness and reducing noise.",
          "differentiators": "Simple and intuitive interface for selecting individual recipients.",
          "impact": "Improved communication efficiency, increased message relevance, and reduced information overload for employees."
        },
        "use_cases": [
          {
            "scenario": "HR admin needs to inform a specific group of employees about a new company policy.",
            "user_type": "HR",
            "benefit": "HR admin can easily select the relevant employees and send them the policy update, ensuring everyone is informed."
          },
          {
            "scenario": "A manager wants to send a team-wide announcement about a project deadline.",
            "user_type": "Manager",
            "benefit": "The manager can quickly select all team members and send the announcement, ensuring everyone is aware of the deadline."
          },
          {
            "scenario": "HR wants to send a reminder about open enrollment to employees who haven't yet completed it.",
            "user_type": "HR",
            "benefit": "HR can select only those employees who haven't completed open enrollment and send them a targeted reminder."
          }
        ],
        "value_statements": [
          "Reach the right people with targeted broadcast messages.",
          "Communicate efficiently with individual employee selection.",
          "Improve communication effectiveness with personalized broadcasts."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2724",
      "sequence_index": 69,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2724.png",
      "basic_info": {
        "screen_name": "Broadcasts Selection",
        "feature_area": "other",
        "ui_elements": [
          "Dialog",
          "Search field",
          "List of terminals",
          "Confirm button"
        ],
        "functionality_visible": [
          "Select terminals for broadcast",
          "Search for terminals"
        ],
        "navigation_paths": [
          "Tap confirm to send broadcast to selected terminals",
          "Tap X to close the dialog"
        ],
        "data_displayed": [
          "List of terminals",
          "Selection status of each terminal"
        ],
        "user_actions": [
          "Select terminal",
          "Search for terminal",
          "Confirm selection",
          "Close dialog"
        ],
        "visible_text_labels": [
          "Broadcasts",
          "Select Terminals",
          "Should the broadcast also be sent to terminals?",
          "Search",
          "Restaurant Bachingen",
          "Veranstaltungshalle 4711",
          "1/2 selected",
          "Confirm"
        ],
        "one_line_description": "This screen allows the user to select which terminals should receive a broadcast message.",
        "screenshot_id": "IMG_2724",
        "sequence_index": 69,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2724.png"
      },
      "deep_understanding": {
        "screen_context": "The user sees this screen after selecting the option to send a broadcast to terminals (locations) in the previous screen. This screen allows the user to select specific terminals to which the broadcast message should be sent.",
        "user_goal": "The user wants to select the specific terminals (locations) that should receive the broadcast message.",
        "business_value": "This screen ensures that broadcast messages are sent to the relevant terminals, improving communication efficiency and ensuring that the right information reaches the right people at the right locations. It avoids sending irrelevant information to terminals where it's not needed.",
        "state_information": {
          "data_shown": "A list of available terminals (locations) such as 'Restaurant Bachingen' and 'Veranstaltungshalle 4711'. The number of selected terminals is also displayed (e.g., 1/2 selected).",
          "editable_fields": "The user can select or deselect terminals from the list.",
          "read_only_fields": "The names of the terminals and the current selection count are read-only.",
          "current_state": "The screen shows a list of terminals, with 'Restaurant Bachingen' currently selected. The selection count indicates that one out of two terminals is selected."
        },
        "interactions": [
          {
            "action": "Tap the '+' icon next to 'Veranstaltungshalle 4711'",
            "outcome": "'Veranstaltungshalle 4711' is selected, and the selection count updates to 2/2.",
            "next_state": "The 'Veranstaltungshalle 4711' terminal is added to the selected terminals.",
            "error_possibilities": "The terminal might not be selectable if there's a technical issue or if the user lacks the necessary permissions."
          },
          {
            "action": "Tap the 'Confirm' button",
            "outcome": "The selected terminals are saved, and the broadcast message will be sent to those terminals.",
            "next_state": "The app transitions to the next step in the broadcast process, likely a confirmation screen or a screen showing the broadcast details.",
            "error_possibilities": "The broadcast might fail to send if there's a network issue or if the user lacks the necessary permissions."
          },
          {
            "action": "Tap the 'X' icon at the top right",
            "outcome": "The screen closes and the user is taken back to the previous screen.",
            "next_state": "The user returns to the previous screen, likely the screen where they chose to send the broadcast to terminals.",
            "error_possibilities": "None."
          },
          {
            "action": "Type in the search bar",
            "outcome": "The list of terminals is filtered based on the search term.",
            "next_state": "The list of terminals is updated to show only those that match the search term.",
            "error_possibilities": "No results are found if the search term doesn't match any terminal names."
          },
          {
            "action": "Tap 'Restaurant Bachingen'",
            "outcome": "'Restaurant Bachingen' is deselected, and the selection count updates to 0/2.",
            "next_state": "The 'Restaurant Bachingen' terminal is removed from the selected terminals.",
            "error_possibilities": "The terminal might not be deselectable if there's a technical issue or if the user lacks the necessary permissions."
          }
        ],
        "edge_cases": [
          "The user might not have permission to send broadcasts to certain terminals.",
          "There might be a large number of terminals, requiring pagination or infinite scrolling.",
          "Some terminals might be inactive or unavailable.",
          "The user might accidentally select the wrong terminals.",
          "The list of terminals might be empty if no terminals are configured.",
          "The search function might not work correctly for all languages or character sets."
        ],
        "benefits": "The screen allows users to target their broadcast messages to specific locations, ensuring that the right information reaches the right people. This improves communication efficiency and reduces the risk of information overload.",
        "mental_model": "The screen supports a mental model of selecting recipients for a broadcast message. The user understands that they are choosing which terminals will receive the message, similar to selecting recipients for an email."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "confirmation",
            "trigger": "User taps 'Confirm' button",
            "data_passed": "List of selected terminals (Restaurant Bachingen, Veranstaltungshalle 4711)",
            "purpose": "To confirm the broadcast settings and initiate the broadcast to the selected terminals."
          }
        ],
        "depends_on": [
          {
            "screen_type": "Broadcast Recipients",
            "required_data": "List of recipients for the broadcast",
            "purpose": "To ensure the broadcast is sent to the correct people before selecting terminals."
          },
          {
            "screen_type": "Broadcast Skills Selection",
            "required_data": "Skills required for the broadcast",
            "purpose": "To filter recipients based on skills before selecting terminals."
          },
          {
            "screen_type": "Broadcast Workarea Selection",
            "required_data": "Workarea for the broadcast",
            "purpose": "To filter recipients based on workarea before selecting terminals."
          },
          {
            "screen_type": "Broadcast Locations",
            "required_data": "Location for the broadcast",
            "purpose": "To filter recipients based on location before selecting terminals."
          },
          {
            "screen_type": "Broadcasts Select Events",
            "required_data": "Event associated with the broadcast",
            "purpose": "To associate the broadcast with a specific event before selecting terminals."
          }
        ],
        "data_flow": "This screen receives a list of potential terminals to broadcast to. The user selects terminals from the list. The selected terminals are then passed to the next screen upon confirmation.",
        "navigation_patterns": [
          {
            "pattern_type": "modal",
            "description": "This screen appears as a modal overlay on top of the previous screen."
          },
          {
            "pattern_type": "linear",
            "description": "The user progresses linearly through the broadcast setup process, with this screen being one step in the sequence."
          },
          {
            "pattern_type": "back",
            "description": "The user can tap the 'X' icon to close the modal and return to the previous screen."
          }
        ],
        "feature_dependencies": [],
        "alternative_paths": [
          {
            "description": "The user can choose not to select any terminals and proceed with the broadcast to only the selected recipients.",
            "path": "Tap 'Confirm' without selecting any terminals."
          }
        ]
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "Send Broadcast to Selected Terminals",
            "goal": "Send a broadcast message to specific terminals.",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Broadcast Skills Selection",
                "action": "Select skills for the broadcast.",
                "outcome": "User selects the skills relevant to the broadcast."
              },
              {
                "step_number": 2,
                "screen_type": "Broadcasts Select Events",
                "action": "Select events for the broadcast.",
                "outcome": "User selects the events relevant to the broadcast."
              },
              {
                "step_number": 3,
                "screen_type": "Broadcast Recipients",
                "action": "Select recipients for the broadcast.",
                "outcome": "User selects the recipients for the broadcast."
              },
              {
                "step_number": 4,
                "screen_type": "Broadcasts Selection",
                "action": "Select terminals to send the broadcast to.",
                "outcome": "User selects the terminals to receive the broadcast."
              },
              {
                "step_number": 5,
                "screen_type": "Broadcast Recipients",
                "action": "Review recipients and confirm.",
                "outcome": "User reviews the selected recipients."
              },
              {
                "step_number": 6,
                "screen_type": "Broadcast Additional Settings",
                "action": "Configure additional settings.",
                "outcome": "User configures settings like scheduling."
              },
              {
                "step_number": 7,
                "screen_type": "Broadcast Confirmation",
                "action": "Confirm and send the broadcast.",
                "outcome": "Broadcast is sent to selected terminals."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [],
          "manager": [
            "Targeted communication: Send broadcasts only to relevant terminals, avoiding unnecessary notifications for employees at other locations.",
            "Improved information dissemination: Ensure important information reaches the right employees quickly and efficiently."
          ],
          "hr_admin": [
            "Centralized communication control: Manage broadcast distribution from a single interface.",
            "Auditable communication: Track which terminals received specific broadcasts."
          ],
          "general": [
            "Flexibility: Choose specific terminals for each broadcast based on the message's relevance.",
            "Efficiency: Streamline communication by avoiding irrelevant notifications."
          ]
        },
        "business_value": {
          "problem_solved": "The problem of sending broadcast messages to all terminals when the information is only relevant to a subset of locations.",
          "value_proposition": "Enables targeted communication by allowing users to select specific terminals to receive broadcast messages, improving efficiency and relevance.",
          "differentiators": "Provides a simple and intuitive interface for selecting terminals, ensuring ease of use and minimizing errors.",
          "impact": "Reduces noise and improves employee engagement by delivering only relevant information, leading to better communication and operational efficiency."
        },
        "use_cases": [
          {
            "scenario": "A manager needs to inform employees at the 'Restaurant Bachingen' location about a new menu item.",
            "user_type": "manager",
            "benefit": "The manager can select only the 'Restaurant Bachingen' terminal to receive the broadcast, ensuring that only relevant employees are notified."
          },
          {
            "scenario": "HR needs to inform employees at 'Veranstaltungshalle 4711' about an upcoming event.",
            "user_type": "hr_admin",
            "benefit": "HR can select only the 'Veranstaltungshalle 4711' terminal to receive the broadcast, avoiding unnecessary notifications for employees at other locations."
          },
          {
            "scenario": "A company-wide announcement needs to be sent to all locations.",
            "user_type": "manager",
            "benefit": "The manager can select all terminals to receive the broadcast, ensuring that all employees are informed."
          }
        ],
        "value_statements": [
          "Target your broadcasts: Send messages only to the terminals that need to know.",
          "Improve communication efficiency: Reduce noise and ensure relevant information reaches the right employees.",
          "Simplify broadcast management: Easily select terminals for each broadcast with our intuitive interface.",
          "Enhance employee engagement: Deliver only relevant information to improve focus and productivity."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2725",
      "sequence_index": 70,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2725.png",
      "basic_info": {
        "screen_name": "Broadcast Recipients",
        "feature_area": "other",
        "ui_elements": [
          "Broadcasts title",
          "Select recipients section",
          "Select Locations option",
          "Select Workareas option",
          "Select Skills option",
          "Select Events option",
          "Select Employees option",
          "Select Terminals option",
          "Back button",
          "Next button"
        ],
        "functionality_visible": [
          "Select recipients for broadcast",
          "Filter recipients by location",
          "Filter recipients by work area",
          "Filter recipients by skills",
          "Filter recipients by events",
          "Filter recipients by employees",
          "Filter recipients by terminals"
        ],
        "navigation_paths": [
          "Tap location to select",
          "Tap work area to select",
          "Tap skill to select",
          "Tap event to select",
          "Tap employee to select",
          "Tap terminal to select",
          "Tap Back to return",
          "Tap Next to continue"
        ],
        "data_displayed": [
          "List of locations",
          "List of work areas",
          "List of skills",
          "List of events",
          "List of employees",
          "List of terminals",
          "Number of recipients matching criteria"
        ],
        "user_actions": [
          "Tap",
          "Select",
          "Navigate"
        ],
        "visible_text_labels": [
          "Broadcasts",
          "Select recipients",
          "Select Locations",
          "Restaurant Bachingen",
          "Select Workareas",
          "Bar",
          "Runner",
          "Select Skills",
          "Yoga Meisterin Level 5",
          "Barista",
          "Select Events",
          "Backstreet Boys are back Tour",
          "Select Employees",
          "Felix Knoerzer",
          "Select Terminals"
        ],
        "one_line_description": "This screen allows the user to select recipients for a broadcast message based on various criteria like location, work area, skills, events, employees, and terminals.",
        "screenshot_id": "IMG_2725",
        "sequence_index": 70,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2725.png"
      },
      "deep_understanding": {
        "screen_context": "The user sees this screen when they are creating a broadcast and need to select the recipients. This screen appears after the user has initiated the broadcast creation process and needs to specify who should receive the message.",
        "user_goal": "The user's goal is to select the specific recipients for their broadcast message, narrowing down the audience based on various criteria such as location, work area, skills, events, employees, and terminals.",
        "business_value": "This screen exists to allow targeted communication within the organization. It ensures that broadcast messages are only sent to relevant employees, reducing noise and improving efficiency. This improves employee engagement and ensures important information reaches the right people.",
        "state_information": {
          "data_shown": "The screen displays various categories for selecting recipients: Locations, Workareas, Skills, Events, Employees, and Terminals. Each category shows a preview of the selected criteria (e.g., 'Restaurant Bachingen' under Locations). A summary at the bottom indicates the number of recipients and terminals matching the selected criteria.",
          "editable_fields": "The user can select or deselect options within each category (Locations, Workareas, Skills, Events, Employees, and Terminals) to refine the recipient list.",
          "read_only_fields": "The category titles (Select Locations, Select Workareas, etc.) and the summary of matching recipients/terminals are read-only.",
          "current_state": "The current state reflects the user's selections for each recipient category. The summary at the bottom shows that '1 Recipient, 1 Terminal' are currently matching the selected criteria."
        },
        "interactions": [
          {
            "action": "Tap on a category (e.g., 'Select Locations')",
            "outcome": "The screen navigates to a sub-screen where the user can select specific locations.",
            "next_state": "A sub-screen displaying a list of locations with checkboxes or similar selection mechanism.",
            "error_possibilities": "The sub-screen might fail to load due to network issues."
          },
          {
            "action": "Select or deselect options within a category sub-screen (e.g., selecting 'Bar' under 'Select Workareas')",
            "outcome": "The recipient list is updated based on the selection, and the summary at the bottom is updated accordingly.",
            "next_state": "The user returns to the main recipient selection screen with the updated selections reflected.",
            "error_possibilities": "The selection might not be saved correctly due to data synchronization issues."
          },
          {
            "action": "Tap the 'Back' button",
            "outcome": "The user navigates back to the previous screen (likely the broadcast creation screen).",
            "next_state": "The previous screen in the broadcast creation workflow.",
            "error_possibilities": "None."
          },
          {
            "action": "Tap the 'Next' button",
            "outcome": "The user proceeds to the next step in the broadcast creation process, likely a confirmation screen or a screen to compose the broadcast message.",
            "next_state": "The next screen in the broadcast creation workflow.",
            "error_possibilities": "The app might display an error if no recipients are selected."
          }
        ],
        "edge_cases": [
          "No recipients match the selected criteria: The summary at the bottom should indicate '0 Recipients, 0 Terminals'. The 'Next' button might be disabled or display a warning.",
          "A large number of recipients match the criteria: The app should handle a large recipient list efficiently without performance issues.",
          "User has no permissions to select certain recipient categories: Some categories might be disabled or hidden based on the user's role.",
          "Network connectivity issues: The app should handle network errors gracefully and allow the user to retry their selections.",
          "User selects conflicting criteria: The app should provide feedback if the selected criteria result in an empty recipient list due to conflicting rules.",
          "Dynamic recipient lists: The recipient lists (e.g., employees, terminals) might change frequently. The app should ensure the lists are up-to-date."
        ],
        "benefits": "The screen provides a flexible and granular way to target broadcast messages, ensuring that only relevant employees receive the information. This reduces information overload and improves communication effectiveness. The summary of matching recipients provides immediate feedback on the selection criteria.",
        "mental_model": "The screen supports a mental model of filtering recipients based on various attributes. The user understands that they can narrow down the audience by selecting specific locations, work areas, skills, events, employees, and terminals. The screen acts as a filter builder, allowing the user to create a precise recipient list."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "unknown",
            "trigger": "Tap Next",
            "data_passed": "Selected recipients (locations, workareas, skills, events, employees, terminals)",
            "purpose": "To proceed to the next step in the broadcast creation process (likely a confirmation or content creation screen)."
          }
        ],
        "depends_on": [
          {
            "screen_type": "Broadcast Workarea Selection",
            "required_data": "Selected workareas",
            "purpose": "To filter recipients based on selected workareas."
          },
          {
            "screen_type": "Broadcast Skills Selection",
            "required_data": "Selected skills",
            "purpose": "To filter recipients based on selected skills."
          },
          {
            "screen_type": "Broadcasts Select Events",
            "required_data": "Selected events",
            "purpose": "To filter recipients based on selected events."
          },
          {
            "screen_type": "Broadcast Recipients",
            "required_data": "Selected recipients",
            "purpose": "To filter recipients based on selected recipients."
          },
          {
            "screen_type": "Broadcasts Selection",
            "required_data": "Selected broadcast",
            "purpose": "To filter recipients based on selected broadcast."
          }
        ],
        "data_flow": "This screen receives data about available locations, workareas, skills, events, employees, and terminals. The user selects recipients based on these categories. The selected recipients are then passed to the next screen.",
        "navigation_patterns": [
          {
            "pattern_type": "branching",
            "description": "The user can select recipients based on different categories (locations, workareas, skills, events, employees, terminals). The user can also go back to previous screens or cancel the process."
          },
          {
            "pattern_type": "modal",
            "description": "This screen is presented as a modal, allowing the user to select recipients before proceeding."
          },
          {
            "pattern_type": "back",
            "description": "The user can tap the 'Back' button to return to the previous screen."
          }
        ],
        "feature_dependencies": [],
        "alternative_paths": [
          "The user can close the modal without selecting any recipients, effectively canceling the broadcast creation process."
        ]
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "Send a Broadcast",
            "goal": "Send a message to a specific group of employees",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Broadcasts Selection",
                "action": "Select recipients",
                "outcome": "Navigates to the Broadcast Recipients screen"
              },
              {
                "step_number": 2,
                "screen_type": "Broadcast Recipients",
                "action": "Select recipients based on location, work area, skills, events, employees, or terminals",
                "outcome": "Recipients are selected based on the chosen criteria"
              },
              {
                "step_number": 3,
                "screen_type": "Broadcast Recipients",
                "action": "Tap Next",
                "outcome": "Navigates to the Broadcast Additional Settings screen"
              },
              {
                "step_number": 4,
                "screen_type": "Broadcast Additional Settings",
                "action": "Set additional settings (e.g., schedule, priority)",
                "outcome": "Additional settings are configured for the broadcast"
              },
              {
                "step_number": 5,
                "screen_type": "Broadcast Additional Settings",
                "action": "Tap Next",
                "outcome": "Navigates to the Broadcast Confirmation screen"
              },
              {
                "step_number": 6,
                "screen_type": "Broadcast Confirmation",
                "action": "Review the broadcast details and confirm",
                "outcome": "The broadcast is sent to the selected recipients"
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [
            "Receive relevant broadcasts based on location, work area, skills, events, or direct selection.",
            "Avoid irrelevant communications by receiving only targeted broadcasts."
          ],
          "manager": [
            "Target broadcasts to specific groups of employees based on various criteria.",
            "Ensure important information reaches the right employees quickly and efficiently.",
            "Filter recipients by location, work area, skills, events, or individual selection."
          ],
          "hr_admin": [
            "Communicate important company-wide announcements to specific employee segments.",
            "Improve communication efficiency by targeting broadcasts to relevant groups.",
            "Easily manage broadcast recipients based on various criteria."
          ],
          "general": [
            "Easy selection of broadcast recipients through various categories.",
            "Clear indication of the number of recipients matching the selected criteria."
          ]
        },
        "business_value": {
          "problem_solved": "Ensures that broadcasts reach the intended recipients, avoiding information overload and improving communication efficiency.",
          "value_proposition": "Targeted communication that ensures the right information reaches the right people, improving employee engagement and productivity.",
          "differentiators": "Granular recipient selection based on location, work area, skills, events, and individual employees, providing precise targeting capabilities.",
          "impact": "Improved communication efficiency, increased employee engagement, and reduced information overload."
        },
        "use_cases": [
          {
            "scenario": "A restaurant manager needs to inform all bar staff about a new cocktail recipe.",
            "user_type": "manager",
            "benefit": "The manager can select the 'Bar' work area to target the broadcast specifically to the bar staff, ensuring they receive the information quickly."
          },
          {
            "scenario": "HR wants to announce a yoga session to all employees with 'Yoga Meisterin Level 5' skill.",
            "user_type": "hr_admin",
            "benefit": "HR can select the 'Yoga Meisterin Level 5' skill to target the broadcast only to employees with that skill, ensuring relevant information reaches the right people."
          },
          {
            "scenario": "A restaurant wants to inform all employees at the 'Restaurant Bachingen' location about a new policy.",
            "user_type": "manager",
            "benefit": "The manager can select the 'Restaurant Bachingen' location to target the broadcast specifically to employees at that location, ensuring they receive the information quickly."
          },
          {
            "scenario": "A company is hosting a 'Backstreet Boys are back Tour' event and wants to inform all employees who signed up.",
            "user_type": "hr_admin",
            "benefit": "HR can select the 'Backstreet Boys are back Tour' event to target the broadcast only to employees who are attending, ensuring relevant information reaches the right people."
          }
        ],
        "value_statements": [
          "Target your broadcasts with precision: Reach the right employees, every time.",
          "Improve communication efficiency: Send targeted messages based on location, skills, and more.",
          "Reduce information overload: Ensure employees only receive relevant broadcasts.",
          "Boost employee engagement: Deliver personalized communications that resonate."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2726",
      "sequence_index": 71,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2726.png",
      "basic_info": {
        "screen_name": "Broadcast Additional Settings",
        "feature_area": "other",
        "ui_elements": [
          "Broadcasts dialog",
          "Additional settings section",
          "Toggle for 'Only recipients who are working today'",
          "Toggle for 'Send broadcast also via email'",
          "Recipient count information",
          "Back button",
          "Next button"
        ],
        "functionality_visible": [
          "Set additional conditions for broadcast",
          "Filter recipients based on work status",
          "Send broadcast via email",
          "View recipient count",
          "Proceed to next step",
          "Go back to previous step"
        ],
        "navigation_paths": [
          "Tap 'Next' to proceed",
          "Tap 'Back' to return",
          "Tap 'X' to close the dialog"
        ],
        "data_displayed": [
          "Additional settings options",
          "Recipient count",
          "Terminal count",
          "Work status filter",
          "Email sending option"
        ],
        "user_actions": [
          "Toggle settings",
          "Tap 'Next'",
          "Tap 'Back'",
          "Tap 'X'"
        ],
        "visible_text_labels": [
          "Broadcasts",
          "Additional settings",
          "Set additional conditions",
          "Only recipients who are working today",
          "Send broadcast also via email",
          "1 Recipients, 1 Terminal are matching your selected criteria.",
          "Back",
          "Next"
        ],
        "one_line_description": "This screen allows the user to set additional conditions for a broadcast, such as filtering recipients based on their work status and sending the broadcast via email.",
        "screenshot_id": "IMG_2726",
        "sequence_index": 71,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2726.png"
      },
      "deep_understanding": {
        "screen_context": "The user sees this screen after selecting recipients for a broadcast message and potentially after configuring which terminals should receive the message. It appears to be the final configuration step before sending the broadcast.",
        "user_goal": "The user's goal is to review and confirm additional settings for the broadcast message, such as whether to send it only to recipients working today and whether to send it via email, before finally sending the message.",
        "business_value": "This screen allows for fine-grained control over broadcast message delivery, ensuring that messages are sent to the right people at the right time. This reduces noise and increases the likelihood that the message will be seen and acted upon, improving communication efficiency and employee engagement.",
        "state_information": {
          "data_shown": "The screen displays additional settings for the broadcast, including options to filter recipients based on their work status (only working today) and to send the broadcast via email. It also shows a summary of how many recipients and terminals match the selected criteria.",
          "editable_fields": "The user can toggle the switches for 'Only recipients who are working today' and 'Send broadcast also via email'.",
          "read_only_fields": "The number of recipients and terminals matching the criteria is displayed but not editable.",
          "current_state": "The 'Only recipients who are working today' option is currently enabled. The 'Send broadcast also via email' option is currently disabled. The broadcast will be sent to 1 recipient and 1 terminal based on the current settings."
        },
        "interactions": [
          {
            "action": "Toggle 'Only recipients who are working today' switch",
            "outcome": "The setting for filtering recipients based on their work status is changed.",
            "next_state": "The number of recipients and terminals matching the criteria may change depending on the work status of the selected recipients.",
            "error_possibilities": "None apparent."
          },
          {
            "action": "Toggle 'Send broadcast also via email' switch",
            "outcome": "The setting for sending the broadcast via email is changed.",
            "next_state": "The broadcast will either be sent via email in addition to the app, or only via the app, depending on the toggle state.",
            "error_possibilities": "None apparent."
          },
          {
            "action": "Tap 'Back' button",
            "outcome": "The user navigates back to the previous screen.",
            "next_state": "The previous screen, likely the recipient selection screen, is displayed.",
            "error_possibilities": "None apparent."
          },
          {
            "action": "Tap 'Next' button",
            "outcome": "The user proceeds to the next step in the broadcast process, likely a confirmation screen or the actual sending of the broadcast.",
            "next_state": "A confirmation screen or the broadcast sending process is initiated.",
            "error_possibilities": "If there are no recipients matching the criteria, an error message may be displayed. If there are network connectivity issues, the broadcast may fail to send."
          },
          {
            "action": "Tap the 'X' icon in the 'Additional settings' section",
            "outcome": "The 'Additional settings' section is closed.",
            "next_state": "The user is taken back to the previous screen.",
            "error_possibilities": "None apparent."
          }
        ],
        "edge_cases": [
          "The number of recipients matching the criteria could be zero.",
          "The user may not have permission to send broadcasts via email.",
          "The user may have selected a very large number of recipients, which could cause performance issues.",
          "The user's device may have limited network connectivity, which could cause the broadcast to fail.",
          "The user may have selected recipients who do not have email addresses associated with their accounts."
        ],
        "benefits": "This screen provides users with the ability to target their broadcast messages more effectively, ensuring that the right people receive the right information at the right time. This reduces noise, increases engagement, and improves communication efficiency.",
        "mental_model": "The screen supports a mental model of a multi-step broadcast process where the user first selects recipients, then configures additional settings, and finally sends the message. The screen reinforces the idea that the user has control over who receives the message and how it is delivered."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "confirmation",
            "trigger": "Tap 'Next'",
            "data_passed": "Broadcast message, selected recipients, additional settings (working today, send via email)",
            "purpose": "To confirm and send the broadcast message"
          }
        ],
        "depends_on": [
          {
            "screen_type": "Broadcast Skills Selection",
            "required_data": "Broadcast message content",
            "purpose": "To have the broadcast message content to be sent"
          },
          {
            "screen_type": "Broadcasts Select Events",
            "required_data": "Selected events",
            "purpose": "To have the selected events to be sent"
          },
          {
            "screen_type": "Broadcast Recipients",
            "required_data": "Selected recipients",
            "purpose": "To have the selected recipients to send the broadcast to"
          },
          {
            "screen_type": "Broadcasts Selection",
            "required_data": "Broadcast message content",
            "purpose": "To have the broadcast message content to be sent"
          }
        ],
        "data_flow": "Receives broadcast message content, selected recipients, and allows users to set additional conditions (only working today, send via email). Passes all this data to the confirmation screen.",
        "navigation_patterns": [
          {
            "pattern_type": "linear",
            "description": "User progresses through a series of screens to create and send a broadcast message."
          },
          {
            "pattern_type": "back",
            "description": "User can go back to the previous screen (Broadcast Recipients) to modify the selected recipients."
          },
          {
            "pattern_type": "modal",
            "description": "This screen appears as a modal on top of the previous screen."
          }
        ],
        "feature_dependencies": [],
        "alternative_paths": []
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "Send Broadcast",
            "goal": "Send a broadcast message to selected recipients with additional settings",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Broadcasts Selection",
                "action": "Select recipients for the broadcast",
                "outcome": "User is taken to the Broadcast Recipients screen"
              },
              {
                "step_number": 2,
                "screen_type": "Broadcast Recipients",
                "action": "Review and confirm the recipients",
                "outcome": "User is taken to the Broadcast Additional Settings screen"
              },
              {
                "step_number": 3,
                "screen_type": "Broadcast Additional Settings",
                "action": "Set additional conditions like 'Only recipients who are working today' and 'Send broadcast also via email'",
                "outcome": "User is taken to the Broadcast Confirmation screen"
              },
              {
                "step_number": 4,
                "screen_type": "Broadcast Confirmation",
                "action": "Confirm the broadcast details",
                "outcome": "Broadcast message is sent and user is taken to the Broadcasts screen"
              },
              {
                "step_number": 5,
                "screen_type": "Broadcasts",
                "action": "View sent broadcast",
                "outcome": "User sees the sent broadcast in the list"
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [],
          "manager": [],
          "hr_admin": [
            "Target broadcasts to only employees working today, ensuring relevant information reaches the right people.",
            "Optionally send broadcasts via email, increasing the likelihood of message delivery and readership.",
            "See the number of recipients and terminals that match the selected criteria before sending the broadcast."
          ],
          "general": [
            "Ensure broadcasts are only sent to relevant recipients based on working status.",
            "Receive broadcasts via multiple channels (in-app and email)."
          ]
        },
        "business_value": {
          "problem_solved": "Ensures broadcast messages are delivered to the right people at the right time, avoiding unnecessary notifications for employees who are not working or who prefer email communication.",
          "value_proposition": "Increased efficiency and relevance of broadcast communications, leading to better employee engagement and awareness.",
          "differentiators": "Granular control over broadcast recipients based on working status and delivery preferences.",
          "impact": "Improved communication effectiveness, reduced noise, and increased employee engagement."
        },
        "use_cases": [
          {
            "scenario": "An HR admin needs to send an urgent announcement about a company-wide policy change. They only want to notify employees who are currently working.",
            "user_type": "hr_admin",
            "benefit": "Ensures that only employees who are currently working receive the urgent announcement, minimizing disruption for those who are off-duty."
          },
          {
            "scenario": "A manager wants to send a shift-specific update to their team. They want to ensure everyone receives the message, even if they don't check the app regularly.",
            "user_type": "manager",
            "benefit": "By sending the broadcast via email, the manager ensures that all team members receive the update, regardless of their app usage habits."
          },
          {
            "scenario": "An HR admin is sending out a reminder about open enrollment for benefits. They want to make sure all employees see it, but some employees prefer email.",
            "user_type": "hr_admin",
            "benefit": "The HR admin can send the broadcast via both the app and email, catering to different employee preferences and maximizing the chances of the message being seen."
          }
        ],
        "value_statements": [
          "Reach the right employees at the right time with targeted broadcast messages.",
          "Ensure important information is delivered effectively through multiple channels.",
          "Improve employee engagement with relevant and timely communications.",
          "Streamline broadcast communications with granular control over recipient selection."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2727",
      "sequence_index": 72,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2727.png",
      "basic_info": {
        "screen_name": "Broadcast Confirmation",
        "feature_area": "other",
        "ui_elements": [
          "Broadcast overview",
          "Broadcast message preview",
          "Back button",
          "Send Broadcast button"
        ],
        "functionality_visible": [
          "Review broadcast message",
          "Send broadcast message",
          "Go back to edit broadcast"
        ],
        "navigation_paths": [
          "Tap 'Back' to edit the broadcast",
          "Tap 'Send Broadcast' to send the message",
          "Tap 'X' to close the broadcast confirmation"
        ],
        "data_displayed": [
          "Broadcast message content",
          "Broadcast sender",
          "Broadcast send date and time",
          "Number of employees and terminals receiving the broadcast"
        ],
        "user_actions": [
          "Tap 'Back'",
          "Tap 'Send Broadcast'",
          "Tap 'X'"
        ],
        "visible_text_labels": [
          "Broadcasts",
          "Overview",
          "Broadcast message",
          "Back",
          "Send Broadcast"
        ],
        "one_line_description": "This screen allows the user to review and confirm the broadcast message before sending it to employees and terminals.",
        "screenshot_id": "IMG_2727",
        "sequence_index": 72,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2727.png"
      },
      "deep_understanding": {
        "screen_context": "The user sees this screen as the final step before sending a broadcast message. It appears after the user has selected the recipients and configured any additional settings for the broadcast.",
        "user_goal": "The user wants to review the broadcast message details and confirm that they are correct before sending it to the selected recipients.",
        "business_value": "This screen ensures that broadcast messages are sent accurately and to the intended recipients, minimizing errors and miscommunication. It provides a final check to prevent sending incorrect or inappropriate messages.",
        "state_information": {
          "data_shown": "The screen displays a summary of the broadcast message, including the type of message (Broadcast message), the sender's name (Felix Knoerzer), and the scheduled send date and time (21.01.2026 11:42 h). It also shows the number of employees and terminals that will receive the message (1 Employees and 1 Terminals).",
          "editable_fields": "There are no editable fields on this screen. It is a review screen.",
          "read_only_fields": "All the information displayed on this screen is read-only, including the message type, sender, date/time, and recipient counts.",
          "current_state": "The app is in a confirmation state, waiting for the user to either send the broadcast or go back and make changes."
        },
        "interactions": [
          {
            "action": "Tap 'Back' button",
            "outcome": "The user is taken back to the previous screen (Broadcast Additional Settings or Broadcast Recipients) to modify the broadcast message or recipient list.",
            "next_state": "The app returns to the previous screen, allowing the user to edit the broadcast details.",
            "error_possibilities": "None. The back button should always function correctly."
          },
          {
            "action": "Tap 'Send Broadcast' button",
            "outcome": "The broadcast message is sent immediately to the specified recipients (1 employee and 1 terminal).",
            "next_state": "The app likely transitions to a confirmation screen or a screen indicating that the broadcast has been sent successfully. It might also return to the main broadcast screen.",
            "error_possibilities": "The broadcast might fail to send due to network connectivity issues, server errors, or invalid recipient configurations. The app should display an error message in such cases."
          },
          {
            "action": "Tap the 'X' icon in the top right corner",
            "outcome": "The broadcast creation process is cancelled and the user is taken back to the main broadcast screen.",
            "next_state": "The app returns to the main broadcast screen.",
            "error_possibilities": "None."
          },
          {
            "action": "Tap the 'X' icon next to 'Overview'",
            "outcome": "The current screen is closed and the user is taken back to the previous screen.",
            "next_state": "The app returns to the previous screen, allowing the user to edit the broadcast details.",
            "error_possibilities": "None."
          }
        ],
        "edge_cases": [
          "The number of recipients could be zero, in which case the 'Send Broadcast' button might be disabled or a warning message displayed.",
          "The user might not have sufficient permissions to send broadcasts, resulting in an error message.",
          "The network connection might be unstable, causing the broadcast to fail to send.",
          "The sender's name might be different depending on the user's profile.",
          "The scheduled send date/time might be in the past, resulting in an error or immediate sending.",
          "The recipient list might contain invalid or inactive users/terminals."
        ],
        "benefits": "This screen provides a final opportunity to review and confirm the broadcast message details, reducing the risk of errors and ensuring that the message is sent to the correct recipients. It gives the user confidence that the broadcast will be delivered as intended.",
        "mental_model": "The screen reinforces the mental model of a multi-step broadcast creation process, where the user progresses through recipient selection, settings configuration, and finally, confirmation and sending. It presents the 'Send Broadcast' button as the final action in this process."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "Broadcasts Select Events",
            "trigger": "Tap Back",
            "data_passed": "Broadcast message details",
            "purpose": "Return to the previous screen to edit the broadcast message"
          },
          {
            "screen_type": "Confirmation",
            "trigger": "Tap Send Broadcast",
            "data_passed": "Broadcast message details, recipient list",
            "purpose": "Confirm the broadcast and send it to the selected recipients"
          }
        ],
        "depends_on": [
          {
            "screen_type": "Broadcasts Select Events",
            "required_data": "Broadcast message text, event selection",
            "purpose": "To display the broadcast message and event details for confirmation"
          },
          {
            "screen_type": "Broadcast Recipients",
            "required_data": "List of recipients",
            "purpose": "To display the list of recipients who will receive the broadcast"
          }
        ],
        "data_flow": "This screen receives the broadcast message text, event selection, and recipient list from previous screens. It allows the user to confirm these details before sending the broadcast. Upon confirmation, the broadcast message and recipient list are passed to the confirmation screen.",
        "navigation_patterns": [
          {
            "pattern_type": "linear",
            "description": "The user navigates through a linear flow of screens to create and send a broadcast message. This screen is part of that flow."
          },
          {
            "pattern_type": "back",
            "description": "The user can go back to the previous screen to edit the broadcast message or recipient list."
          }
        ],
        "feature_dependencies": [
          "Broadcasts"
        ],
        "alternative_paths": [
          "The user can cancel the broadcast creation process at any time by closing the modal."
        ]
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "Send a Broadcast Message",
            "goal": "Send a broadcast message to selected recipients",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Broadcasts Selection",
                "action": "Select 'Broadcast Message'",
                "outcome": "Navigates to the Broadcast Recipients screen"
              },
              {
                "step_number": 2,
                "screen_type": "Broadcast Recipients",
                "action": "Select recipients for the broadcast",
                "outcome": "Navigates to the Broadcast Additional Settings screen"
              },
              {
                "step_number": 3,
                "screen_type": "Broadcast Additional Settings",
                "action": "Configure additional settings for the broadcast message",
                "outcome": "Navigates to the Broadcast Confirmation screen"
              },
              {
                "step_number": 4,
                "screen_type": "Broadcast Confirmation",
                "action": "Review the broadcast details and tap 'Send Broadcast'",
                "outcome": "Broadcast message is sent and user is navigated to the Broadcasts screen"
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [],
          "manager": [],
          "hr_admin": [],
          "general": [
            "Confirms the broadcast message details before sending.",
            "Provides a final opportunity to review the message and recipients.",
            "Ensures the message is sent to the intended audience."
          ]
        },
        "business_value": {
          "problem_solved": "Prevents accidental broadcasts to the wrong audience or with incorrect information.",
          "value_proposition": "Ensures accurate and targeted communication, reducing errors and improving efficiency.",
          "differentiators": "Provides a clear overview of the broadcast details before sending, minimizing the risk of miscommunication.",
          "impact": "Reduces communication errors, improves employee engagement, and ensures important information reaches the right people."
        },
        "use_cases": [
          {
            "scenario": "A manager wants to send an important update to all employees in their department. Before sending, they review the broadcast confirmation screen to ensure the message is accurate and the recipients are correct.",
            "user_type": "manager",
            "benefit": "Ensures the message is sent to the correct employees and contains the right information, preventing confusion and miscommunication."
          },
          {
            "scenario": "An HR administrator is sending a company-wide announcement about a new policy. They use the broadcast confirmation screen to verify that all employees are included in the recipient list and that the message is clear and concise.",
            "user_type": "HR",
            "benefit": "Guarantees that all employees receive the important policy update, ensuring compliance and reducing potential legal issues."
          },
          {
            "scenario": "A team lead is sending a reminder about an upcoming deadline to their team. They use the broadcast confirmation screen to double-check the date and time of the deadline and confirm that all team members are included in the recipient list.",
            "user_type": "manager",
            "benefit": "Helps team members stay on track and meet deadlines by ensuring they receive timely and accurate reminders."
          }
        ],
        "value_statements": [
          "Ensure accurate and targeted communication with a final broadcast confirmation.",
          "Prevent accidental broadcasts and reduce communication errors.",
          "Improve employee engagement by sending the right message to the right people.",
          "Streamline communication and ensure important information reaches its intended audience."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2728",
      "sequence_index": 73,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2728.png",
      "basic_info": {
        "screen_name": "Broadcasts",
        "feature_area": "other",
        "ui_elements": [
          "Broadcasts title",
          "Incoming/Outgoing tabs",
          "List of broadcast messages",
          "New Broadcast button",
          "Close button"
        ],
        "functionality_visible": [
          "View incoming broadcasts",
          "View outgoing broadcasts",
          "Create new broadcast"
        ],
        "navigation_paths": [
          "Tap broadcast message for details",
          "Tap New Broadcast to create a new broadcast",
          "Tap X to close the broadcasts screen"
        ],
        "data_displayed": [
          "Broadcast message title",
          "Sender name",
          "Broadcast date and time"
        ],
        "user_actions": [
          "Tap",
          "Swipe"
        ],
        "visible_text_labels": [
          "Broadcasts",
          "Incoming",
          "Outgoing",
          "Broadcast message",
          "New Broadcast",
          "Hallo zusammen Plan für die KW3 ist da",
          "Hallo Leute der Plan KW",
          "Hallo zusammen, wir haben eine neue Versanstaltung",
          "Paul ist ausgefallen wer kann heute um 15 Uhr arbeite...",
          "Hallo zusammen der Plan",
          "Hallo",
          "Hallo zusammen Plan für KW45 steht"
        ],
        "one_line_description": "This screen displays a list of broadcast messages, allowing users to view incoming and outgoing broadcasts and create new ones.",
        "screenshot_id": "IMG_2728",
        "sequence_index": 73,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2728.png"
      },
      "deep_understanding": {
        "screen_context": "The user sees this screen to view a list of broadcast messages, both incoming and outgoing. It appears after the user navigates to the 'Broadcasts' section of the app, likely from a main menu or dashboard.",
        "user_goal": "The user wants to review past broadcast messages, either to check what information was sent or received, or to find a specific broadcast message.",
        "business_value": "This screen provides a history of broadcast communications, allowing for auditing, reference, and ensuring that important information has been disseminated and received. It helps maintain transparency and accountability in workforce communication.",
        "state_information": {
          "data_shown": "A list of broadcast messages is displayed, including the message content, sender (Felix Knoerzer), and timestamp. The messages are categorized as 'Incoming' or 'Outgoing'. This data is relevant for understanding the communication history.",
          "editable_fields": "There are no editable fields on this screen.",
          "read_only_fields": "The message content, sender, timestamp, and message type (Incoming/Outgoing) are all read-only.",
          "current_state": "The screen displays a list of broadcast messages, with the 'Incoming' tab selected by default. The list is likely sorted by date, with the most recent messages appearing at the top."
        },
        "interactions": [
          {
            "action": "Tap on the 'Outgoing' tab",
            "outcome": "The list of broadcast messages changes to show only outgoing messages.",
            "next_state": "The screen displays only outgoing broadcast messages.",
            "error_possibilities": "None."
          },
          {
            "action": "Tap on a specific broadcast message",
            "outcome": "The app navigates to a detailed view of the selected broadcast message, showing the full content and potentially recipient information.",
            "next_state": "A detailed view of the selected broadcast message is displayed.",
            "error_possibilities": "None."
          },
          {
            "action": "Tap the 'New Broadcast' button",
            "outcome": "The app navigates to the 'Broadcast Recipients' screen, allowing the user to create a new broadcast message.",
            "next_state": "The 'Broadcast Recipients' screen is displayed.",
            "error_possibilities": "None."
          },
          {
            "action": "Tap the 'X' icon",
            "outcome": "The screen closes and the user is navigated back to the previous screen.",
            "next_state": "The previous screen is displayed.",
            "error_possibilities": "None."
          }
        ],
        "edge_cases": [
          "The user has no broadcast messages.",
          "The user has a very large number of broadcast messages, requiring pagination or scrolling.",
          "The user has different roles with different permissions, affecting which broadcasts they can see.",
          "The network connection is poor, causing delays in loading the broadcast messages.",
          "A broadcast message contains media (image, video) that needs to be loaded.",
          "The user's device has limited storage, potentially affecting the ability to load or display older broadcast messages."
        ],
        "benefits": "The screen allows users to easily review past broadcast communications, ensuring they are informed and up-to-date. It provides a central location for accessing important information and tracking communication history.",
        "mental_model": "The screen supports a mental model of a message inbox or history log, where users can view and access past communications. The categorization into 'Incoming' and 'Outgoing' helps users understand the direction of the communication."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "Broadcasts",
            "trigger": "Tap the 'New Broadcast' button",
            "data_passed": null,
            "purpose": "To create a new broadcast message."
          }
        ],
        "depends_on": [
          {
            "screen_type": "Broadcast Confirmation",
            "required_data": "Broadcast message content, recipients, and settings",
            "purpose": "To display the list of broadcasts after a new broadcast has been sent."
          }
        ],
        "data_flow": "This screen receives broadcast messages from the server and displays them. It allows the user to initiate a new broadcast.",
        "navigation_patterns": [
          {
            "pattern_type": "modal",
            "description": "This screen appears as a modal overlay. The user can dismiss it by tapping the 'X' icon."
          }
        ],
        "feature_dependencies": [
          "Broadcasts"
        ],
        "alternative_paths": []
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "Create and Send a Broadcast Message",
            "goal": "Send a broadcast message to a group of recipients",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Broadcast Recipients",
                "action": "Select recipients for the broadcast",
                "outcome": "User selects the recipients for the broadcast message."
              },
              {
                "step_number": 2,
                "screen_type": "Broadcast Additional Settings",
                "action": "Configure additional settings (if any)",
                "outcome": "User configures settings like scheduling or priority."
              },
              {
                "step_number": 3,
                "screen_type": "Broadcast Confirmation",
                "action": "Confirm the broadcast details",
                "outcome": "User reviews the broadcast details and confirms to send."
              },
              {
                "step_number": 4,
                "screen_type": "Broadcasts",
                "action": "Check the list of broadcasts",
                "outcome": "User sees the list of incoming and outgoing broadcasts."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          },
          {
            "journey_name": "View Broadcast Messages",
            "goal": "View a list of broadcast messages",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Broadcasts",
                "action": "View the list of broadcasts",
                "outcome": "User sees the list of incoming and outgoing broadcasts."
              },
              {
                "step_number": 2,
                "screen_type": "Broadcast Messages",
                "action": "Select a broadcast message",
                "outcome": "User selects a broadcast message to view its details."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          },
          {
            "journey_name": "Create a New Broadcast",
            "goal": "Create a new broadcast message",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Broadcasts",
                "action": "Tap on 'New Broadcast'",
                "outcome": "Navigates to the Broadcast Recipients screen."
              },
              {
                "step_number": 2,
                "screen_type": "Broadcast Recipients",
                "action": "Select recipients for the broadcast",
                "outcome": "User selects the recipients for the broadcast message."
              },
              {
                "step_number": 3,
                "screen_type": "Broadcast Additional Settings",
                "action": "Configure additional settings (if any)",
                "outcome": "User configures settings like scheduling or priority."
              },
              {
                "step_number": 4,
                "screen_type": "Broadcast Confirmation",
                "action": "Confirm the broadcast details",
                "outcome": "User reviews the broadcast details and confirms to send."
              },
              {
                "step_number": 5,
                "screen_type": "Broadcasts",
                "action": "Check the list of broadcasts",
                "outcome": "User sees the list of incoming and outgoing broadcasts."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [
            "Stay informed about important company-wide announcements and updates.",
            "Easily access past broadcast messages for reference.",
            "Receive timely notifications about new events, plans, or urgent matters."
          ],
          "manager": [
            "Efficiently communicate important information to all team members simultaneously.",
            "Ensure everyone is on the same page regarding plans, schedules, and urgent updates.",
            "Track outgoing broadcast messages to maintain a record of communications."
          ],
          "hr_admin": [
            "Disseminate critical HR-related announcements and policy updates to the entire organization.",
            "Maintain a centralized record of all official communications for compliance and auditing purposes.",
            "Quickly notify employees of important deadlines, benefits information, or company-wide initiatives."
          ],
          "general": [
            "Clear separation of incoming and outgoing messages for easy navigation.",
            "Ability to create new broadcasts for efficient communication."
          ]
        },
        "business_value": {
          "problem_solved": "Inefficient communication of important information to all employees, leading to confusion, missed deadlines, and lack of awareness.",
          "value_proposition": "Provides a centralized and efficient platform for broadcasting important messages to all employees, ensuring everyone stays informed and aligned.",
          "differentiators": "Potentially integrates with other Ordio features (e.g., scheduling, task management) for seamless communication workflows. Clear separation of incoming and outgoing messages.",
          "impact": "Improved employee awareness, reduced communication overhead, increased efficiency, and better alignment across the organization."
        },
        "use_cases": [
          {
            "scenario": "A manager needs to inform all team members about a last-minute change to the project deadline.",
            "user_type": "manager",
            "benefit": "The manager can quickly create a broadcast message to notify everyone simultaneously, ensuring no one misses the update and avoids potential delays."
          },
          {
            "scenario": "HR needs to announce the open enrollment period for health insurance benefits.",
            "user_type": "hr_admin",
            "benefit": "HR can use the broadcast feature to send a message to all employees with details about the enrollment period, deadlines, and relevant resources, ensuring everyone has the information they need to make informed decisions."
          },
          {
            "scenario": "An employee needs to refer back to a previous announcement about a company-wide policy change.",
            "user_type": "employee",
            "benefit": "The employee can easily access the 'Broadcasts' section and search for the relevant message to review the policy details, ensuring they are compliant with company guidelines."
          },
          {
            "scenario": "A company needs to inform all employees about an unexpected office closure due to inclement weather.",
            "user_type": "manager",
            "benefit": "The manager can quickly send a broadcast message to all employees, preventing them from traveling to the office and ensuring their safety."
          }
        ],
        "value_statements": [
          "Keep your entire team informed and aligned with instant broadcast messaging.",
          "Streamline company-wide communication and eliminate information silos.",
          "Ensure everyone is on the same page with timely updates and important announcements.",
          "Improve employee awareness and reduce communication overhead with centralized broadcast messaging."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2729",
      "sequence_index": 74,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2729.png",
      "basic_info": {
        "screen_name": "Broadcast Messages",
        "feature_area": "other",
        "ui_elements": [
          "Broadcast message list",
          "Incoming/Outgoing tabs",
          "New Broadcast button"
        ],
        "functionality_visible": [
          "Read broadcast messages",
          "View broadcast message history",
          "Create new broadcast message"
        ],
        "navigation_paths": [
          "Tap message to view details",
          "Tap New Broadcast to create a message"
        ],
        "data_displayed": [
          "Sender of broadcast message",
          "Timestamp of broadcast message",
          "Broadcast message content"
        ],
        "user_actions": [
          "Tap",
          "Scroll"
        ],
        "visible_text_labels": [
          "Ordio Unternehmensgruppe",
          "Broadcast message",
          "Incoming",
          "Outgoing",
          "Read",
          "Hallo zusammen Plan für die KW3 ist da",
          "Hallo Leute der Plan KW",
          "Hallo zusammen, wir haben eine neue Versanstaltung",
          "Paul ist ausgefallen wer kann heute um 15 Uhr arbeite...",
          "Hallo zusammen der Plan",
          "Hallo",
          "Hallo zusammen Plan für KW45 steht",
          "New Broadcast"
        ],
        "one_line_description": "This screen displays a list of broadcast messages, allowing users to read past messages and create new ones.",
        "screenshot_id": "IMG_2729",
        "sequence_index": 74,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2729.png"
      },
      "deep_understanding": {
        "screen_context": "The user sees this screen when they navigate to the 'Broadcasts' section of the app. This screen displays a list of broadcast messages, both incoming and outgoing.",
        "user_goal": "The user wants to view broadcast messages, read specific messages, and potentially create new broadcasts.",
        "business_value": "This screen allows for efficient communication within the organization by providing a central location for broadcast messages. It ensures that employees receive important updates and announcements.",
        "state_information": {
          "data_shown": "A list of broadcast messages is displayed, including the sender's name (Felix Knoerzer), the date and time the message was sent, and a preview of the message content. The 'Read' status of the message is also indicated. This data is relevant because it allows the user to quickly identify and prioritize messages.",
          "editable_fields": "There are no editable fields on this screen, except for creating a new broadcast.",
          "read_only_fields": "Sender's name, date and time of the message, message content, and read status are read-only fields.",
          "current_state": "The current state is a list of broadcast messages, with at least one message marked as 'Read'."
        },
        "interactions": [
          {
            "action": "Tap on a broadcast message",
            "outcome": "The selected broadcast message opens, displaying the full content.",
            "next_state": "The app navigates to a screen displaying the full content of the selected broadcast message.",
            "error_possibilities": "If the message data is corrupted or unavailable, the app might display an error message or fail to load the message content."
          },
          {
            "action": "Tap on the 'New Broadcast' button",
            "outcome": "The app navigates to the 'Create New Broadcast' screen.",
            "next_state": "The app navigates to the 'Create New Broadcast' screen, where the user can compose and send a new broadcast message.",
            "error_possibilities": "If the user does not have the necessary permissions to create a new broadcast, the app might display an error message or prevent the user from accessing the 'Create New Broadcast' screen."
          },
          {
            "action": "Tap on 'Incoming' or 'Outgoing'",
            "outcome": "The list of messages is filtered to show only incoming or outgoing messages, respectively.",
            "next_state": "The app displays a filtered list of broadcast messages based on the selected tab (Incoming or Outgoing).",
            "error_possibilities": "If there are no messages of the selected type (Incoming or Outgoing), the app might display an empty list or a message indicating that there are no messages to display."
          }
        ],
        "edge_cases": [
          "The user has no broadcast messages.",
          "The user has a very large number of broadcast messages.",
          "The user has limited network connectivity, which might affect the loading of broadcast messages.",
          "The user has different roles and permissions, which might affect their ability to create new broadcasts or view certain messages.",
          "The date and time format might vary based on the user's locale settings."
        ],
        "benefits": "The screen provides a clear and organized view of broadcast messages, allowing users to stay informed about important updates and announcements. It also allows users to easily create new broadcasts to communicate with their colleagues.",
        "mental_model": "The screen supports a mental model of an inbox or messaging system, where users can view and manage broadcast messages. The 'Incoming' and 'Outgoing' tabs help users understand the flow of messages, and the 'New Broadcast' button allows them to initiate new communications."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "Broadcasts Selection",
            "trigger": "Tapping the 'New Broadcast' button",
            "data_passed": "None",
            "purpose": "To allow the user to create a new broadcast message."
          }
        ],
        "depends_on": [
          {
            "screen_type": "Broadcasts",
            "required_data": "List of broadcast messages",
            "purpose": "To display the list of broadcast messages."
          }
        ],
        "data_flow": "This screen receives a list of broadcast messages from the backend and displays them. It allows the user to read existing messages and initiate the creation of a new broadcast message.",
        "navigation_patterns": [
          {
            "pattern_type": "linear",
            "description": "The user navigates to this screen from the Broadcasts screen. From here, they can either read existing messages or tap the 'New Broadcast' button to start creating a new message, which takes them to the Broadcasts Selection screen."
          }
        ],
        "feature_dependencies": [
          "Broadcasts"
        ],
        "alternative_paths": [
          "The user might not create a new broadcast and only read existing messages."
        ]
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "View Broadcast Messages",
            "goal": "View broadcast messages from the organization",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Broadcast Messages",
                "action": "View the list of broadcast messages",
                "outcome": "User sees a list of broadcast messages with sender and timestamp."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          },
          {
            "journey_name": "Create and Send a Broadcast Message",
            "goal": "Create and send a new broadcast message to the organization",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Broadcast Messages",
                "action": "Tap on 'New Broadcast'",
                "outcome": "Navigates to Broadcast Additional Settings screen"
              },
              {
                "step_number": 2,
                "screen_type": "Broadcast Additional Settings",
                "action": "Fill in broadcast message details",
                "outcome": "User enters the message content and any additional settings."
              },
              {
                "step_number": 3,
                "screen_type": "Broadcast Confirmation",
                "action": "Confirm and send the broadcast",
                "outcome": "The broadcast message is sent to the organization."
              },
              {
                "step_number": 4,
                "screen_type": "Broadcast Messages",
                "action": "View the sent broadcast message",
                "outcome": "The newly sent broadcast message appears in the list of broadcast messages."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [
            "Stay informed about important company-wide announcements and updates.",
            "Easily access and review past broadcast messages.",
            "Receive timely notifications about relevant information."
          ],
          "manager": [
            "Efficiently communicate important information to all employees or specific groups.",
            "Ensure that all team members are aware of critical updates and changes.",
            "Track the delivery and read status of broadcast messages."
          ],
          "hr_admin": [
            "Streamline internal communications and reduce reliance on email.",
            "Maintain a centralized record of all company-wide announcements.",
            "Improve employee engagement and transparency."
          ],
          "general": [
            "Clear and organized presentation of broadcast messages.",
            "Easy-to-use interface for reading and managing messages.",
            "Ability to quickly identify unread messages."
          ]
        },
        "business_value": {
          "problem_solved": "Inefficient internal communication and difficulty in reaching all employees with important announcements.",
          "value_proposition": "Provides a centralized and efficient platform for broadcasting important messages to all employees or specific groups, ensuring that everyone stays informed and up-to-date.",
          "differentiators": "Read status tracking, targeted messaging to specific groups, centralized record of all announcements.",
          "impact": "Improved internal communication, increased employee engagement, reduced reliance on email, and enhanced transparency."
        },
        "use_cases": [
          {
            "scenario": "A company needs to announce a change in its work-from-home policy to all employees.",
            "user_type": "HR",
            "benefit": "HR can quickly create and send a broadcast message to all employees, ensuring that everyone is aware of the policy change."
          },
          {
            "scenario": "A manager needs to inform their team about an upcoming project deadline.",
            "user_type": "Manager",
            "benefit": "The manager can send a broadcast message to their team, ensuring that all team members are aware of the deadline and can plan accordingly."
          },
          {
            "scenario": "An employee needs to review a past announcement about a company-wide event.",
            "user_type": "Employee",
            "benefit": "The employee can easily access the broadcast message history and find the announcement about the event."
          },
          {
            "scenario": "A company needs to notify employees about an urgent office closure due to unforeseen circumstances.",
            "user_type": "HR",
            "benefit": "HR can immediately send a broadcast message to all employees, ensuring they are aware of the office closure and can make necessary arrangements."
          }
        ],
        "value_statements": [
          "Stay informed with real-time company-wide announcements.",
          "Efficiently communicate important updates to your team.",
          "Centralize your internal communications for improved transparency.",
          "Ensure everyone is on the same page with broadcast messaging."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2730",
      "sequence_index": 75,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2730.png",
      "basic_info": {
        "screen_name": "Documents",
        "feature_area": "documents",
        "ui_elements": [
          "Document list",
          "Document items",
          "Close button",
          "Available documents count"
        ],
        "functionality_visible": [
          "View available documents",
          "Open documents"
        ],
        "navigation_paths": [
          "Tap document to open",
          "Tap close button to return"
        ],
        "data_displayed": [
          "Document name",
          "Document age"
        ],
        "user_actions": [
          "Tap",
          "Scroll"
        ],
        "visible_text_labels": [
          "Dokumente",
          "Tour KW10",
          "Studienbescheinigung",
          "Lohn 2.0",
          "Wiki",
          "Ausweis Nummer 1",
          "Arbeitsvertrag",
          "Passcodes Veranstaltung A",
          "Prima-Nota 1402 (1).pdf",
          "Link zum Wiki",
          "2 months ago",
          "10 months ago",
          "9 months ago",
          "6 months ago",
          "a month ago"
        ],
        "one_line_description": "This screen displays a list of available documents with their names and age.",
        "screenshot_id": "IMG_2730",
        "sequence_index": 75,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2730.png"
      },
      "deep_understanding": {
        "screen_context": "The user sees this screen when they need to select a document from a list of available documents within the app. This could be triggered by a variety of actions, such as attaching a document to a broadcast message, submitting an expense report, or completing a form.",
        "user_goal": "The user's goal is to find and select the specific document they need from the list provided.",
        "business_value": "This screen allows users to easily access and manage documents within the app, streamlining workflows and reducing the need to switch between different applications or systems. It ensures that relevant documents can be easily attached to various processes within the app, such as broadcasts or expense reports.",
        "state_information": {
          "data_shown": "The screen displays a list of available documents, including their titles and the time since they were last modified. The number of available documents is also shown (e.g., '39 Available'). This is relevant because it allows the user to quickly identify and locate the document they need.",
          "editable_fields": "There are no editable fields on this screen. The user can only select a document.",
          "read_only_fields": "The document titles and the 'time since last modified' information are read-only fields.",
          "current_state": "The current state is a list of available documents, ready for the user to select one."
        },
        "interactions": [
          {
            "action": "Tap on a document in the list",
            "outcome": "The selected document is chosen and the user is taken back to the previous screen where the document is needed (e.g., the broadcast message creation screen).",
            "next_state": "The app transitions back to the previous screen, with the selected document attached or referenced.",
            "error_possibilities": "The document might fail to attach due to file corruption or network issues. The app might also fail to transition back to the previous screen."
          },
          {
            "action": "Tap the 'X' button in the top right corner",
            "outcome": "The document selection screen is closed and the user is taken back to the previous screen without selecting a document.",
            "next_state": "The app transitions back to the previous screen, without any document being selected.",
            "error_possibilities": "The app might fail to transition back to the previous screen due to a software bug."
          }
        ],
        "edge_cases": "Different user roles might have access to different sets of documents. The list of documents might be very long, requiring scrolling or a search function. Some documents might be unavailable due to permissions or other restrictions. The app needs to handle cases where there are no documents available.",
        "benefits": "The screen provides a clear and organized way for users to select documents. It saves time and effort by providing a central location for accessing all relevant documents. It reduces errors by ensuring that users select the correct document.",
        "mental_model": "The screen supports the mental model of a file system or document library, where users can browse and select documents for use in other parts of the app. It reinforces the idea that documents are stored and managed within the app, and can be easily accessed when needed."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "document detail",
            "trigger": "Tapping on a document in the list",
            "data_passed": "Document ID, document name, document content",
            "purpose": "To view the details of the selected document"
          }
        ],
        "depends_on": [],
        "data_flow": "This screen receives a list of documents from the backend. When a document is selected, its ID and content are passed to the document detail screen.",
        "navigation_patterns": [
          {
            "pattern_type": "modal",
            "description": "This screen appears as a modal overlay on top of the previous screen. The user can dismiss the modal by tapping the 'X' button."
          }
        ],
        "feature_dependencies": [],
        "alternative_paths": []
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "View Documents",
            "goal": "View a list of available documents",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Documents",
                "action": "View the list of documents",
                "outcome": "User sees a list of available documents with their names and upload dates."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [
            "Quickly access and attach necessary documents (e.g., employment contract, payslips) for various tasks.",
            "Easily find and share documents like 'Tour KW10' or 'Wiki' when needed.",
            "Conveniently locate personal documents such as 'Ausweis Nummer 1' or 'Studienbescheinigung'."
          ],
          "manager": [
            "Efficiently access employee documents (e.g., employment contracts) for review or approval.",
            "Easily share relevant documents (e.g., 'Passcodes Veranstaltung A') with team members.",
            "Quickly find and reference important documents like 'Prima-Nota 1402 (1).pdf'."
          ],
          "hr_admin": [
            "Centralized access to all employee documents for compliance and administrative tasks.",
            "Simplified document management with easy access to documents like 'Arbeitsvertrag' or 'Lohn 2.0'.",
            "Improved efficiency in handling employee-related paperwork."
          ],
          "general": [
            "Easy access to a variety of documents within the app.",
            "Quickly find the document you need by name.",
            "See how recently each document was accessed."
          ]
        },
        "business_value": {
          "problem_solved": "Inefficient document access and management within the app, leading to wasted time and potential errors.",
          "value_proposition": "Provides a centralized and easily searchable repository for all relevant documents, improving efficiency and reducing errors.",
          "differentiators": "Clear document naming, recent access information, and a simple interface make it easy to find the right document quickly.",
          "impact": "Increased efficiency, reduced errors, and improved user satisfaction due to streamlined document access."
        },
        "use_cases": [
          {
            "scenario": "An employee needs to submit an expense report and must attach their latest payslip.",
            "user_type": "employee",
            "benefit": "The employee can quickly find and attach their 'Lohn 2.0' document from the list, saving time and ensuring accurate submission."
          },
          {
            "scenario": "A manager needs to review an employee's employment contract before approving a promotion.",
            "user_type": "manager",
            "benefit": "The manager can easily access the employee's 'Arbeitsvertrag' from the document list, facilitating a timely and informed decision."
          },
          {
            "scenario": "HR needs to verify an employee's identity for onboarding purposes.",
            "user_type": "HR",
            "benefit": "HR can quickly locate and access the employee's 'Ausweis Nummer 1' document, streamlining the onboarding process."
          },
          {
            "scenario": "An employee needs to access the company's internal wiki.",
            "user_type": "employee",
            "benefit": "The employee can quickly find and access the 'Link zum Wiki' document, providing easy access to important information."
          }
        ],
        "value_statements": [
          "Access all your important documents in one place.",
          "Find the documents you need quickly and easily.",
          "Streamline your workflow with easy document access.",
          "Improve efficiency and reduce errors with centralized document management."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2731",
      "sequence_index": 76,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2731.png",
      "basic_info": {
        "screen_name": "Documents",
        "feature_area": "documents",
        "ui_elements": [
          "Document list",
          "Document item",
          "Close button"
        ],
        "functionality_visible": [
          "View list of documents",
          "Open a document"
        ],
        "navigation_paths": [
          "Tap document to open",
          "Tap close button to return"
        ],
        "data_displayed": [
          "Document name",
          "Document age",
          "Number of available documents"
        ],
        "user_actions": [
          "Tap",
          "Scroll"
        ],
        "visible_text_labels": [
          "Dokumente",
          "Tour KW10",
          "Studienbescheinigung",
          "Lohn 2.0",
          "Wiki",
          "Ausweis Nummer 1",
          "Arbeitsvertrag",
          "Passcodes Veranstaltung A",
          "Prima-Nota 1402 (1).pdf",
          "Link zum Wiki",
          "2 months ago",
          "10 months ago",
          "9 months ago",
          "6 months ago",
          "a month ago"
        ],
        "one_line_description": "This screen displays a list of available documents with their names and age.",
        "screenshot_id": "IMG_2731",
        "sequence_index": 76,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2731.png"
      },
      "deep_understanding": {
        "screen_context": "The user sees this screen when they navigate to the 'Documents' section of the app, likely from a main menu or dashboard. This screen appears to allow the user to access important documents related to their employment.",
        "user_goal": "The user is trying to find and access a specific document from the list provided.",
        "business_value": "This screen provides employees with easy access to important documents, reducing the need for HR or administrative staff to manually distribute or locate these documents. It improves efficiency and transparency.",
        "state_information": {
          "data_shown": "A list of documents is displayed, including the document name (e.g., 'Tour KW10', 'Studienbescheinigung') and the age of the document (e.g., '2 months ago'). This is relevant because it allows the user to quickly identify and locate the document they need.",
          "editable_fields": "There are no editable fields on this screen. The user can only view and select documents.",
          "read_only_fields": "The document names and their age are read-only fields.",
          "current_state": "The current state is a list of available documents. The user has not yet selected a document."
        },
        "interactions": [
          {
            "action": "Tap on a document in the list (e.g., 'Tour KW10')",
            "outcome": "The selected document is opened or downloaded.",
            "next_state": "The app transitions to a document viewing screen or initiates a download.",
            "error_possibilities": "The document may fail to open or download due to network issues, file corruption, or insufficient permissions."
          },
          {
            "action": "Tap the 'X' icon in the top right corner.",
            "outcome": "The document list screen is closed.",
            "next_state": "The app transitions back to the previous screen (e.g., the main menu or dashboard).",
            "error_possibilities": "None."
          }
        ],
        "edge_cases": "1. The document list is empty (no documents available).\n2. The user has limited or no internet connectivity, preventing document downloads.\n3. The user does not have the necessary permissions to access certain documents.\n4. The document file is corrupted or in an unsupported format.\n5. The list of documents is very long, requiring scrolling or search functionality (not visible in the screenshot).\n6. Different user roles may have access to different sets of documents.",
        "benefits": "1. Easy access to important documents.\n2. Reduced reliance on HR or administrative staff for document retrieval.\n3. Improved transparency and communication.\n4. Time savings for both employees and administrators.",
        "mental_model": "The screen supports a file system or document repository mental model. Users understand that they can browse a list of documents and select the one they need, similar to navigating folders on a computer."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "document detail",
            "trigger": "tap on a document",
            "data_passed": "document ID, document name, document content",
            "purpose": "to view the selected document"
          }
        ],
        "depends_on": [
          {
            "screen_type": "Broadcast Messages",
            "required_data": "user authentication, list of documents",
            "purpose": "to display the list of documents available to the user"
          }
        ],
        "data_flow": "This screen receives a list of documents from the backend. When a user taps on a document, the document ID and other relevant information are passed to the document detail screen.",
        "navigation_patterns": [
          {
            "pattern_type": "modal",
            "description": "This screen appears as a modal overlay on top of the previous screen (Broadcast Messages). The user can dismiss the modal by tapping the 'X' button."
          }
        ],
        "feature_dependencies": [
          "user authentication",
          "document storage"
        ],
        "alternative_paths": []
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "View Documents",
            "goal": "View a list of available documents",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Documents",
                "action": "View the list of documents",
                "outcome": "User sees a list of available documents with their names and upload dates."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [
            "Easy access to important employment documents like contracts, payslips, and certificates.",
            "Quickly find and view documents without needing to request them from HR.",
            "Access documents anytime, anywhere, on their mobile device."
          ],
          "manager": [],
          "hr_admin": [],
          "general": [
            "Centralized document storage for easy retrieval.",
            "Reduced paperwork and administrative overhead.",
            "Improved document security and compliance."
          ]
        },
        "business_value": {
          "problem_solved": "Employees often struggle to access important employment documents quickly and easily, leading to frustration and increased HR requests.",
          "value_proposition": "Provides a centralized and easily accessible repository for all employee documents, improving efficiency and employee satisfaction.",
          "differentiators": "Mobile-first design for on-the-go access, intuitive interface for easy navigation, and secure storage for sensitive documents.",
          "impact": "Reduces HR workload, improves employee satisfaction, and ensures compliance with document retention policies."
        },
        "use_cases": [
          {
            "scenario": "An employee needs to quickly access their employment contract to clarify a clause.",
            "user_type": "employee",
            "benefit": "Instant access to the contract on their mobile device, saving time and effort."
          },
          {
            "scenario": "An employee needs to provide proof of income for a loan application.",
            "user_type": "employee",
            "benefit": "Easy access to payslips and other income verification documents, simplifying the loan application process."
          },
          {
            "scenario": "HR needs to provide an auditor with access to employee documents for compliance purposes.",
            "user_type": "hr_admin",
            "benefit": "Centralized document storage makes it easy to provide auditors with the necessary information quickly and securely."
          }
        ],
        "value_statements": [
          "Access your important employment documents anytime, anywhere with our mobile app.",
          "Say goodbye to paperwork and hello to easy document access.",
          "Simplify your HR processes and improve employee satisfaction with our centralized document repository.",
          "Securely store and access your sensitive documents with our mobile app."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2732",
      "sequence_index": 77,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2732.png",
      "basic_info": {
        "screen_name": "Document Upload",
        "feature_area": "documents",
        "ui_elements": [
          "Action required section",
          "Download template button",
          "Upload document button",
          "List of Studienbescheinigung documents"
        ],
        "functionality_visible": [
          "Upload a document",
          "Download a template",
          "View existing documents"
        ],
        "navigation_paths": [
          "Tap X to close"
        ],
        "data_displayed": [
          "Document name (Studienbescheinigung)",
          "Document expiration date"
        ],
        "user_actions": [
          "Tap Download template",
          "Tap Upload document",
          "Tap a document in the list"
        ],
        "visible_text_labels": [
          "Studienbescheinigung",
          "Action required",
          "Bitte ein Bild einer aktuellen Studienbescheinigung hochladen",
          "Download template",
          "Upload document",
          "Expired on",
          "Available"
        ],
        "one_line_description": "This screen allows the user to upload a Studienbescheinigung (certificate of enrollment) document, download a template, and view existing documents.",
        "screenshot_id": "IMG_2732",
        "sequence_index": 77,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2732.png"
      },
      "deep_understanding": {
        "screen_context": "The user sees this screen when they need to upload or manage their 'Studienbescheinigung' (proof of enrollment/student ID). It likely appears after the user navigates to a section related to required documents or when the system detects an expired or missing document.",
        "user_goal": "The user wants to upload a valid 'Studienbescheinigung' to fulfill a requirement, update an expired document, or ensure their student status is verified within the system.",
        "business_value": "This screen ensures that the company has up-to-date proof of enrollment for employees who are students. This may be required for legal compliance, tax purposes, or internal policies related to student employment benefits.",
        "state_information": {
          "data_shown": "A list of 'Studienbescheinigung' documents, including their expiration dates. Also, a prompt to upload a new document if required.",
          "editable_fields": "None directly on the list items. The user can upload a new document.",
          "read_only_fields": "Document name ('Studienbescheinigung') and expiration date.",
          "current_state": "The screen shows the current status of the user's 'Studienbescheinigung' documents, indicating whether they are valid or expired. It also indicates that an action is required."
        },
        "interactions": [
          {
            "action": "Tap 'Download template' button",
            "outcome": "A template for the 'Studienbescheinigung' is downloaded to the user's device.",
            "next_state": "The user's device downloads the template. The screen remains the same.",
            "error_possibilities": "Download fails due to network issues or insufficient storage space."
          },
          {
            "action": "Tap 'Upload document' button",
            "outcome": "The user is prompted to select a file from their device to upload as the 'Studienbescheinigung'.",
            "next_state": "The user's device file system opens, allowing them to select a file. After selecting a file, the app uploads it and potentially validates it.",
            "error_possibilities": "File upload fails due to incorrect file format, file size limits, network issues, or server errors. The uploaded document might be rejected if it doesn't meet the required criteria (e.g., not a valid 'Studienbescheinigung')."
          },
          {
            "action": "Tap on a 'Studienbescheinigung' list item",
            "outcome": "Potentially opens a preview or details view of the selected document.",
            "next_state": "A new screen displaying the document details or a preview of the document.",
            "error_possibilities": "Document preview fails due to file corruption or network issues."
          },
          {
            "action": "Tap the 'X' icon in the top right corner",
            "outcome": "Closes the current screen.",
            "next_state": "Returns to the previous screen (likely the Documents screen).",
            "error_possibilities": "None."
          }
        ],
        "edge_cases": "1. User has no 'Studienbescheinigung' documents uploaded yet.\n2. User has multiple 'Studienbescheinigung' documents, some valid and some expired.\n3. User uploads an invalid document (e.g., wrong format, not a 'Studienbescheinigung').\n4. User's 'Studienbescheinigung' is about to expire, triggering a reminder.\n5. The system automatically validates the uploaded document and updates the status accordingly.\n6. Different user roles might have different requirements for 'Studienbescheinigung' documents.",
        "benefits": "The screen allows users to easily upload and manage their 'Studienbescheinigung' documents, ensuring compliance with company requirements and avoiding potential issues related to their student status. It provides a clear overview of the document status and expiration dates.",
        "mental_model": "The screen supports a document management mental model, where users can view a list of documents, check their status, and upload new versions. The 'Action required' message reinforces the need to keep the documents up-to-date."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "Document Upload Confirmation",
            "trigger": "Successful document upload",
            "data_passed": "Document details (name, expiry date)",
            "purpose": "To confirm the successful upload of the document."
          },
          {
            "screen_type": "Error",
            "trigger": "Failed document upload",
            "data_passed": "Error message",
            "purpose": "To display an error message if the document upload fails."
          },
          {
            "screen_type": "Documents",
            "trigger": "Tap the close button",
            "data_passed": "None",
            "purpose": "To return to the main documents screen."
          }
        ],
        "depends_on": [
          {
            "screen_type": "Documents",
            "required_data": "List of existing documents",
            "purpose": "To display the existing documents and allow the user to upload a new one."
          }
        ],
        "data_flow": "The screen receives a list of existing documents. The user can upload a new document, which is then sent to the server. The server returns a success or error message.",
        "navigation_patterns": [
          {
            "pattern_type": "modal",
            "description": "The screen is presented as a modal overlay on top of the Documents screen."
          },
          {
            "pattern_type": "back",
            "description": "The user can tap the close button to return to the Documents screen."
          }
        ],
        "feature_dependencies": [
          "Document Management",
          "User Authentication"
        ],
        "alternative_paths": [
          "The user might not upload a document and simply close the modal."
        ]
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "Upload Studienbescheinigung",
            "goal": "Upload a current Studienbescheinigung",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Documents",
                "action": "Navigate to the Documents screen",
                "outcome": "User is on the Documents screen"
              },
              {
                "step_number": 2,
                "screen_type": "Document Upload",
                "action": "Tap on the Studienbescheinigung document",
                "outcome": "The document upload screen is displayed"
              },
              {
                "step_number": 3,
                "screen_type": "Document Upload",
                "action": "Tap on 'Upload document'",
                "outcome": "The user is prompted to select a document to upload"
              },
              {
                "step_number": 4,
                "screen_type": "Document Upload",
                "action": "Select a document",
                "outcome": "The document is uploaded"
              }
            ],
            "happy_path": true,
            "alternative_paths": [
              {
                "journey_name": "Download Studienbescheinigung template",
                "goal": "Download a template for the Studienbescheinigung",
                "steps": [
                  {
                    "step_number": 1,
                    "screen_type": "Documents",
                    "action": "Navigate to the Documents screen",
                    "outcome": "User is on the Documents screen"
                  },
                  {
                    "step_number": 2,
                    "screen_type": "Document Upload",
                    "action": "Tap on the Studienbescheinigung document",
                    "outcome": "The document upload screen is displayed"
                  },
                  {
                    "step_number": 3,
                    "screen_type": "Document Upload",
                    "action": "Tap on 'Download template'",
                    "outcome": "The template is downloaded"
                  }
                ]
              }
            ]
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [
            "Easily upload required documents like student ID to maintain compliance.",
            "See the expiration dates of uploaded documents to avoid issues.",
            "Download a template to ensure the document meets the requirements.",
            "Quickly upload documents to avoid delays in accessing services or benefits."
          ],
          "manager": [],
          "hr_admin": [
            "Ensure employees submit valid and up-to-date documents.",
            "Track document expiration dates to proactively request updates.",
            "Simplify the document collection process for employees."
          ],
          "general": [
            "Clear indication of required actions related to document submission.",
            "Easy access to upload and manage documents.",
            "Visibility of document status and expiration dates."
          ]
        },
        "business_value": {
          "problem_solved": "Ensures employees provide necessary documentation (e.g., student ID) for compliance and access to benefits, and prevents service disruptions due to expired documents.",
          "value_proposition": "Streamlines the document submission and management process, ensuring compliance and preventing service disruptions.",
          "differentiators": "Provides a user-friendly interface for uploading and tracking document expiration dates, along with a template download option for ensuring document validity.",
          "impact": "Reduces administrative overhead, improves compliance, and prevents service disruptions for employees."
        },
        "use_cases": [
          {
            "scenario": "An employee needs to upload their updated student ID to continue receiving student discounts on company services.",
            "user_type": "employee",
            "benefit": "The employee can quickly upload the document and ensure they continue receiving the discounts without interruption."
          },
          {
            "scenario": "HR needs to ensure all student employees have valid student IDs on file to comply with labor regulations.",
            "user_type": "hr_admin",
            "benefit": "HR can easily track the expiration dates of student IDs and proactively request updated documents from employees."
          },
          {
            "scenario": "An employee receives a notification that their student ID is expiring soon.",
            "user_type": "employee",
            "benefit": "The employee can easily upload a new document before the old one expires, avoiding any disruption in services or benefits."
          }
        ],
        "value_statements": [
          "Easily upload and manage your required documents with our intuitive document upload feature.",
          "Stay compliant and avoid service disruptions by keeping your documents up-to-date.",
          "Download templates to ensure your documents meet the required standards.",
          "Proactively manage document expiration dates to avoid any interruptions in your benefits or services."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2733",
      "sequence_index": 78,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2733.png",
      "basic_info": {
        "screen_name": "Checklists",
        "feature_area": "checklists",
        "ui_elements": [
          "List of checklists",
          "Checklist items",
          "Archive button"
        ],
        "functionality_visible": [
          "View today's checklists",
          "View permanent checklists",
          "Access checklist archive"
        ],
        "navigation_paths": [
          "Tap checklist to view details",
          "Tap X to close"
        ],
        "data_displayed": [
          "Checklist titles",
          "Checklist progress",
          "Due dates"
        ],
        "user_actions": [
          "Tap checklist",
          "Tap archive button",
          "Tap close button"
        ],
        "visible_text_labels": [
          "Checklisten",
          "Today's Checklists",
          "HACCP",
          "Reinigung Kaffeemaschine",
          "Besteck polieren",
          "Frühschicht Küche",
          "Until Today",
          "Until 16:00",
          "Permanent Checklists",
          "Kundenbesuche",
          "Corona Test hochladen",
          "Halle aufräumen",
          "Autorückgabe",
          "Betreuung Kind",
          "Checklists archive"
        ],
        "one_line_description": "This screen displays a list of checklists, separated into today's checklists and permanent checklists, with an option to view the checklist archive.",
        "screenshot_id": "IMG_2733",
        "sequence_index": 78,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2733.png"
      },
      "deep_understanding": {
        "screen_context": "The user sees this screen when they want to view and manage their checklists. It's likely triggered by tapping a 'Checklists' or 'Tasks' button in the main navigation or dashboard.",
        "user_goal": "The user wants to view their assigned checklists, track their progress, and potentially mark items as complete. They may also want to review archived checklists.",
        "business_value": "This screen ensures tasks are completed, maintains standards (HACCP), and provides accountability. It helps manage daily operations and ensures compliance.",
        "state_information": {
          "data_shown": "The screen displays two categories of checklists: 'Today's Checklists' and 'Permanent Checklists'. Each checklist item shows its name, progress (e.g., 0/4), and due date/time. The 'Today's Checklists' section shows tasks due today, while 'Permanent Checklists' are ongoing tasks without a specific due date.",
          "editable_fields": "The user can likely mark checklist items as complete, which would update the progress indicator (e.g., from 0/4 to 1/4).",
          "read_only_fields": "Checklist names, due dates/times, and the total number of items in each checklist are read-only.",
          "current_state": "The current state reflects the user's progress on each checklist. The progress indicators show how many items have been completed out of the total for each checklist."
        },
        "interactions": [
          {
            "action": "Tap a checklist item",
            "outcome": "The app navigates to a detailed view of the checklist, allowing the user to see individual items and mark them as complete.",
            "next_state": "Checklist Detail View",
            "error_possibilities": "Network error preventing the checklist details from loading."
          },
          {
            "action": "Tap 'Checklists archive'",
            "outcome": "The app navigates to a screen displaying archived checklists.",
            "next_state": "Checklists Archive",
            "error_possibilities": "Network error preventing the archive from loading."
          },
          {
            "action": "Tap the 'X' icon",
            "outcome": "The checklist screen closes.",
            "next_state": "Previous screen (e.g., dashboard or main menu)",
            "error_possibilities": "None."
          }
        ],
        "edge_cases": "Different user roles may have different checklists assigned to them. Some checklists may have dependencies, requiring one task to be completed before another can be started. The app needs to handle cases where a checklist is overdue or has been updated by another user.",
        "benefits": "Provides a clear overview of assigned tasks, helps prioritize work, and ensures tasks are completed on time. Improves organization and accountability.",
        "mental_model": "The screen supports a task management mental model, where users understand that they have a list of tasks to complete, each with a due date and progress indicator. The separation of 'Today's Checklists' and 'Permanent Checklists' helps users differentiate between urgent and ongoing tasks."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "Checklist archive",
            "trigger": "Tapping the 'Checklists archive' button",
            "data_passed": "None",
            "purpose": "To view archived checklists"
          },
          {
            "screen_type": "Checklist detail",
            "trigger": "Tapping on a checklist item",
            "data_passed": "Checklist ID, checklist details (name, items, status, due date)",
            "purpose": "To view and interact with the details of a specific checklist"
          }
        ],
        "depends_on": [],
        "data_flow": "This screen receives checklist data from the backend (both today's and permanent checklists). It sends updates to the backend when a checklist item is completed or modified.",
        "navigation_patterns": [
          {
            "pattern_type": "modal",
            "description": "This screen appears as a modal overlay on top of the previous screen."
          },
          {
            "pattern_type": "back",
            "description": "Tapping the 'X' icon dismisses the modal and returns to the previous screen."
          }
        ],
        "feature_dependencies": [
          "Task management",
          "User authentication"
        ],
        "alternative_paths": []
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "View Checklists",
            "goal": "View the list of checklists assigned to the user.",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Checklists",
                "action": "User views the screen.",
                "outcome": "User sees a list of Today's Checklists and Permanent Checklists."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          },
          {
            "journey_name": "Navigate to Checklists Archive",
            "goal": "Access the archive of completed or past checklists.",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Checklists",
                "action": "Taps on 'Checklists archive' button.",
                "outcome": "Navigates to the Checklists Archive screen."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [
            "Clearly see daily and permanent checklists.",
            "Know what tasks are due today and by what time.",
            "Easily track progress on checklists (e.g., 0/4 items completed).",
            "Access checklists archive for past tasks."
          ],
          "manager": [
            "Ensure tasks are completed on time with clear deadlines.",
            "Monitor progress on daily and permanent checklists.",
            "Maintain consistent standards with permanent checklists.",
            "Review checklists archive for audit and performance analysis."
          ],
          "hr_admin": [
            "Standardize tasks and procedures across the organization.",
            "Track compliance with regulations (e.g., HACCP).",
            "Maintain records of completed tasks for audit purposes.",
            "Easily update and manage checklists for different roles and departments."
          ],
          "general": [
            "Improved task management and organization.",
            "Increased accountability and transparency.",
            "Reduced errors and omissions.",
            "Better compliance with internal and external standards."
          ]
        },
        "business_value": {
          "problem_solved": "Lack of clear task management and accountability, leading to missed deadlines, inconsistent standards, and compliance issues.",
          "value_proposition": "Provides a centralized platform for managing daily and permanent checklists, ensuring tasks are completed on time, standards are maintained, and compliance is achieved.",
          "differentiators": "Clear visual presentation of checklists with progress tracking and deadlines, combined with permanent checklists and an archive for past tasks.",
          "impact": "Improved operational efficiency, reduced errors, increased compliance, and enhanced accountability."
        },
        "use_cases": [
          {
            "scenario": "A kitchen employee needs to complete daily cleaning tasks before the end of their shift.",
            "user_type": "employee",
            "benefit": "The employee can easily see the 'Frühschicht Küche' checklist with a deadline of 16:00 and track their progress."
          },
          {
            "scenario": "A manager wants to ensure that all employees are following HACCP guidelines.",
            "user_type": "manager",
            "benefit": "The manager can monitor the progress of the 'HACCP' checklist for all relevant employees and ensure compliance."
          },
          {
            "scenario": "An HR administrator needs to update the 'Corona Test hochladen' checklist to reflect new company policy.",
            "user_type": "hr_admin",
            "benefit": "The HR administrator can easily update the permanent checklist and ensure all employees are aware of the new policy."
          },
          {
            "scenario": "An employee needs to review past checklists to understand how a task was performed previously.",
            "user_type": "employee",
            "benefit": "The employee can access the checklists archive to review past tasks and procedures."
          }
        ],
        "value_statements": [
          "Stay on top of your tasks with clear, organized checklists.",
          "Ensure compliance and maintain standards with permanent checklists.",
          "Track your progress and meet deadlines with ease.",
          "Access past checklists for reference and audit purposes."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2734",
      "sequence_index": 79,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2734.png",
      "basic_info": {
        "screen_name": "Checklists Archive",
        "feature_area": "checklists",
        "ui_elements": [
          "List of checklists",
          "Back button",
          "Checklist archive title"
        ],
        "functionality_visible": [
          "View archived checklists",
          "See checklist completion status"
        ],
        "navigation_paths": [
          "Tap back to previous screen"
        ],
        "data_displayed": [
          "Checklist name",
          "Checklist date",
          "Checklist completion status",
          "Checklist progress"
        ],
        "user_actions": [
          "Scroll through checklists",
          "Tap back button"
        ],
        "visible_text_labels": [
          "Checklists archive",
          "HACCP",
          "Müll & Altpapier",
          "Reinigung Kaffeemaschine",
          "01/20/2026",
          "01/16/2026",
          "01/14/2026",
          "01/12/2026",
          "Tuesday, 01/20/2026",
          "Friday, 01/16/2026",
          "Wednesday, 01/14/2026",
          "Monday, 01/12/2026",
          "3/6",
          "2/4",
          "1/4"
        ],
        "one_line_description": "This screen displays a list of archived checklists with their completion status and dates.",
        "screenshot_id": "IMG_2734",
        "sequence_index": 79,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2734.png"
      },
      "deep_understanding": {
        "screen_context": "The user navigates to this screen from the 'Checklists' screen by selecting the option to view the checklist archive. This screen displays a historical record of completed and in-progress checklists.",
        "user_goal": "The user wants to review past checklists, check their completion status, and potentially use them for reference or auditing purposes.",
        "business_value": "This screen provides a historical record of checklists, which is important for compliance, auditing, and tracking progress over time. It helps ensure that tasks are being completed consistently and according to established procedures.",
        "state_information": {
          "data_shown": "The screen displays a list of checklists, grouped by date. For each checklist, the title, date, and completion status (e.g., '3/6', '2/4', or a checkmark for complete) are shown. This data is relevant for tracking checklist completion over time.",
          "editable_fields": "There are no editable fields on this screen. The checklists are archived and cannot be modified.",
          "read_only_fields": "All the information displayed on this screen is read-only, including the date, checklist title, and completion status.",
          "current_state": "The current state is a list of archived checklists, showing their completion status at the time they were archived. Some checklists are fully completed (checkmark), while others are partially completed (e.g., 3/6)."
        },
        "interactions": [
          {
            "action": "Tap the back arrow",
            "outcome": "Navigates back to the previous screen (Checklists screen).",
            "next_state": "Checklists screen.",
            "error_possibilities": "None."
          }
        ],
        "edge_cases": [
          "The archive is empty (no checklists have been completed yet).",
          "The archive contains a very large number of checklists, requiring pagination or scrolling.",
          "The user has different permissions and can only see certain checklists.",
          "Checklists may have been deleted or modified after being archived, leading to inconsistencies.",
          "The app may need to handle different checklist types or formats."
        ],
        "benefits": "The user can easily access and review past checklists, track progress over time, and ensure compliance with established procedures. This helps with auditing, training, and continuous improvement.",
        "mental_model": "The screen supports a mental model of a historical record or logbook of checklists. Users understand that they can view past checklists and their completion status, but cannot modify them. The screen reinforces the idea that checklists are a process that is tracked and monitored over time."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "checklist detail",
            "trigger": "Tapping on a checklist item",
            "data_passed": "Checklist ID, date, status, items",
            "purpose": "To view the details of a specific checklist"
          }
        ],
        "depends_on": [
          {
            "screen_type": "checklists",
            "required_data": "User authentication, list of checklists",
            "purpose": "To display the archive of checklists for the user"
          }
        ],
        "data_flow": "This screen receives a list of archived checklists from the server. When a user taps on a checklist, the checklist ID and other relevant data are passed to the checklist detail screen.",
        "navigation_patterns": [
          {
            "pattern_type": "back",
            "description": "User can navigate back to the previous screen (Checklists) using the back arrow."
          },
          {
            "pattern_type": "branching",
            "description": "User can navigate to a specific checklist detail screen by tapping on a checklist item."
          }
        ],
        "feature_dependencies": [
          "checklists",
          "user authentication"
        ],
        "alternative_paths": []
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "View Checklists Archive",
            "goal": "Review past checklists",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Checklists",
                "action": "Taps on 'Archive'",
                "outcome": "Navigates to the Checklists Archive screen"
              },
              {
                "step_number": 2,
                "screen_type": "Checklists Archive",
                "action": "Views the list of archived checklists",
                "outcome": "Displays a list of past checklists, grouped by date, with completion status"
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [
            "Easily access past checklists to review completed tasks and ensure compliance.",
            "Track progress on checklists over time to identify areas for improvement.",
            "Quickly find specific checklists by date to reference previous work."
          ],
          "manager": [
            "Monitor the completion status of checklists across the team.",
            "Identify trends in checklist performance to optimize processes.",
            "Review past checklists to ensure compliance with standards and regulations.",
            "Audit completed checklists to verify accuracy and completeness."
          ],
          "hr_admin": [
            "Maintain a historical record of all checklists for compliance and auditing purposes.",
            "Generate reports on checklist completion rates and identify areas for training or improvement.",
            "Ensure that all checklists are completed on time and according to company standards."
          ],
          "general": [
            "Provides a centralized location to view and manage all past checklists.",
            "Offers a clear overview of checklist completion status and progress.",
            "Enables easy access to historical data for analysis and reporting."
          ]
        },
        "business_value": {
          "problem_solved": "Lack of historical checklist data and difficulty in tracking progress over time.",
          "value_proposition": "Provides a centralized archive of all checklists, enabling easy access to historical data, progress tracking, and compliance monitoring.",
          "differentiators": "Centralized archive, easy access to historical data, progress tracking, and compliance monitoring.",
          "impact": "Improved compliance, better process optimization, and enhanced data-driven decision-making."
        },
        "use_cases": [
          {
            "scenario": "A restaurant manager needs to review past HACCP checklists to prepare for a health inspection.",
            "user_type": "manager",
            "benefit": "Quickly access and review all past HACCP checklists to ensure compliance with health regulations."
          },
          {
            "scenario": "An employee wants to see how long it took them to complete a specific checklist last month.",
            "user_type": "employee",
            "benefit": "Easily find and review past checklists to track personal performance and identify areas for improvement."
          },
          {
            "scenario": "An HR administrator needs to generate a report on checklist completion rates for all employees.",
            "user_type": "hr_admin",
            "benefit": "Access historical checklist data to generate reports on completion rates and identify areas for training or process improvement."
          },
          {
            "scenario": "A manager wants to compare the completion status of a 'Cleaning Coffee Machine' checklist from last week to this week.",
            "user_type": "manager",
            "benefit": "Enables comparison of checklist completion status over time to identify trends and potential issues."
          }
        ],
        "value_statements": [
          "Easily access and review past checklists for compliance and performance tracking.",
          "Maintain a centralized archive of all checklists for auditing and reporting purposes.",
          "Track checklist progress over time to identify areas for improvement and optimize processes.",
          "Ensure compliance with standards and regulations by easily accessing historical checklist data."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2735",
      "sequence_index": 80,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2735.png",
      "basic_info": {
        "screen_name": "Checklists Archive",
        "feature_area": "checklists",
        "ui_elements": [
          "Checklist items",
          "Checkboxes",
          "Text descriptions",
          "Images"
        ],
        "functionality_visible": [
          "View checklist archive",
          "See completed checklist items"
        ],
        "navigation_paths": [
          "Tap back arrow to return to previous screen"
        ],
        "data_displayed": [
          "List of checklist items",
          "Status of each checklist item (completed or not)",
          "Descriptions for each checklist item",
          "Images related to checklist items"
        ],
        "user_actions": [
          "Tap back arrow"
        ],
        "visible_text_labels": [
          "Checklists archive",
          "Altglas in Kartons räumen und vor die Tür stellen",
          "Das gesamte, nicht mit Pfand versehene Glas in Kartons vor die Tür stellen.",
          "Restmülltonnen nach draussen stellen",
          "Bitte die Restmülltonnen aus dem abgesperrten Bereich nach vorne stellen",
          "Grün-Abfall vor die Tür stellen",
          "Bitte die grüne Tonne in den freizugänglichen Bereich stellen",
          "Altpapier zusammenräumen",
          "Altpapier zusammenräumen und georndet vor die Tür stellen",
          "Mülltonnen vor die Tür stellen",
          "Alle Mülltonnen - Speisereste, Restmüll, Gelber Sack und Grünabfall vor die Tür stellen",
          "Unterschrift"
        ],
        "one_line_description": "This screen displays an archive of checklists, showing the status and details of each item.",
        "screenshot_id": "IMG_2735",
        "sequence_index": 80,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2735.png"
      },
      "deep_understanding": {
        "screen_context": "The user navigates to this screen from the 'Checklists' screen by selecting an option to view the checklist archive. This screen shows a history of completed checklists.",
        "user_goal": "The user wants to review past checklists to see what tasks were previously completed, potentially for auditing, reference, or to ensure tasks are being done consistently.",
        "business_value": "This screen provides a record of completed tasks, enabling accountability, quality control, and historical tracking of operational procedures. It helps ensure tasks are completed consistently and provides a basis for auditing and process improvement.",
        "state_information": {
          "data_shown": "Archived checklists are displayed, including the task description, completion status (indicated by a checkbox), and potentially the date of completion (though the date is not visible in the screenshot). The image associated with each task provides visual confirmation or context.",
          "editable_fields": "There are no editable fields on this screen. The checklists are archived and cannot be modified.",
          "read_only_fields": "All information on this screen is read-only, including the checklist descriptions, completion status, and associated images.",
          "current_state": "The screen displays a list of completed checklists. Each checklist item shows whether it was completed or not."
        },
        "interactions": [
          {
            "action": "Tap the back arrow icon",
            "outcome": "The app navigates back to the previous screen, likely the 'Checklists' screen.",
            "next_state": "Checklists screen",
            "error_possibilities": "None."
          },
          {
            "action": "Scroll through the list of checklists",
            "outcome": "The user can view more archived checklists.",
            "next_state": "Still on the Checklists Archive screen, but with a different portion of the list visible.",
            "error_possibilities": "None."
          }
        ],
        "edge_cases": [
          "The archive may be empty if no checklists have been completed yet.",
          "The archive may contain a very large number of checklists, requiring efficient loading and scrolling.",
          "Different user roles may have access to different subsets of the checklist archive.",
          "Some checklists may have failed to complete properly, resulting in an incomplete or error state in the archive.",
          "The images associated with the checklists may fail to load."
        ],
        "benefits": "The user can easily review past checklists to verify task completion and ensure consistency. This provides a historical record for auditing and process improvement.",
        "mental_model": "The screen reinforces the mental model of a checklist as a series of tasks that can be completed and archived for future reference. It supports the idea that completed tasks are recorded and accessible for review."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "Signature",
            "trigger": "Tap on 'Unterschrift' (Signature)",
            "data_passed": "Checklist ID, User ID",
            "purpose": "To allow the user to provide a signature for the checklist"
          }
        ],
        "depends_on": [
          {
            "screen_type": "Checklists",
            "required_data": "List of checklists",
            "purpose": "To display the archive of checklists"
          }
        ],
        "data_flow": "This screen receives a list of archived checklists from the 'Checklists' screen. It allows the user to view the details of each checklist and provide a signature.",
        "navigation_patterns": [
          {
            "pattern_type": "back",
            "description": "The user can navigate back to the 'Checklists' screen using the back arrow."
          }
        ],
        "feature_dependencies": [
          "Checklists",
          "Signature"
        ],
        "alternative_paths": []
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "View Checklists Archive",
            "goal": "View a list of archived checklists",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Checklists Archive",
                "action": "Views the list of archived checklists",
                "outcome": "Displays a list of archived checklists with details like Altglas in Kartons räumen und vor die Tür stellen, Restmülltonnen nach draussen stellen, Grün-Abfall vor die Tür stellen, Altpapier zusammenräumen, Mülltonnen vor die Tür stellen, Unterschrift"
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [
            "Access a history of completed checklists to verify tasks and ensure accountability.",
            "Review past tasks to understand recurring responsibilities."
          ],
          "manager": [
            "Monitor the completion of tasks over time to identify trends and areas for improvement.",
            "Verify that tasks are being completed consistently and according to standards.",
            "Use the archive to track compliance with regulations and internal policies."
          ],
          "hr_admin": [
            "Maintain a record of completed tasks for auditing and compliance purposes.",
            "Use the archive to identify training needs and improve operational efficiency.",
            "Access historical data to resolve disputes or address concerns related to task completion."
          ],
          "general": [
            "Easily access and review past checklists.",
            "Track the completion of tasks over time.",
            "Maintain a record of completed tasks for future reference."
          ]
        },
        "business_value": {
          "problem_solved": "Lack of historical record of completed checklists, making it difficult to track task completion, ensure accountability, and identify areas for improvement.",
          "value_proposition": "Provides a centralized archive of completed checklists, enabling users to track task completion, ensure accountability, and identify areas for improvement.",
          "differentiators": "Centralized archive, easy access, historical data tracking.",
          "impact": "Improved accountability, better task management, enhanced compliance, and data-driven decision-making."
        },
        "use_cases": [
          {
            "scenario": "A cleaning company manager wants to verify that a specific cleaning task was completed at a client's location on a particular date.",
            "user_type": "manager",
            "benefit": "The manager can access the checklist archive to find the completed checklist for that date and verify that the task was indeed completed."
          },
          {
            "scenario": "An employee needs to remember the specific steps involved in a recurring task.",
            "user_type": "employee",
            "benefit": "The employee can access the checklist archive to review a previously completed checklist and refresh their memory on the task steps."
          },
          {
            "scenario": "An HR administrator needs to demonstrate compliance with safety regulations during an audit.",
            "user_type": "hr_admin",
            "benefit": "The HR administrator can access the checklist archive to provide evidence of completed safety checklists, demonstrating compliance with regulations."
          }
        ],
        "value_statements": [
          "Maintain a complete history of your checklists for improved accountability and compliance.",
          "Easily track task completion over time with our comprehensive checklist archive.",
          "Access historical checklist data to identify trends and improve operational efficiency.",
          "Ensure tasks are completed consistently and according to standards with our checklist archive."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2736",
      "sequence_index": 81,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2736.png",
      "basic_info": {
        "screen_name": "Car Return Checklist",
        "feature_area": "other",
        "ui_elements": [
          "Back button",
          "Checklist items",
          "Text fields",
          "Image upload buttons"
        ],
        "functionality_visible": [
          "Complete car return checklist",
          "Upload photos",
          "Confirm data"
        ],
        "navigation_paths": [
          "Tap back to previous screen"
        ],
        "data_displayed": [
          "Checklist items",
          "Text fields for kilometer reading",
          "Instructions for checklist items"
        ],
        "user_actions": [
          "Tap checklist items to complete",
          "Enter kilometer reading",
          "Upload photos",
          "Confirm correctness"
        ],
        "visible_text_labels": [
          "Autorückgabe",
          "Ist das Auto zurückgegeben worden",
          "Auto fotografieren",
          "Sind Schäden vorhanden",
          "Kilometerstand bei Rückgabe",
          "Foto Kilometerstand",
          "Korrektheit bestätigen",
          "Zucker, brauner",
          "Butter",
          "Sahne",
          "Salz"
        ],
        "one_line_description": "This screen presents a checklist for returning a car, including taking photos, recording the mileage, and confirming the data.",
        "screenshot_id": "IMG_2736",
        "sequence_index": 81,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2736.png"
      },
      "deep_understanding": {
        "screen_context": "This screen appears when a user is performing a car return process, likely as part of a checklist or workflow related to vehicle management.",
        "user_goal": "The user's goal is to complete the car return process by providing all the necessary information and confirming the vehicle's condition.",
        "business_value": "This screen ensures that car returns are properly documented and processed, minimizing potential disputes or losses related to vehicle condition, mileage, and return confirmation. It helps maintain accurate records and streamline the car return workflow.",
        "state_information": {
          "data_shown": "The screen displays a checklist of tasks related to the car return process, including confirming the return, taking photos, noting damages, recording mileage, and confirming correctness. It also shows a recipe, which seems to be a data error.",
          "editable_fields": "The user can interact with the checklist items to mark them as complete or provide additional information (e.g., taking photos, entering mileage).",
          "read_only_fields": "The checklist items themselves are read-only in the sense that the user cannot change the description of the tasks.",
          "current_state": "The current state is that the user has confirmed the car has been returned, but the other tasks are pending."
        },
        "interactions": [
          {
            "action": "Tap 'Ist das Auto zurückgegeben worden' (Is the car returned) checkbox",
            "outcome": "The checkbox is marked as complete, indicating that the car has been returned.",
            "next_state": "The checkbox remains checked, and the app may proceed to the next step in the workflow.",
            "error_possibilities": "None, assuming the checkbox functions correctly."
          },
          {
            "action": "Tap 'Auto fotografieren' (Photograph car)",
            "outcome": "The app likely opens the device's camera or allows the user to select existing photos.",
            "next_state": "The app displays the camera interface or photo selection screen.",
            "error_possibilities": "The camera may not be accessible, or the user may not have permission to access the photo library."
          },
          {
            "action": "Tap 'Sind Schäden vorhanden' (Are there damages)",
            "outcome": "The app likely presents a screen or form to document any damages to the vehicle.",
            "next_state": "The app displays a damage reporting screen.",
            "error_possibilities": "None, assuming the button functions correctly."
          },
          {
            "action": "Tap 'Kilometerstand bei Rückgabe' (Mileage at return)",
            "outcome": "The app likely presents a field to enter the car's mileage.",
            "next_state": "The app displays a mileage input field.",
            "error_possibilities": "The user may enter an invalid mileage value (e.g., non-numeric or out of range)."
          },
          {
            "action": "Tap 'Foto Kilometerstand' (Mileage photo)",
            "outcome": "The app likely opens the device's camera or allows the user to select existing photos of the odometer.",
            "next_state": "The app displays the camera interface or photo selection screen.",
            "error_possibilities": "The camera may not be accessible, or the user may not have permission to access the photo library."
          },
          {
            "action": "Tap 'Korrektheit bestätigen' (Confirm correctness)",
            "outcome": "The app confirms that all information is correct and submits the car return data.",
            "next_state": "The app displays a confirmation message or proceeds to the next stage of the workflow.",
            "error_possibilities": "The app may display an error message if required fields are missing or invalid."
          },
          {
            "action": "Tap the back arrow",
            "outcome": "The app navigates to the previous screen.",
            "next_state": "The app displays the previous screen, likely the checklist screen.",
            "error_possibilities": "None."
          }
        ],
        "edge_cases": [
          "The user may not have the necessary permissions to complete certain tasks (e.g., taking photos).",
          "The vehicle may have pre-existing damages that need to be documented.",
          "The user may be offline, preventing them from submitting the data.",
          "The user may be interrupted during the process and need to resume later.",
          "The recipe shown in the Kilometerstand section is clearly a data error and should not be there."
        ],
        "benefits": "This screen provides a structured and guided process for completing car returns, ensuring that all necessary information is collected and documented. It reduces the risk of errors and omissions, improving the efficiency and accuracy of the car return process.",
        "mental_model": "The screen supports a checklist-based mental model, where the user progresses through a series of tasks to complete the car return process. The visual cues (checkboxes, icons) help the user understand the status of each task and the overall progress."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "confirmation",
            "trigger": "Completing all checklist items and confirming correctness",
            "data_passed": "Car return checklist data (mileage, photos, damage report)",
            "purpose": "To confirm the successful completion of the car return process."
          },
          {
            "screen_type": "camera",
            "trigger": "Tapping 'Auto fotografieren' or 'Foto Kilometerstand'",
            "data_passed": "None",
            "purpose": "To take photos of the car and the odometer."
          }
        ],
        "depends_on": [
          {
            "screen_type": "Checklists",
            "required_data": "Car return checklist template",
            "purpose": "To display the specific checklist items for car return."
          }
        ],
        "data_flow": "This screen receives the car return checklist template. The user inputs data (mileage, photos, damage report). Upon completion, this data is sent to the server for processing and confirmation.",
        "navigation_patterns": [
          {
            "pattern_type": "linear",
            "description": "The user progresses through the checklist items sequentially."
          },
          {
            "pattern_type": "back",
            "description": "The user can go back to the previous screen (Checklists) using the back arrow."
          }
        ],
        "feature_dependencies": [
          "Checklists",
          "Camera",
          "Document Upload"
        ],
        "alternative_paths": [
          {
            "description": "The user might skip certain checklist items if they are not applicable (though this might prevent completion)."
          }
        ]
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "Complete Car Return Checklist",
            "goal": "Successfully complete the car return checklist to finalize the car return process.",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Car Return Checklist",
                "action": "Confirm the car has been returned.",
                "outcome": "The 'Ist das Auto zurückgegeben worden' checkbox is checked."
              },
              {
                "step_number": 2,
                "screen_type": "Car Return Checklist",
                "action": "Take photos of the car.",
                "outcome": "The user navigates to the camera to take photos of the car."
              },
              {
                "step_number": 3,
                "screen_type": "Car Return Checklist",
                "action": "Indicate if there is any damage.",
                "outcome": "The user navigates to the damage reporting section."
              },
              {
                "step_number": 4,
                "screen_type": "Car Return Checklist",
                "action": "Enter the mileage at return.",
                "outcome": "The user enters the mileage reading from the car."
              },
              {
                "step_number": 5,
                "screen_type": "Car Return Checklist",
                "action": "Take a photo of the odometer.",
                "outcome": "The user navigates to the camera to take a photo of the odometer."
              },
              {
                "step_number": 6,
                "screen_type": "Car Return Checklist",
                "action": "Confirm the correctness of the information.",
                "outcome": "The user confirms the correctness of the information."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [
            "Ensures all necessary steps are completed during car return.",
            "Provides a clear checklist to avoid missing important tasks.",
            "Simplifies the car return process with guided steps."
          ],
          "manager": [
            "Ensures consistent car return procedures across the team.",
            "Provides visibility into the car return status.",
            "Reduces potential issues related to incomplete returns."
          ],
          "hr_admin": [
            "Streamlines car return administration.",
            "Provides a standardized process for all employees.",
            "Reduces administrative overhead related to car returns."
          ],
          "general": [
            "Easy-to-follow checklist for car return.",
            "Reduces the risk of errors or omissions.",
            "Provides a clear record of the car return process."
          ]
        },
        "business_value": {
          "problem_solved": "Ensures a standardized and complete car return process, reducing errors, omissions, and potential disputes.",
          "value_proposition": "Provides a guided checklist to ensure all necessary steps are completed during car return, improving efficiency and accuracy.",
          "differentiators": "Comprehensive checklist approach, integrated photo capture, and confirmation of correctness.",
          "impact": "Reduces administrative overhead, minimizes errors, and improves compliance with car return policies."
        },
        "use_cases": [
          {
            "scenario": "An employee is returning a company car after a business trip.",
            "user_type": "employee",
            "benefit": "The employee can easily follow the checklist to ensure all required steps are completed, such as documenting mileage and any damages."
          },
          {
            "scenario": "A manager needs to verify that a returned company car is in good condition and all necessary documentation is complete.",
            "user_type": "manager",
            "benefit": "The manager can quickly review the checklist to confirm that all steps have been followed and that the car return is complete."
          },
          {
            "scenario": "HR admin needs to track car returns and ensure compliance with company policy.",
            "user_type": "hr_admin",
            "benefit": "HR can use the checklist to ensure that all car returns are standardized and that all necessary information is captured."
          }
        ],
        "value_statements": [
          "Ensure a complete and accurate car return process with our guided checklist.",
          "Simplify car returns and reduce errors with our easy-to-use checklist.",
          "Streamline your car return process and improve compliance with our comprehensive checklist."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2737",
      "sequence_index": 82,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2737.png",
      "basic_info": {
        "screen_name": "Absences",
        "feature_area": "abwesenheiten",
        "ui_elements": [
          "New request button",
          "Absence balance",
          "List of recent absences"
        ],
        "functionality_visible": [
          "Request new absence",
          "View absence balance",
          "View recent absence history"
        ],
        "navigation_paths": [
          "Tap 'New Request' to create a new absence request",
          "Tap 'X' to close the absences screen"
        ],
        "data_displayed": [
          "Remaining vacation days",
          "Total vacation days",
          "Taken vacation days",
          "Dates of absences",
          "Type of absence",
          "Status of absence request (Approved, Pending)"
        ],
        "user_actions": [
          "Tap 'New Request'",
          "Scroll through the list of absences"
        ],
        "visible_text_labels": [
          "Holiday & Absences",
          "NEW REQUEST",
          "Remaining",
          "Total",
          "Taken",
          "Recent Absences",
          "Bezahlter Urlaub",
          "Krankheit",
          "Feiertagsausgleich",
          "Überstundenabbau",
          "Approved",
          "Pending"
        ],
        "one_line_description": "This screen displays the user's absence balance and a history of recent absence requests, allowing them to submit new requests.",
        "screenshot_id": "IMG_2737",
        "sequence_index": 82,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2737.png"
      },
      "deep_understanding": {
        "screen_context": "The user sees this screen when they want to view and manage their holiday and absence requests within the app.",
        "user_goal": "The user wants to either request a new absence, view their remaining holiday balance, or check the status of their past absence requests.",
        "business_value": "This screen allows employees to easily manage their time off requests, providing transparency and streamlining the absence management process. It reduces administrative overhead for HR and ensures accurate tracking of employee absences.",
        "state_information": {
          "data_shown": "The screen displays the user's remaining and total holiday balance (in days), as well as a list of recent absence requests with their dates, type, and status (Approved or Pending). This data is relevant for the user to understand their available time off and the status of their requests.",
          "editable_fields": "None. The user cannot directly edit any data on this screen, but they can initiate a new request.",
          "read_only_fields": "Remaining holiday balance, total holiday balance, list of recent absences with dates, type, and status.",
          "current_state": "The current state reflects the user's current holiday balance and the status of their recent absence requests. The absence requests can be in 'Approved' or 'Pending' states."
        },
        "interactions": [
          {
            "action": "Tap 'NEW REQUEST' button",
            "outcome": "The app navigates to a screen where the user can create a new absence request.",
            "next_state": "Absence request creation screen.",
            "error_possibilities": "None. The button should always navigate to the next screen."
          },
          {
            "action": "Tap the 'X' icon in the top right corner",
            "outcome": "The screen closes and the user is navigated back to the previous screen.",
            "next_state": "Previous screen (e.g., dashboard or employee profile).",
            "error_possibilities": "None. The close button should always navigate back."
          }
        ],
        "edge_cases": "1. User has no holiday allowance: The remaining and total holiday balance would be 0.\n2. User has no recent absences: The 'Recent Absences' section would be empty or display a message like 'No recent absences'.\n3. User has a large number of absence requests: The list of recent absences might be paginated or have a scrollable view.\n4. Different user roles (e.g., manager) might have additional options or information displayed on this screen.\n5. Error retrieving data: If there's a network error or server issue, the holiday balance and absence requests might not load, and an error message would be displayed.",
        "benefits": "1. Provides a clear overview of the user's holiday balance.\n2. Allows users to easily request new absences.\n3. Provides transparency on the status of past absence requests.\n4. Simplifies the absence management process for both employees and HR.",
        "mental_model": "The screen supports a mental model of a self-service absence management system where employees can easily view their holiday balance and request time off. The 'Recent Absences' section provides a history of their requests, reinforcing the idea that the app is tracking their time off."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "New Absence Request",
            "trigger": "Tap on 'NEW REQUEST' button",
            "data_passed": null,
            "purpose": "To allow the user to create a new absence request."
          }
        ],
        "depends_on": [],
        "data_flow": "This screen displays the user's holiday and absence information, including remaining days, total days, and a history of recent absences. It receives data from the backend regarding the user's absence records and displays them.",
        "navigation_patterns": [
          {
            "pattern_type": "modal",
            "description": "This screen appears as a modal overlay on top of another screen. The user can dismiss it by tapping the 'X' icon."
          }
        ],
        "feature_dependencies": [
          "abwesenheiten"
        ],
        "alternative_paths": []
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "View Holiday and Absences",
            "goal": "View personal holiday and absence information",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Absences",
                "action": "View the screen",
                "outcome": "User sees remaining holiday balance, total holiday balance, and a list of recent absences with their status."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [
            "Easily request time off for holidays or absences.",
            "View remaining holiday balance.",
            "Track the status of absence requests (approved, pending).",
            "See a history of past absences."
          ],
          "manager": [],
          "hr_admin": [],
          "general": []
        },
        "business_value": {
          "problem_solved": "Managing and tracking employee absences and holiday requests can be time-consuming and prone to errors.",
          "value_proposition": "Provides a centralized and streamlined system for employees to request absences, track their holiday balance, and view the status of their requests, reducing administrative overhead and improving transparency.",
          "differentiators": "Clear overview of remaining holiday balance, status tracking, and historical record of absences.",
          "impact": "Improved efficiency in absence management, reduced administrative burden, increased employee satisfaction through transparency, and better workforce planning."
        },
        "use_cases": [
          {
            "scenario": "An employee wants to request a week off for vacation.",
            "user_type": "employee",
            "benefit": "The employee can easily submit a request through the app, view their remaining holiday balance, and track the status of their request."
          },
          {
            "scenario": "An employee needs to take a sick day.",
            "user_type": "employee",
            "benefit": "The employee can quickly record their absence and track its status."
          },
          {
            "scenario": "An employee wants to check how many holiday days they have left.",
            "user_type": "employee",
            "benefit": "The employee can instantly see their remaining holiday balance."
          },
          {
            "scenario": "An employee wants to review their past absence requests.",
            "user_type": "employee",
            "benefit": "The employee can view a history of their past absence requests and their status."
          }
        ],
        "value_statements": [
          "Request and manage your time off with ease.",
          "Stay informed about your holiday balance and request status.",
          "Simplify absence management and improve workforce planning.",
          "Gain transparency into your absence history."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2738",
      "sequence_index": 83,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2738.png",
      "basic_info": {
        "screen_name": "Events Search",
        "feature_area": "schichtplanung",
        "ui_elements": [
          "Search bar",
          "Event list",
          "Keyboard"
        ],
        "functionality_visible": [
          "Search for events",
          "View event details"
        ],
        "navigation_paths": [
          "Tap event for details",
          "Tap X to close"
        ],
        "data_displayed": [
          "Event name",
          "Event date",
          "Event time"
        ],
        "user_actions": [
          "Enter text",
          "Tap",
          "Search"
        ],
        "visible_text_labels": [
          "Events",
          "Search events",
          "SA",
          "JAN",
          "Backstreet Boys are back Tour - Sporth...",
          "24",
          "24.01.2026",
          "18:00 - 00:00 Uhr"
        ],
        "one_line_description": "This screen allows the user to search for and view events within the app, likely related to scheduling or workforce management.",
        "screenshot_id": "IMG_2738",
        "sequence_index": 83,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2738.png"
      },
      "deep_understanding": {
        "screen_context": "The user is viewing a screen related to 'Events' within the app. This screen likely appears when the user navigates to an 'Events' section or taps on an event-related notification or link within the app.",
        "user_goal": "The user is trying to find information about specific events, potentially to view details, register, or manage their event schedule.",
        "business_value": "This screen allows users to stay informed about company events, promoting engagement and participation. It helps manage event attendance and communication.",
        "state_information": {
          "data_shown": "The screen displays a list of events, including the 'Backstreet Boys are back Tour' as an example. The date (24.01.2026) and time (18:00 - 00:00 Uhr) are also shown. This data is relevant for users to quickly identify and assess the events.",
          "editable_fields": "The search bar allows the user to filter events by keyword.",
          "read_only_fields": "Event titles, dates, and times are displayed but cannot be edited directly on this screen.",
          "current_state": "The app is currently displaying a list of events, with a search bar active and the keyboard visible, ready for user input."
        },
        "interactions": [
          {
            "action": "Tap on the 'Search events' bar",
            "outcome": "The keyboard appears, allowing the user to type in search terms.",
            "next_state": "The search bar is active and the keyboard is visible.",
            "error_possibilities": "No immediate errors. The search may return no results if the search term is not found."
          },
          {
            "action": "Type a search term in the 'Search events' bar",
            "outcome": "The event list is filtered based on the search term.",
            "next_state": "The event list displays only events matching the search term.",
            "error_possibilities": "If no events match the search term, an empty list or a 'no results' message may be displayed."
          },
          {
            "action": "Tap on an event in the list",
            "outcome": "The app navigates to a detailed view of the selected event.",
            "next_state": "A detailed event view is displayed.",
            "error_possibilities": "The event details may fail to load if there is a network error or if the event data is corrupted."
          },
          {
            "action": "Tap the 'X' icon in the top right corner",
            "outcome": "The 'Events' screen is closed.",
            "next_state": "The app returns to the previous screen.",
            "error_possibilities": "No immediate errors."
          }
        ],
        "edge_cases": "Different user roles might have access to different events. The event list might be empty if there are no upcoming events. The app needs to handle different date and time formats based on the user's locale. The search functionality should be robust and handle typos or partial matches.",
        "benefits": "The screen provides a centralized location for users to find information about company events. The search functionality makes it easy to find specific events. The clear display of event details helps users quickly assess the relevance of each event.",
        "mental_model": "The screen supports a mental model of a calendar or event list, where users can browse and search for events of interest. The search bar reinforces the idea that users can actively find specific events rather than just passively browsing."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "Event Detail",
            "trigger": "Tapping on an event in the list",
            "data_passed": "Event ID, Event Details (name, date, time, location)",
            "purpose": "To view the details of a selected event."
          }
        ],
        "depends_on": [],
        "data_flow": "This screen receives event data from a backend service. The user can search for events, which filters the displayed list. Tapping an event sends the event details to the event detail screen.",
        "navigation_patterns": [
          {
            "pattern_type": "Modal",
            "description": "This screen appears as a modal overlay on top of the previous screen. The user can dismiss the modal by tapping the 'X' button."
          },
          {
            "pattern_type": "Search",
            "description": "The user can search for events using the search bar."
          }
        ],
        "feature_dependencies": [],
        "alternative_paths": []
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "Find an event",
            "goal": "Find a specific event in the events list",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Events Search",
                "action": "Taps on the search bar",
                "outcome": "Keyboard appears and the search bar is active"
              },
              {
                "step_number": 2,
                "screen_type": "Events Search",
                "action": "Types in the name of the event",
                "outcome": "The list of events is filtered based on the search term"
              },
              {
                "step_number": 3,
                "screen_type": "Events Search",
                "action": "Taps on the desired event",
                "outcome": "The event details screen is displayed"
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [
            "Quickly find and view event details relevant to your schedule.",
            "Stay informed about upcoming events that may affect your work schedule."
          ],
          "manager": [
            "Easily search for events to ensure adequate staffing and resource allocation.",
            "Stay informed about events that may impact team availability or productivity."
          ],
          "hr_admin": [
            "Efficiently manage and communicate company-wide events.",
            "Track event attendance and participation."
          ],
          "general": [
            "Quickly search and find events.",
            "View event details such as date, time, and description."
          ]
        },
        "business_value": {
          "problem_solved": "Difficulty in quickly finding and accessing event information within the app.",
          "value_proposition": "Provides a centralized and easily searchable event listing, improving access to important information.",
          "differentiators": "Potentially integrates with scheduling and resource management features for seamless event planning and execution.",
          "impact": "Improved communication, better event planning, and increased employee awareness of important dates and activities."
        },
        "use_cases": [
          {
            "scenario": "An employee needs to check the date and time of an upcoming company training session.",
            "user_type": "employee",
            "benefit": "Quickly finds the event details and adds it to their personal calendar."
          },
          {
            "scenario": "A manager needs to find out if a team-building event clashes with any important project deadlines.",
            "user_type": "manager",
            "benefit": "Searches for the event and assesses its impact on team workload."
          },
          {
            "scenario": "An HR admin needs to confirm the date and time of the annual company holiday party.",
            "user_type": "hr_admin",
            "benefit": "Easily locates the event details to share with employees and vendors."
          }
        ],
        "value_statements": [
          "Find events instantly with our powerful search feature.",
          "Stay informed about important dates and activities.",
          "Plan your schedule around key events with ease.",
          "Access all event details in one convenient location."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2739",
      "sequence_index": 84,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2739.png",
      "basic_info": {
        "screen_name": "Event Details",
        "feature_area": "schichtplanung",
        "ui_elements": [
          "Event details",
          "Availability selection",
          "Work assignments list"
        ],
        "functionality_visible": [
          "View event details",
          "Set availability",
          "View work assignments"
        ],
        "navigation_paths": [
          "Tap 'X' to close event details"
        ],
        "data_displayed": [
          "Event name",
          "Event location",
          "Event date and time",
          "User availability",
          "Work assignments",
          "Shift times"
        ],
        "user_actions": [
          "Tap 'Available'",
          "Tap 'Unavailable'",
          "Tap work assignment"
        ],
        "visible_text_labels": [
          "Event",
          "Backstreet Boys are back Tour",
          "Sporthalle Hamburg - 22297 Hamburg",
          "24.01.2026",
          "18:00 - 00:00 Uhr",
          "Your availability",
          "Available",
          "Unavailable",
          "Work assignments & free shifts",
          "Veranstaltungshalle 4711, 24.01.2026",
          "Runner",
          "14:00 - 22:00 Uhr",
          "Logistik",
          "14:30 - 23:30 Uhr",
          "Aufbau"
        ],
        "one_line_description": "This screen displays the details of an event, allows the user to set their availability, and shows the available work assignments for that event.",
        "screenshot_id": "IMG_2739",
        "sequence_index": 84,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2739.png"
      },
      "deep_understanding": {
        "screen_context": "The user sees this screen after selecting an event from a list of events, likely in the 'Events Search' screen. It provides details about a specific event and allows the user to indicate their availability and potentially sign up for work assignments.",
        "user_goal": "The user wants to view details about a specific event (Backstreet Boys concert), indicate their availability to work, and potentially sign up for a work assignment at the event.",
        "business_value": "This screen allows the business to efficiently manage staffing for events by allowing employees to indicate their availability and sign up for specific roles. It streamlines the scheduling process and ensures adequate staffing levels.",
        "state_information": {
          "data_shown": "Event name (Backstreet Boys are back Tour), event location (Sporthalle Hamburg), event date and time (24.01.2026, 18:00-00:00 Uhr), a user review, a link to a document, the user's availability status (currently 'Available'), and a list of available work assignments (Runner, Logistik) with their respective times.",
          "editable_fields": "The user can change their availability status between 'Available' and 'Unavailable'. They can also likely sign up for one of the work assignments.",
          "read_only_fields": "Event name, location, date, time, the user review, the document link, work assignment descriptions and times are read-only.",
          "current_state": "The user is currently marked as 'Available' for the event. There are two work assignments listed: 'Runner' (14:00-22:00) and 'Logistik' (14:30-23:30)."
        },
        "interactions": [
          {
            "action": "Tap 'Unavailable' button",
            "outcome": "The user's availability status changes to 'Unavailable'.",
            "next_state": "The 'Unavailable' button is visually highlighted, and the 'Available' button is no longer highlighted.",
            "error_possibilities": "None apparent."
          },
          {
            "action": "Tap 'Available' button",
            "outcome": "The user's availability status changes to 'Available'.",
            "next_state": "The 'Available' button is visually highlighted, and the 'Unavailable' button is no longer highlighted.",
            "error_possibilities": "None apparent."
          },
          {
            "action": "Tap on a work assignment (e.g., 'Runner')",
            "outcome": "The user signs up for the selected work assignment.",
            "next_state": "The selected work assignment is visually marked as assigned to the user. The button may change to indicate 'Assigned' or 'Cancel Assignment'.",
            "error_possibilities": "The assignment may already be full, or the user may not meet the requirements for the assignment. An error message may be displayed."
          },
          {
            "action": "Tap the 'X' icon in the top right corner",
            "outcome": "The screen closes.",
            "next_state": "The app returns to the previous screen (likely the 'Events Search' screen).",
            "error_possibilities": "None apparent."
          }
        ],
        "edge_cases": [
          "The event is fully staffed, and no work assignments are available.",
          "The user is already assigned to another event at the same time.",
          "The user's profile does not meet the requirements for a specific work assignment.",
          "The event is canceled or rescheduled.",
          "The user has already signed up for the maximum number of work assignments.",
          "The user's availability conflicts with the work assignment times.",
          "The document link is broken or requires specific permissions.",
          "The user is not authorized to view the event details.",
          "The user has no internet connection."
        ],
        "benefits": "The screen provides a central location for viewing event details, indicating availability, and signing up for work assignments. It simplifies the scheduling process for both employees and the business.",
        "mental_model": "The user understands that this screen represents a specific event and allows them to manage their participation in that event. They can indicate whether they are available to work and choose specific roles to fill."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "arbeitsvertrag-minijob-fuer-die-gastr...",
            "trigger": "Clicking on the 'arbeitsvertrag-minijob-fuer-die-gastr...' link",
            "data_passed": "URL of the document",
            "purpose": "To view the linked document"
          }
        ],
        "depends_on": [
          {
            "screen_type": "Events Search",
            "required_data": "Event ID",
            "purpose": "To display the details of a specific event selected from the search results."
          }
        ],
        "data_flow": "This screen receives event details (name, location, date, time, description, work assignments) from the backend based on the event ID. It allows the user to indicate their availability and potentially apply for work assignments. The availability status is sent back to the backend.",
        "navigation_patterns": [
          {
            "pattern_type": "modal",
            "description": "This screen appears as a modal overlay on top of the previous screen. The user can dismiss it by tapping the 'X' icon."
          }
        ],
        "feature_dependencies": [
          "schichtplanung",
          "availability management",
          "document viewing"
        ],
        "alternative_paths": []
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "View Event Details and Apply for a Shift",
            "goal": "View details of an event and apply for an available shift",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Events Search",
                "action": "Search for events",
                "outcome": "List of events is displayed"
              },
              {
                "step_number": 2,
                "screen_type": "Event Details",
                "action": "Tap on an event (Backstreet Boys are back Tour)",
                "outcome": "Event details screen is displayed, showing event information, availability, and work assignments"
              },
              {
                "step_number": 3,
                "screen_type": "Event Details",
                "action": "Review event details (date, time, location, description)",
                "outcome": "User understands the event details"
              },
              {
                "step_number": 4,
                "screen_type": "Event Details",
                "action": "Review available shifts (Runner, Logistik)",
                "outcome": "User sees available shifts and their timings"
              },
              {
                "step_number": 5,
                "screen_type": "Event Details",
                "action": "Tap on a shift (Runner)",
                "outcome": "User is assigned to the Runner shift"
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [
            "Easily view event details such as location, date, and time.",
            "Indicate availability for the event.",
            "See available work assignments and free shifts.",
            "Potentially sign up for specific work assignments (Runner, Logistik).",
            "Access relevant documents related to the event (arbeitsvertrag-minijob-fuer-die-gastr...)."
          ],
          "manager": [
            "Efficiently manage event staffing by viewing employee availability.",
            "Assign employees to specific work assignments (Runner, Logistik).",
            "Ensure adequate staffing levels for the event.",
            "Streamline communication regarding event details and assignments."
          ],
          "hr_admin": [
            "Centralized platform for managing event staffing.",
            "Easy access to employee availability and work assignments.",
            "Simplified communication and coordination of event logistics.",
            "Improved compliance by providing access to relevant documents (arbeitsvertrag-minijob-fuer-die-gastr...)."
          ],
          "general": [
            "Clear and organized presentation of event information.",
            "User-friendly interface for indicating availability and viewing work assignments.",
            "Improved communication and coordination between employees and management."
          ]
        },
        "business_value": {
          "problem_solved": "Inefficient event staffing and communication, leading to potential understaffing, miscommunication, and logistical challenges.",
          "value_proposition": "Provides a centralized platform for managing event staffing, improving communication, and streamlining logistics.",
          "differentiators": "Integration of availability management, work assignment scheduling, and document access within a single platform.",
          "impact": "Reduced staffing costs, improved employee satisfaction, and enhanced event execution."
        },
        "use_cases": [
          {
            "scenario": "A Backstreet Boys concert is scheduled, and the event manager needs to staff various roles such as Runner and Logistics. Employees can view the event details, indicate their availability, and sign up for available shifts.",
            "user_type": "employee",
            "benefit": "Employees can easily find and sign up for shifts that fit their availability, increasing their earning potential and providing flexibility."
          },
          {
            "scenario": "The event manager needs to ensure that all roles are filled for the Backstreet Boys concert. They can view employee availability and assign employees to specific shifts, ensuring adequate staffing levels.",
            "user_type": "manager",
            "benefit": "Managers can efficiently manage event staffing, ensuring that all roles are filled and that the event runs smoothly."
          },
          {
            "scenario": "HR needs to ensure that all employees working at the Backstreet Boys concert have the necessary documentation. They can access relevant documents through the platform, ensuring compliance.",
            "user_type": "HR",
            "benefit": "HR can easily manage employee documentation and ensure compliance, reducing the risk of legal issues."
          }
        ],
        "value_statements": [
          "Effortlessly manage event staffing with our intuitive platform.",
          "Improve communication and coordination between employees and management.",
          "Streamline event logistics and reduce staffing costs.",
          "Ensure adequate staffing levels and enhance event execution.",
          "Empower employees to find and sign up for shifts that fit their availability."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2741",
      "sequence_index": 85,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2741.png",
      "basic_info": {
        "screen_name": "Event Details",
        "feature_area": "schichtplanung",
        "ui_elements": [
          "Event title",
          "Work assignments & free shifts section",
          "List of shifts with times",
          "Close button"
        ],
        "functionality_visible": [
          "View event details",
          "View work assignments",
          "View shift times"
        ],
        "navigation_paths": [
          "Tap X to close event details"
        ],
        "data_displayed": [
          "Event name (Backstreet Boys are back Tour)",
          "Event location (Veranstaltungshalle 4711, 24.01.2026)",
          "List of work assignments (Runner, Logistik, Service, Springer)",
          "Shift times for each assignment"
        ],
        "user_actions": [
          "Tap X to close"
        ],
        "visible_text_labels": [
          "Event",
          "Backstreet Boys are back Tour",
          "Work assignments & free shifts",
          "Veranstaltungshalle 4711, 24.01.2026",
          "Runner",
          "Aufbau",
          "Logistik",
          "Objektüberwachung Ost",
          "Service",
          "Springer",
          "Uhr"
        ],
        "one_line_description": "This screen displays the details of an event, including the location, date, and a list of work assignments with their corresponding shift times.",
        "screenshot_id": "IMG_2741",
        "sequence_index": 85,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2741.png"
      },
      "deep_understanding": {
        "screen_context": "The user sees this screen after selecting an event from the Events Search (schichtplanung) screen. It displays the details of a specific event, including available work assignments and free shifts.",
        "user_goal": "The user is trying to view the details of a specific event, including the available work assignments and their timings, to decide if they want to apply for any of them or set their availability.",
        "business_value": "This screen allows the business to efficiently communicate event details and available work assignments to its workforce, enabling employees to self-schedule and manage their availability. It streamlines the scheduling process and reduces administrative overhead.",
        "state_information": {
          "data_shown": "The screen displays the event name (Backstreet Boys are back Tour), the event location and date (Veranstaltungshalle 4711, 24.01.2026), and a list of available work assignments (Runner, Logistik, Service, Springer) with their corresponding time slots. The color coding next to each assignment likely indicates the status or type of assignment.",
          "editable_fields": "There are no editable fields visible on this screen. The user can likely set their availability on a different screen.",
          "read_only_fields": "All the information displayed on this screen, including the event name, location, date, work assignments, and time slots, are read-only.",
          "current_state": "The screen is currently displaying the details of the 'Backstreet Boys are back Tour' event, showing a list of available work assignments and their corresponding time slots."
        },
        "interactions": [
          {
            "action": "Tap the 'X' icon in the top right corner.",
            "outcome": "The event details screen closes.",
            "next_state": "The app navigates back to the previous screen, likely the Events Search (schichtplanung) screen.",
            "error_possibilities": "None."
          }
        ],
        "edge_cases": [
          "The event has no available work assignments.",
          "The event has a large number of work assignments, requiring scrolling.",
          "The user has already applied for some of the work assignments.",
          "The event is cancelled or rescheduled.",
          "The user does not have permission to view the event details.",
          "The event details are not available due to a network error."
        ],
        "benefits": "The screen provides a clear and concise overview of event details and available work assignments, enabling users to quickly assess their options and make informed decisions about their availability and scheduling.",
        "mental_model": "The screen supports a mental model of events as containers for work assignments. Users understand that they can view the details of an event and then choose to apply for specific work assignments within that event."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "Events Search",
            "trigger": "Tap on the 'X' icon",
            "data_passed": "None",
            "purpose": "To return to the previous screen where events are listed."
          }
        ],
        "depends_on": [
          {
            "screen_type": "Events Search",
            "required_data": "Event ID",
            "purpose": "To display the details of a specific event selected from the events list."
          }
        ],
        "data_flow": "The screen receives event details (name, location, date, work assignments, shifts) from the backend based on the event ID. No data is sent back to the backend from this screen.",
        "navigation_patterns": [
          {
            "pattern_type": "back",
            "description": "Tapping the 'X' icon navigates back to the Events Search screen."
          }
        ],
        "feature_dependencies": [
          "schichtplanung"
        ],
        "alternative_paths": []
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "View Event Details",
            "goal": "View details of a specific event, including work assignments and free shifts.",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Absences",
                "action": "Navigate to Events Search",
                "outcome": "Events Search screen is displayed."
              },
              {
                "step_number": 2,
                "screen_type": "Events Search",
                "action": "Search for and select an event (e.g., Backstreet Boys are back Tour)",
                "outcome": "Event Details screen is displayed, showing event information, work assignments, and free shifts."
              },
              {
                "step_number": 3,
                "screen_type": "Event Details",
                "action": "View event details",
                "outcome": "User reviews the event details, including location, date, and available shifts."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          },
          {
            "journey_name": "View Event Details from Event Details",
            "goal": "View details of a specific event, including work assignments and free shifts.",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Event Details",
                "action": "Navigate to Event Details",
                "outcome": "Event Details screen is displayed."
              },
              {
                "step_number": 2,
                "screen_type": "Event Details",
                "action": "View event details",
                "outcome": "User reviews the event details, including location, date, and available shifts."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [
            "Easily view available work assignments and free shifts for a specific event.",
            "See the location and date of the event.",
            "View the specific time slots for each work assignment.",
            "Quickly identify roles and responsibilities for each shift (e.g., Runner, Logistics, Service).",
            "Understand the start and end times for each shift."
          ],
          "manager": [
            "Efficiently communicate available shifts and assignments to employees.",
            "Ensure adequate staffing levels for each event.",
            "Provide clear information about roles, responsibilities, and shift times.",
            "Streamline the shift allocation process."
          ],
          "hr_admin": [
            "Centralized platform for managing event staffing.",
            "Improved visibility into workforce allocation.",
            "Simplified communication of event details to staff.",
            "Reduced administrative overhead associated with shift scheduling."
          ],
          "general": [
            "Clear and organized presentation of event details.",
            "Easy access to information about work assignments and shifts.",
            "Improved transparency in the shift scheduling process."
          ]
        },
        "business_value": {
          "problem_solved": "Inefficient communication and management of event staffing, leading to potential understaffing, confusion about roles, and administrative overhead.",
          "value_proposition": "Provides a centralized and transparent platform for managing event staffing, ensuring adequate coverage, clear role definitions, and streamlined communication.",
          "differentiators": "Visually clear presentation of shifts with role and time information, integrated within the Ordio platform.",
          "impact": "Improved event staffing efficiency, reduced administrative costs, enhanced employee satisfaction, and minimized the risk of understaffing."
        },
        "use_cases": [
          {
            "scenario": "An employee wants to find available shifts for the Backstreet Boys concert.",
            "user_type": "employee",
            "benefit": "The employee can easily view all available shifts, their roles (e.g., Runner, Service), and the corresponding time slots, allowing them to choose shifts that fit their availability and preferences."
          },
          {
            "scenario": "A manager needs to ensure adequate staffing for the logistics team during the event setup.",
            "user_type": "manager",
            "benefit": "The manager can quickly see the available Logistics shifts and their time slots, enabling them to identify any gaps in coverage and allocate staff accordingly."
          },
          {
            "scenario": "HR needs to communicate event details and available shifts to all staff.",
            "user_type": "HR",
            "benefit": "HR can use the platform to easily share event details, including the location, date, and available shifts, ensuring that all staff members have access to the information they need."
          }
        ],
        "value_statements": [
          "Effortlessly manage event staffing with clear shift details and role assignments.",
          "Ensure adequate event coverage with a transparent and centralized staffing platform.",
          "Streamline event communication and reduce administrative overhead.",
          "Empower employees to easily find and select available shifts that fit their schedule.",
          "Improve event staffing efficiency and enhance employee satisfaction."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2742",
      "sequence_index": 86,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2742.png",
      "basic_info": {
        "screen_name": "Event Details",
        "feature_area": "schichtplanung",
        "ui_elements": [
          "Event details screen",
          "List of shifts",
          "Shift details cards"
        ],
        "functionality_visible": [
          "View event shifts",
          "View shift times",
          "View shift roles"
        ],
        "navigation_paths": [
          "Tap 'X' to close event details"
        ],
        "data_displayed": [
          "Event name (Backstreet Boys are back Tour)",
          "Shift roles (Runner, Springer, Logistik, Service)",
          "Shift times (e.g. 15:45 - 00:30 Uhr)",
          "Shift location (Objektüberwachung Ost)"
        ],
        "user_actions": [
          "Scroll through shifts",
          "Tap 'X' to close"
        ],
        "visible_text_labels": [
          "Event",
          "Backstreet Boys are back Tour",
          "Runner",
          "Objektüberwachung Ost",
          "15:45 - 00:30 Uhr",
          "Service",
          "17:00 - 01:30 Uhr",
          "19:30 - 03:00 Uhr",
          "Springer",
          "21:15 - 05:30 Uhr",
          "Logistik",
          "21:45 - 05:00 Uhr",
          "23:30 - 05:15 Uhr"
        ],
        "one_line_description": "This screen displays the details of an event, including a list of shifts with their roles, times, and locations.",
        "screenshot_id": "IMG_2742",
        "sequence_index": 86,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2742.png"
      },
      "deep_understanding": {
        "screen_context": "The user sees this screen after selecting an event from a list of events, likely to view the specific work assignments (shifts) available for that event. It's triggered by navigating from a list of events to view the details of a specific event.",
        "user_goal": "The user is trying to view the available work assignments (shifts) for a specific event, including the role, location (if applicable), and time. They might be looking to see if there are any shifts that fit their availability or preferences.",
        "business_value": "This screen allows employees to view and potentially sign up for available shifts for a specific event, ensuring adequate staffing and efficient workforce management. It provides transparency and allows employees to choose shifts that suit their needs, increasing job satisfaction and reducing scheduling conflicts.",
        "state_information": {
          "data_shown": "The screen displays a list of work assignments (shifts) for the selected event. Each assignment shows the role (e.g., Runner, Service, Logistik), location (e.g., Objektüberwachung Ost), and the shift time (e.g., 15:45 - 00:30 Uhr). This data is relevant because it allows the user to understand the available work opportunities for the event.",
          "editable_fields": "None. The user cannot edit any of the displayed information on this screen.",
          "read_only_fields": "All the information displayed on the screen, including the event name, role, location, and shift times, are read-only.",
          "current_state": "The screen is displaying the available work assignments for the selected event. The user is in a view-only mode, browsing the available shifts."
        },
        "interactions": [
          {
            "action": "Tap the 'X' icon in the top right corner.",
            "outcome": "The screen closes, and the user is likely returned to the previous screen (e.g., the list of events or the event details screen).",
            "next_state": "The app transitions back to the previous screen, likely the list of events or the event details screen.",
            "error_possibilities": "None. This is a simple navigation action."
          }
        ],
        "edge_cases": "1. No work assignments available: The screen could display a message indicating that there are no available shifts for the event.\n2. Different user roles: Depending on the user's role, they might see different work assignments or have different options available (e.g., managers might be able to edit the assignments).\n3. Event canceled: If the event is canceled, the screen might display a message indicating the cancellation and prevent users from signing up for shifts.\n4. Fully booked shifts: The screen might indicate which shifts are already fully booked and prevent users from signing up for them.",
        "benefits": "The screen provides a clear and concise overview of the available work assignments for an event, allowing users to quickly assess their options and make informed decisions about which shifts to sign up for. It saves time and effort by presenting all the relevant information in one place.",
        "mental_model": "The screen supports a mental model of a schedule or roster, where users can view the available shifts for a specific event and understand the roles and times associated with each shift. It reinforces the idea that the app is used for workforce management and scheduling."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "Event Details",
            "trigger": "Tap on an event",
            "data_passed": "Event ID",
            "purpose": "To view the details of a specific event"
          }
        ],
        "depends_on": [
          {
            "screen_type": "Events Search",
            "required_data": "Search criteria (e.g., date, location)",
            "purpose": "To filter and find the desired event"
          }
        ],
        "data_flow": "This screen receives event details (name, time, roles) from the backend based on the selected event. No data is sent back to the backend from this screen.",
        "navigation_patterns": [
          {
            "pattern_type": "modal",
            "description": "The event details screen is presented as a modal overlay on top of the previous screen."
          },
          {
            "pattern_type": "back",
            "description": "The user can dismiss the modal to return to the previous screen (Events Search)."
          }
        ],
        "feature_dependencies": [
          "schichtplanung"
        ],
        "alternative_paths": []
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "View Event Details",
            "goal": "View the details of a specific event, including assigned shifts and times.",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Event Details",
                "action": "User views the event details screen.",
                "outcome": "The screen displays the event name (Backstreet Boys are back Tour) and a list of shifts with roles, descriptions, and times."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [
            "View assigned shifts and their timings for an event.",
            "Understand the role (e.g., Runner, Service, Logistics) assigned for each shift.",
            "See the start and end times of each shift."
          ],
          "manager": [
            "Ensure all necessary roles are filled for an event.",
            "Quickly review the schedule and identify any gaps or overlaps.",
            "Verify that shift timings are appropriate for each role."
          ],
          "hr_admin": [
            "Oversee the scheduling and staffing of events.",
            "Ensure compliance with labor laws and company policies regarding shift lengths and breaks.",
            "Generate reports on staffing levels and costs for events."
          ],
          "general": [
            "Clear and organized view of event staffing.",
            "Easy access to shift details."
          ]
        },
        "business_value": {
          "problem_solved": "Inefficient event staffing and scheduling, leading to potential understaffing, overstaffing, or scheduling conflicts.",
          "value_proposition": "Provides a centralized and transparent view of event staffing, enabling efficient scheduling and resource allocation.",
          "differentiators": "Potentially integrates with other Ordio modules for time tracking, payroll, and communication. Visual representation of shifts and roles.",
          "impact": "Improved event execution, reduced labor costs, increased employee satisfaction, and better compliance."
        },
        "use_cases": [
          {
            "scenario": "An employee wants to confirm their shift time for the Backstreet Boys concert.",
            "user_type": "employee",
            "benefit": "The employee can quickly check the app to see their assigned role and shift time, ensuring they arrive on time and prepared."
          },
          {
            "scenario": "A manager needs to check if all runner shifts are covered for an event.",
            "user_type": "manager",
            "benefit": "The manager can easily view all runner shifts and confirm that each shift has an assigned employee, preventing understaffing."
          },
          {
            "scenario": "HR wants to analyze the labor costs associated with a specific event.",
            "user_type": "hr_admin",
            "benefit": "HR can use the shift information to calculate the total labor hours and costs for the event, aiding in budget planning and resource allocation."
          }
        ],
        "value_statements": [
          "Effortlessly manage event staffing with a clear view of assigned shifts and roles.",
          "Ensure smooth event execution by optimizing scheduling and resource allocation.",
          "Reduce labor costs and improve employee satisfaction with efficient event staffing management.",
          "Stay compliant with labor laws and company policies through accurate shift tracking and reporting."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2743",
      "sequence_index": 87,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2743.png",
      "basic_info": {
        "screen_name": "Tips",
        "feature_area": "dashboard",
        "ui_elements": [
          "Dialog window",
          "Current balance",
          "Total earned",
          "Monthly earnings",
          "History list"
        ],
        "functionality_visible": [
          "View current tips balance",
          "View total tips earned",
          "View tips earned this month",
          "View tips history"
        ],
        "navigation_paths": [
          "Tap X to close"
        ],
        "data_displayed": [
          "Current tips balance",
          "Total tips earned",
          "Tips earned this month",
          "Date",
          "Location",
          "Shift time",
          "Tips amount"
        ],
        "user_actions": [
          "Tap to close"
        ],
        "visible_text_labels": [
          "Tips",
          "Aktuelles Guthaben",
          "Gesamt Erhalten",
          "Diesen Monat",
          "Historie",
          "Standort B",
          "Uhr"
        ],
        "one_line_description": "This screen displays the user's tips balance, total earnings, monthly earnings, and a history of tips earned.",
        "screenshot_id": "IMG_2743",
        "sequence_index": 87,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2743.png"
      },
      "deep_understanding": {
        "screen_context": "This screen appears when the user wants to view their tips or earnings within the app. It's likely triggered by a button or menu item labeled 'Tips' or 'Earnings'.",
        "user_goal": "The user wants to see a breakdown of their tips, including their current balance, total earnings, earnings for the current month, and a history of tips received on specific dates.",
        "business_value": "This screen provides transparency and accountability regarding employee earnings, fostering trust and satisfaction. It also allows employees to track their income and potentially identify discrepancies.",
        "state_information": {
          "data_shown": "Current balance (Aktuelles Guthaben), total earnings (Gesamt Erhalten), earnings for the current month (Diesen Monat), and a history of tips received on specific dates (Historie). The history includes the location (Standort B), date, time, and amount of each tip.",
          "editable_fields": "None. The user cannot edit any of the displayed information.",
          "read_only_fields": "All the information displayed on the screen, including current balance, total earnings, monthly earnings, and tip history, is read-only.",
          "current_state": "The current state reflects the user's current tip balance, total earnings, and a historical record of their tips."
        },
        "interactions": [
          {
            "action": "Tap the 'X' icon in the top right corner.",
            "outcome": "The tips screen closes.",
            "next_state": "The app returns to the previous screen, likely the event details or the main dashboard.",
            "error_possibilities": "None."
          }
        ],
        "edge_cases": "1. User has no tips: The screen should display '0,00 €' for all amounts and an empty history.\n2. User has a very large number of tips: The history section should be scrollable or paginated to accommodate all entries.\n3. Data loading error: The screen should display an error message if it fails to retrieve tip data from the server.\n4. Different locations: The 'Standort B' label might vary depending on the location where the tips were earned.\n5. Currency: The currency symbol (€) might change based on the user's region or settings.",
        "benefits": "The user benefits from this screen by having a clear and concise overview of their tips and earnings. This allows them to track their income, verify payments, and understand their earning patterns.",
        "mental_model": "The screen supports the mental model of a digital wallet or earnings statement, where users can view their current balance, total earnings, and a detailed transaction history."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "dashboard",
            "trigger": "Tap on the 'X' icon",
            "data_passed": null,
            "purpose": "To close the tips screen and return to the main dashboard."
          }
        ],
        "depends_on": [
          {
            "screen_type": "dashboard",
            "required_data": "User's tip data (current balance, total earned, monthly earnings, and history)",
            "purpose": "To display the user's tip information."
          }
        ],
        "data_flow": "This screen receives the user's tip data from the backend. It displays the current balance, total earned, monthly earnings, and a history of tips. No data is sent back to the backend from this screen.",
        "navigation_patterns": [
          {
            "pattern_type": "modal",
            "description": "This screen appears as a modal overlay on top of the dashboard. It can be dismissed by tapping the 'X' icon."
          }
        ],
        "feature_dependencies": [
          "User authentication",
          "Tip calculation and tracking",
          "Data storage and retrieval"
        ],
        "alternative_paths": [
          "There might be other ways to access the tips screen, such as through a settings menu or a dedicated tips section on the dashboard."
        ]
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "View Tips",
            "goal": "User wants to see their current tips balance and history.",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Event Details",
                "action": "User navigates to the event details screen.",
                "outcome": "Event details screen is displayed."
              },
              {
                "step_number": 2,
                "screen_type": "Event Details",
                "action": "User navigates to the event details screen.",
                "outcome": "Event details screen is displayed."
              },
              {
                "step_number": 3,
                "screen_type": "Event Details",
                "action": "User navigates to the event details screen.",
                "outcome": "Event details screen is displayed."
              },
              {
                "step_number": 4,
                "screen_type": "Tips",
                "action": "User views the tips screen.",
                "outcome": "User sees their current tips balance, total earned, and a history of tips."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          },
          {
            "journey_name": "Close Tips Screen",
            "goal": "User wants to close the tips screen and return to the previous screen.",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Tips",
                "action": "User taps the close (X) icon.",
                "outcome": "The tips screen closes, and the user returns to the previous screen."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          },
          {
            "journey_name": "View Tips History",
            "goal": "User wants to view the full history of their tips.",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Tips",
                "action": "User views the tips screen.",
                "outcome": "User sees their current tips balance, total earned, and a history of tips."
              },
              {
                "step_number": 2,
                "screen_type": "Tips History",
                "action": "User scrolls down to view more tips history.",
                "outcome": "User can see older tips transactions."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [
            "Easily track your current tips balance.",
            "View a detailed history of your tips earnings.",
            "See how much you've earned in total.",
            "Understand your earnings for the current month.",
            "Review tips earned at specific locations and times."
          ],
          "manager": [],
          "hr_admin": [],
          "general": [
            "Provides transparency into earnings.",
            "Helps users manage their finances.",
            "Offers a clear overview of income from tips."
          ]
        },
        "business_value": {
          "problem_solved": "Provides employees with a clear and accessible view of their tips earnings, eliminating confusion and potential disputes.",
          "value_proposition": "Offers a transparent and convenient way for employees to track their tips, fostering trust and satisfaction.",
          "differentiators": "Centralized view of tips, historical data, and clear presentation of earnings.",
          "impact": "Improved employee satisfaction, reduced administrative overhead, and increased transparency."
        },
        "use_cases": [
          {
            "scenario": "An employee wants to know how much they earned in tips last month.",
            "user_type": "employee",
            "benefit": "The employee can quickly view their earnings history and find the total tips earned for the previous month."
          },
          {
            "scenario": "An employee wants to verify if the tips they received match the app's record.",
            "user_type": "employee",
            "benefit": "The employee can compare their actual tips received with the detailed history in the app to ensure accuracy."
          },
          {
            "scenario": "An employee is planning their budget and needs to know their total tips earnings to date.",
            "user_type": "employee",
            "benefit": "The employee can easily see their total tips earned, helping them with financial planning."
          }
        ],
        "value_statements": [
          "Stay on top of your earnings with real-time tips tracking.",
          "Access a complete history of your tips, anytime, anywhere.",
          "Gain clarity and control over your income with our intuitive tips dashboard.",
          "Empowering you with transparent and accessible earnings information."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2744",
      "sequence_index": 88,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2744.png",
      "basic_info": {
        "screen_name": "Tips History",
        "feature_area": "zeiterfassung",
        "ui_elements": [
          "List of tips history entries",
          "Close button"
        ],
        "functionality_visible": [
          "View tips history"
        ],
        "navigation_paths": [
          "Tap close button to exit"
        ],
        "data_displayed": [
          "Date of tip",
          "Location of tip",
          "Tip amount",
          "Time of tip"
        ],
        "user_actions": [
          "Scroll through tips history",
          "Tap close button"
        ],
        "visible_text_labels": [
          "Tips",
          "Historie",
          "Standort B",
          "Uhr",
          "€"
        ],
        "one_line_description": "This screen displays the history of tips earned at different locations and times.",
        "screenshot_id": "IMG_2744",
        "sequence_index": 88,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2744.png"
      },
      "deep_understanding": {
        "screen_context": "The user sees this screen after navigating to the 'Tips' section and then selecting to view their 'Historie' (history). This screen displays a detailed breakdown of the user's tips earnings over time.",
        "user_goal": "The user wants to review their past tips earnings, understand when and how much they earned, and potentially identify any discrepancies or patterns in their earnings.",
        "business_value": "This screen provides transparency and accountability regarding tips distribution, fostering trust between the company and its employees. It also allows employees to track their earnings and plan their finances.",
        "state_information": {
          "data_shown": "The screen displays a list of tips earnings, including the location ('Standort B'), date (e.g., '03.12.2025'), time (e.g., '10:00 - 23:00 Uhr'), and the amount earned (e.g., '18,46 €'). This data is relevant for tracking earnings and identifying earning patterns.",
          "editable_fields": "There are no editable fields on this screen. The tips history is for viewing only.",
          "read_only_fields": "All the information displayed on this screen, including location, date, time, and amount earned, are read-only.",
          "current_state": "The current state is a display of the user's tips history, showing individual earnings for specific dates and locations."
        },
        "interactions": [
          {
            "action": "Tap the 'X' icon in the top right corner.",
            "outcome": "The tips history screen closes.",
            "next_state": "The app returns to the previous screen, likely the main 'Tips' screen or the dashboard.",
            "error_possibilities": "None."
          }
        ],
        "edge_cases": [
          "The user has no tips history: The screen would display a message indicating that there are no tips records available.",
          "The user has a very long tips history: The screen would need to implement pagination or scrolling to display all the records.",
          "There are errors in the data: The screen might display error messages or incorrect amounts if there are issues with the tips data.",
          "Different user roles: Managers might have access to tips history for all employees at their location."
        ],
        "benefits": "The user benefits from this screen by gaining a clear understanding of their past tips earnings, allowing them to track their income and identify any potential issues or discrepancies.",
        "mental_model": "The screen supports the mental model of a financial transaction history, similar to a bank statement. Users expect to see a chronological list of earnings with relevant details like date, location, and amount."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "Event Details",
            "trigger": "Tap the close icon",
            "data_passed": "None",
            "purpose": "Return to the event details screen"
          }
        ],
        "depends_on": [
          {
            "screen_type": "Event Details",
            "required_data": "Event ID, Tips data",
            "purpose": "To display the tips history for the selected event"
          }
        ],
        "data_flow": "This screen receives tips history data from the Event Details screen. It displays the history of tips for a specific event. No data is sent back to the Event Details screen, except implicitly when the user closes the modal.",
        "navigation_patterns": [
          {
            "pattern_type": "modal",
            "description": "This screen is presented as a modal overlay on top of the Event Details screen."
          },
          {
            "pattern_type": "back",
            "description": "The user can dismiss the modal and return to the Event Details screen by tapping the close icon."
          }
        ],
        "feature_dependencies": [
          "zeiterfassung",
          "tips"
        ],
        "alternative_paths": [
          "There are no alternative paths to reach this screen. It is only accessible from the Event Details screen."
        ]
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "View Tips History",
            "goal": "User wants to see a history of their tips",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "Event Details",
                "action": "Tap on 'Tips'",
                "outcome": "Navigates to the Tips History screen"
              },
              {
                "step_number": 2,
                "screen_type": "Tips History",
                "action": "View the list of tips",
                "outcome": "User sees a list of tips with dates, locations, and amounts"
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [
            "Easily track your tips earnings over time.",
            "View detailed records of your tips for each shift.",
            "Verify the accuracy of your tips payments.",
            "Understand your earning trends to optimize your work schedule."
          ],
          "manager": [
            "Gain insights into tip distribution among employees.",
            "Monitor tip earnings to identify high-performing employees.",
            "Use tip data to improve employee motivation and performance.",
            "Ensure fair and transparent tip allocation."
          ],
          "hr_admin": [
            "Generate reports on tip earnings for payroll and accounting purposes.",
            "Comply with legal requirements for tip reporting.",
            "Simplify the process of managing and distributing tips.",
            "Reduce administrative overhead associated with tip management."
          ],
          "general": [
            "Provides a clear and transparent record of tips.",
            "Accessible history of tips earnings.",
            "Easy to understand breakdown of tips by date and location."
          ]
        },
        "business_value": {
          "problem_solved": "Lack of transparency and easy access to historical tips data for employees and managers.",
          "value_proposition": "Provides a clear, accessible, and detailed history of tips earnings, enabling better financial tracking and management.",
          "differentiators": "Centralized and easily accessible tips history within the Ordio mobile app, integrated with time tracking and payroll systems.",
          "impact": "Improved employee satisfaction, reduced administrative burden, and enhanced financial transparency."
        },
        "use_cases": [
          {
            "scenario": "An employee wants to verify their tips earnings for the past month to ensure they received the correct amount.",
            "user_type": "employee",
            "benefit": "Allows the employee to quickly review their tips history and identify any discrepancies."
          },
          {
            "scenario": "A manager wants to analyze tip earnings across different shifts to optimize staffing levels.",
            "user_type": "manager",
            "benefit": "Provides the manager with data to make informed decisions about scheduling and resource allocation."
          },
          {
            "scenario": "The HR department needs to generate a report on total tips paid out to employees for tax reporting purposes.",
            "user_type": "hr_admin",
            "benefit": "Simplifies the process of generating accurate and compliant tax reports."
          },
          {
            "scenario": "An employee is planning their budget and needs to know their average tips earnings over the last few weeks.",
            "user_type": "employee",
            "benefit": "Empowers the employee to make informed financial decisions based on their historical tips data."
          }
        ],
        "value_statements": [
          "Easily track your tips earnings with a detailed history in the Ordio app.",
          "Gain transparency and control over your tips with Ordio's comprehensive tips history feature.",
          "Simplify tip management and reporting with Ordio's integrated tips history.",
          "Empower your employees with clear and accessible tips information using Ordio."
        ]
      }
    },
    {
      "screenshot_id": "IMG_2745",
      "sequence_index": 89,
      "png_path": "v2/img/mobile-app/screens/png/IMG_2745.png",
      "basic_info": {
        "screen_name": "Feature Vote",
        "feature_area": "other",
        "ui_elements": [
          "Search bar",
          "Trending filter",
          "List of feature suggestions",
          "Vote buttons",
          "Make a suggestion button"
        ],
        "functionality_visible": [
          "Vote for feature suggestions",
          "Search for feature suggestions",
          "Filter by trending",
          "Suggest a new feature"
        ],
        "navigation_paths": [
          "Tap X to close"
        ],
        "data_displayed": [
          "Feature suggestions",
          "Vote counts",
          "Feature status (Planned)"
        ],
        "user_actions": [
          "Tap",
          "Enter text in search bar",
          "Tap trending filter",
          "Tap make a suggestion"
        ],
        "visible_text_labels": [
          "Feature Vote",
          "Dein Ordio, deine Entscheidung!",
          "Welche Features wünschst du dir für deine Ordio App?",
          "Stimme ab oder schick uns deine eigenen Ideen.",
          "Search",
          "Trending",
          "Kalender Synchronisierung",
          "PLANNED",
          "Home Screen Widget",
          "Dark Mode",
          "Arbeitszeit-Auswertungen",
          "Apple-Watch App",
          "Punkte & Prämiensystem",
          "Make a suggestion"
        ],
        "one_line_description": "This screen allows users to vote for desired features and suggest new ones for the Ordio app.",
        "screenshot_id": "IMG_2745",
        "sequence_index": 89,
        "png_path": "v2/img/mobile-app/screens/png/IMG_2745.png"
      },
      "deep_understanding": {
        "screen_context": "The user is presented with this screen to provide feedback and vote on desired features for the Ordio app. It likely appears after a user interaction suggesting a desire for new features or as part of a general feedback collection process.",
        "user_goal": "The user wants to influence the development of the Ordio app by voting for features they find important or suggesting new ones.",
        "business_value": "This screen allows the company to gather user feedback and prioritize feature development based on user demand, leading to a more user-centric and valuable product. It also fosters a sense of community and user involvement.",
        "state_information": {
          "data_shown": "A list of suggested features with vote counts, including 'Kalender Synchronisierung', 'Home Screen Widget', 'Dark Mode', 'Arbeitszeit-Auswertungen', 'Apple-Watch App', and 'Punkte & Prämiensystem'. The vote counts indicate the popularity of each feature. The 'Planned' tag on 'Kalender Synchronisierung' indicates its development status.",
          "editable_fields": "The user can vote for existing features or suggest a new feature.",
          "read_only_fields": "The feature descriptions, vote counts, and the 'Planned' status are read-only.",
          "current_state": "The screen displays the current list of suggested features and their respective vote counts."
        },
        "interactions": [
          {
            "action": "Tap on a feature's vote button (represented by the number next to the up arrow)",
            "outcome": "The user's vote is recorded, and the vote count for that feature increases.",
            "next_state": "The vote count for the selected feature is updated.",
            "error_possibilities": "The vote may not be recorded due to network connectivity issues or a server error. The user may be prevented from voting multiple times for the same feature."
          },
          {
            "action": "Tap on the 'Make a suggestion' button",
            "outcome": "The user is taken to a screen where they can submit a new feature suggestion.",
            "next_state": "A screen for submitting a new feature suggestion is displayed.",
            "error_possibilities": "The button may be unresponsive due to a bug. The user may encounter an error if they try to submit an empty suggestion."
          },
          {
            "action": "Use the search bar to find a specific feature",
            "outcome": "The list of features is filtered to show only those that match the search query.",
            "next_state": "The list of features is filtered based on the search term.",
            "error_possibilities": "No results may be found if the search term does not match any existing features."
          },
          {
            "action": "Tap the 'Trending' button",
            "outcome": "The list of features is sorted by popularity (vote count).",
            "next_state": "The list of features is reordered based on the number of votes.",
            "error_possibilities": "The sorting may fail due to a bug or data error."
          },
          {
            "action": "Tap the 'X' button in the top right corner",
            "outcome": "The feature vote screen is closed.",
            "next_state": "The user returns to the previous screen.",
            "error_possibilities": "The screen may not close due to a bug."
          }
        ],
        "edge_cases": [
          "A user with no internet connection cannot vote or submit suggestions.",
          "A user may have already voted for all features and cannot vote again.",
          "The list of features may be empty if no suggestions have been made yet.",
          "The server may be down, preventing voting or suggestion submission.",
          "Different user roles might have different feature suggestions or voting rights.",
          "The app might have a limit on the number of suggestions a user can make."
        ],
        "benefits": "The screen allows users to actively participate in the development of the app, ensuring that the features they need and want are prioritized. It provides a platform for users to voice their opinions and contribute to the app's evolution.",
        "mental_model": "The screen supports a mental model of a democratic feature development process, where user feedback directly influences the app's roadmap. Users understand that their votes and suggestions have a tangible impact on the future of the app."
      },
      "relationships": {
        "connects_to": [
          {
            "screen_type": "other",
            "trigger": "Tap on 'Make a suggestion'",
            "data_passed": null,
            "purpose": "Allows users to submit their own feature suggestions."
          },
          {
            "screen_type": "other",
            "trigger": "Tap on the 'X' icon",
            "data_passed": null,
            "purpose": "Closes the feature vote screen."
          }
        ],
        "depends_on": [],
        "data_flow": "This screen displays a list of feature suggestions and allows users to vote on them. It also allows users to submit their own suggestions. Data flows in to display the list of suggestions and data flows out when a user votes or submits a suggestion.",
        "navigation_patterns": [
          {
            "pattern_type": "modal",
            "description": "This screen appears as a modal overlay on top of another screen."
          },
          {
            "pattern_type": "back",
            "description": "Users can dismiss this screen by tapping the 'X' icon."
          }
        ],
        "feature_dependencies": [
          "User feedback",
          "Feature prioritization"
        ],
        "alternative_paths": [
          "Users might not access this screen at all and rely on existing features.",
          "Users might provide feedback through other channels (e.g., customer support)."
        ]
      },
      "user_flows": {
        "user_journeys": [
          {
            "journey_name": "Vote for a feature",
            "goal": "Suggest or vote for a new feature in the Ordio app",
            "steps": [
              {
                "step_number": 1,
                "screen_type": "other",
                "action": "User navigates to the Feature Vote screen (likely from a menu or settings)",
                "outcome": "Feature Vote screen is displayed, showing a list of suggested features and a search bar."
              },
              {
                "step_number": 2,
                "screen_type": "other",
                "action": "User scrolls through the list of features or uses the search bar to find a specific feature.",
                "outcome": "User finds a feature they want to vote for or decides to suggest a new feature."
              },
              {
                "step_number": 3,
                "screen_type": "other",
                "action": "User taps on a feature to vote for it (presumably by tapping the up arrow next to the feature).",
                "outcome": "The vote is recorded, and the feature's vote count is updated."
              },
              {
                "step_number": 4,
                "screen_type": "other",
                "action": "Alternatively, the user taps on the \"Make a suggestion\" button.",
                "outcome": "User is taken to a screen where they can submit a new feature suggestion."
              }
            ],
            "happy_path": true,
            "alternative_paths": []
          }
        ],
        "error_recovery_flows": [],
        "flow_variations": []
      },
      "benefits": {
        "user_benefits": {
          "employee": [
            "Vote on desired features to improve the Ordio app.",
            "Suggest new features to tailor the app to individual needs.",
            "Access to features that streamline shift management and improve work-life balance (e.g., calendar sync, home screen widget).",
            "Potential for gamified rewards and recognition through a points and rewards system.",
            "Direct access to shift information and tools on Apple Watch."
          ],
          "manager": [],
          "hr_admin": [],
          "general": [
            "Influence the development of the Ordio app.",
            "Stay informed about upcoming features and improvements."
          ]
        },
        "business_value": {
          "problem_solved": "Users may have specific needs or desires for features not currently available in the Ordio app. This feature vote mechanism addresses this by allowing users to directly influence the app's development.",
          "value_proposition": "Gather user feedback and prioritize feature development based on user demand, leading to a more user-centric and valuable product.",
          "differentiators": "Direct user input into feature prioritization, fostering a sense of community and ownership.",
          "impact": "Increased user satisfaction, higher app adoption rates, and a product that better meets the needs of its users."
        },
        "use_cases": [
          {
            "scenario": "An employee wants to easily see their Ordio shifts in their personal calendar (e.g., Google Calendar, Apple Calendar). They vote for the 'Calendar Synchronization' feature.",
            "user_type": "employee",
            "benefit": "Seamless integration of work schedule with personal life, improving time management and reducing scheduling conflicts."
          },
          {
            "scenario": "An employee wants to quickly view their upcoming shifts without opening the Ordio app. They vote for the 'Home Screen Widget' feature.",
            "user_type": "employee",
            "benefit": "Convenient access to essential shift information, saving time and improving awareness of upcoming work commitments."
          },
          {
            "scenario": "An employee wants to use Ordio in a low-light environment. They vote for the 'Dark Mode' feature.",
            "user_type": "employee",
            "benefit": "Improved user experience in various lighting conditions, reducing eye strain and enhancing readability."
          },
          {
            "scenario": "An employee wants to track their work hours and analyze their work patterns. They vote for the 'Arbeitszeit-Auswertungen' feature.",
            "user_type": "employee",
            "benefit": "Better understanding of work habits, enabling improved time management and potential for optimizing work schedules."
          },
          {
            "scenario": "An employee wants to access their shift information directly from their Apple Watch. They vote for the 'Apple-Watch App' feature.",
            "user_type": "employee",
            "benefit": "Convenient and hands-free access to shift details, improving efficiency and accessibility."
          },
          {
            "scenario": "An employee wants to be rewarded for good work habits and performance. They vote for the 'Punkte & Prämiensystem' feature.",
            "user_type": "employee",
            "benefit": "Increased motivation and engagement through a gamified rewards system."
          }
        ],
        "value_statements": [
          "Shape the future of Ordio by voting on the features you want most!",
          "Your voice matters! Tell us what features will make Ordio even better for you.",
          "Help us build the perfect shift management app by suggesting your own ideas.",
          "Get the features you need to streamline your work life with Ordio's feature voting system.",
          "Influence the development of Ordio and make it the ultimate shift management tool."
        ]
      }
    }
  ],
  "failed": []
}