Skip to content

Acceptance Criteria — Accident Assistant (AA)

User Story

As a vehicle owner who has just had an accident I want to start a guided report-accident flow — pick my vehicle; enter when/where the accident happened, what happened, and who else was involved (Step 1); capture damage photos and video (Step 2); upload accident/vehicle documents (Step 3); and mark the damaged vehicle parts (Step 4) So that my accident is captured with enough structured detail for a claim/repair to be processed, and I can then request a repair-cost estimate, find a nearby repair shop, a lawyer, or an expert, and send a PDF report by email

Scenario-based AC — Given / When / Then

AC ID Scenario Jira Type Criticality Given (context) When (action / trigger) Then (expected outcome) Linked TCs Status
AC-AA-01 Starting the flow shows the user's vehicle list RC-110 Happy 🔴 Critical User is on the Home page User taps Accident Assistance (Unfallhilfe) The "Report Accident" flow starts
And the user's existing vehicle list is displayed
TC-AA-001 Draft
AC-AA-02 User can add a new vehicle from the vehicle-selection screen RC-110 Happy 🟡 Medium User is on the vehicle-selection screen of the Report Accident flow User chooses to add a new vehicle instead of selecting an existing one The add-vehicle flow opens TC-AA-002 Draft
AC-AA-03 Selecting a vehicle navigates to the Overview page RC-110 Happy 🔴 Critical User is on the vehicle-selection screen
And at least one vehicle is listed
User selects a vehicle and taps Report accident The user is navigated to the Overview page TC-AA-003 Draft
AC-AA-04 Overview page shows the outline of all report steps RC-110 Happy 🔴 Critical User is on the Overview page User views the page An outline of the steps required to report the damage is displayed TC-AA-004 Draft
AC-AA-05 Next on the Overview page opens Step 1: Accident Details RC-110 Happy 🔴 Critical User is on the Overview page User taps Next The user is navigated to Step 1: Accident Details TC-AA-005 Draft
AC-AA-06 User selects the date and time the accident happened RC-110 Happy 🔴 Critical User is on the Step 1: Accident Details page User selects a value for Datum (date) and Uhrzeit (time) The selected date and time are set on the form TC-AA-006 Draft
AC-AA-07 User manually types the accident location RC-110 Happy 🔴 Critical User is on the Step 1: Accident Details page User types a location into "Wo ist der Unfall passiert?" The typed value is set as the location TC-AA-007 Draft
AC-AA-08 Map icon opens a map view auto-detecting current location RC-110 Happy 🟠 High User is on the Step 1: Accident Details page User taps the map icon next to the location field A map view opens
And it auto-detects and centers on the user's current location
TC-AA-008 Draft
AC-AA-09 User can adjust the pin or search for a different location on the map RC-110 Happy 🟠 High The map view is open User drags the pin, or searches for an address The map updates to reflect the newly selected location TC-AA-009 Draft
AC-AA-10 Confirming a map location populates the location field RC-110 Happy 🔴 Critical The map view is open with a location selected User confirms the selected address The map closes
And "Wo ist der Unfall passiert?" is populated with the confirmed address
TC-AA-010 Draft
AC-AA-11 Incident-type field shows the 4 defined options RC-110 Happy 🔴 Critical User is on the Step 1: Accident Details page User taps "Was ist passiert?" A dropdown opens listing exactly: "Unfall mit weiteren Beteiligten", "Unfall ohne weitere Beteiligte", "Zusammenstoß mit einem Tier", "Sonstiger Schaden" TC-AA-011 Draft
AC-AA-12 Selecting an incident type sets the field value RC-110 Happy 🟠 High The incident-type dropdown is open User selects one option The dropdown closes
And the field displays the selected option
TC-AA-012 Draft
AC-AA-13 Proceed is unavailable while the Step 1 form is incomplete RC-110 Negative 🟠 High User is on the Step 1: Accident Details page
And at least one of Datum / Uhrzeit / location / incident type is not yet filled
User attempts to tap Proceed Proceed is disabled/unavailable and the form is not submitted TC-AA-013 Draft
AC-AA-14 Proceed on a complete Step 1 form opens Parties Involved RC-110 Happy 🔴 Critical User is on the Step 1: Accident Details page
And Datum, Uhrzeit, location, and incident type are all filled
User taps Proceed The user is navigated to the Parties Involved (Unfallbeteiligte) section — not a blank page TC-AA-014 Draft
AC-AA-15 Parties Involved shows the add-parties prompt with a 5-person limit RC-110 Happy 🔴 Critical User has just entered the Parties Involved section User views the screen A "Beteiligte hinzufügen" (Add parties) prompt with a "+" icon is shown, stating a maximum of 5 people can be added TC-AA-015 Draft
AC-AA-16 "+" opens the add-party form RC-110 Happy 🔴 Critical User is on the Parties Involved section User taps the "+" icon A new screen opens to enter that party's information, including the "Beteiligt als" (party-type) field TC-AA-016 Draft
AC-AA-17 Selecting "PKW Fahrer" renders the driver-specific form RC-110 Happy 🔴 Critical The add-party form is open User selects "PKW Fahrer" in the "Beteiligt als" field The form renders driver fields: vehicle plate (Kennzeichen) plus contact details (name, phone, email, address) TC-AA-017 Draft
AC-AA-18 Selecting "Fußgänger" renders the pedestrian-specific form RC-110 Happy 🔴 Critical The add-party form is open User selects "Fußgänger" in the "Beteiligt als" field The form renders pedestrian fields: contact details only (name, phone, email) — no vehicle plate field TC-AA-018 Draft
AC-AA-19 Adding a party returns to the list showing the new entry RC-110 Happy 🟠 High The add-party form is filled with valid data User taps Add The user returns to the Parties Involved list
And the newly added party is shown with its type badge (e.g. "PKW-Fahrer")
TC-AA-019 Draft
AC-AA-20 Parties Involved cannot exceed 5 added parties RC-110 Edge 🟡 Medium The Parties Involved list already has 5 parties added User attempts to add another party The system prevents adding a 6th party (e.g. the "+ Add" action is unavailable) TC-AA-020 Draft
AC-AA-21 User can proceed with zero parties when there are no other parties involved RC-110 Alternate 🟡 Medium Incident type is "Unfall ohne weitere Beteiligte" (accident without other parties)
And no party has been added
User taps Proceed on the Parties Involved screen Step 1 completes without requiring any added party TC-AA-021 Draft
AC-AA-22 Proceed on Parties Involved completes Step 1 and returns to Overview RC-110 Happy 🔴 Critical User is on the Parties Involved section (parties added or intentionally skipped per AC-AA-21) User taps Proceed Step 1 (Accident Details) is marked complete
And the user is redirected to the Overview page, ready to continue with Step 2
TC-AA-022 Draft
AC-AA-23 Entering Step 2 shows the Accident Photo and Video checklist RC-110 Happy 🟠 High User has completed Step 1 (Accident details) and returns to the Overview User opens Accident Photo and Video (or continues via Next) The checklist is shown: "Capture photos" (IN PROGRESS, REQUIRED), "Upload or record video" (NOT STARTED, REQUIRED), "Capture additional photos" (NOT STARTED, OPTIONAL) TC-AA-026 Draft
AC-AA-24 Tapping "Capture photos" opens the damage-area selection diagram RC-110 Happy 🟠 High User is on the Accident Photo and Video checklist User taps the Capture photos item A vehicle diagram opens with the prompt "Wählen Sie die Bereiche aus, auf denen ihr Fahrzeug beschädigt ist" TC-AA-027 Draft
AC-AA-25 Damage-area screen lists all 9 vehicle zones RC-110 Happy 🟡 Medium User is on the damage-area selection screen User views the diagram All 9 zones with camera icons are shown: Vorne links, Vorne, Vorne rechts, Links, Dach, Rechts, Hinten links, Hinten, Hinten rechts TC-AA-028 Draft
AC-AA-26 Tapping a zone's camera icon opens a guided camera RC-110 Happy 🟠 High User is on the damage-area selection screen User taps the camera icon on a zone The camera opens with a translucent vehicle-outline overlay and the prompt "Please take a closeup shot of the damage" TC-AA-029 Draft
AC-AA-27 Captured photo offers Re capture or Done before confirming RC-110 Happy 🟡 Medium The guided camera is open for a zone User captures a photo A preview is shown with Re capture and Done options TC-AA-030 Draft
AC-AA-28 Confirming a photo marks that zone as captured RC-110 Happy 🟠 High A photo preview is shown with Re capture/Done User taps Done The user returns to the damage-area diagram
And the captured zone is visually marked as done
TC-AA-031 Draft
AC-AA-29 "Done" on the zone-selection screen completes the Capture-photos requirement RC-110 Happy 🔴 Critical At least one zone photo has been captured User taps Done on the damage-area screen The user returns to the checklist
And "Capture photos" is marked complete
TC-AA-032 Draft
AC-AA-30 User can upload or record a video for damage documentation RC-110 Happy 🔴 Critical User is on the Accident Photo and Video checklist User taps Upload or record video and records or selects a video The video is attached and "Upload or record video" is marked complete TC-AA-033 Draft
AC-AA-31 "Capture additional photos" is optional and can be skipped RC-110 Alternate 🟡 Medium "Capture photos" and "Upload or record video" are already complete User does not interact with Capture additional photos Step 2 can still be completed; the optional item remains NOT STARTED without blocking progress TC-AA-034 Draft
AC-AA-32 Completing both required items marks Step 2 COMPLETED on the Overview RC-110 Happy 🔴 Critical "Capture photos" and "Upload or record video" are both complete User navigates back to the Overview "Accident Photo and Video" shows status COMPLETED TC-AA-035 Draft
AC-AA-33 Step 2 stays IN PROGRESS while a required item is missing RC-110 Negative 🟠 High "Upload or record video" has not been completed User navigates back to the Overview without completing the video "Accident Photo and Video" still shows IN PROGRESS, not COMPLETED TC-AA-036 Draft
AC-AA-34 Entering Step 3 shows the four document-upload sections, two marked required RC-110 Happy 🟠 High User has completed Step 2 and continues to Step 3 User opens Upload vehicle documents A banner reads "Select document to upload (*Required)"
And four sections are shown, each with "Upload file": Additional pictures and documents * (required), Damage preview page * (required), Details damage 1 (optional), Other (optional) — required sections are marked with a red asterisk
TC-AA-037 Draft
AC-AA-35 "Upload file" opens the document camera with corner-guide instructions RC-110 Happy 🟠 High User is on the Upload vehicle documents screen User taps Upload file for a document section The camera opens with the prompt "Please capture the document with all four corners visible" TC-AA-038 Draft
AC-AA-36 Multi-page capture shows a page counter RC-110 Happy 🟡 Medium The document camera is open for a section User captures multiple pages in sequence A page counter (e.g. "1/4") tracks the captured pages TC-AA-039 Draft
AC-AA-37 Captured pages appear as removable thumbnails RC-110 Happy 🟡 Medium At least one page has been captured for a document section User returns to the Upload vehicle documents screen The captured pages are shown as thumbnails under their section, each with an "x" to remove TC-AA-040 Draft
AC-AA-38 User can remove an uploaded page RC-110 Happy 🟡 Medium A document section has ≥1 captured page thumbnail User taps the "x" on a thumbnail The page is removed from that document section TC-AA-041 Draft
AC-AA-39 "Fortfahren" (Continue) completes Step 3 once both required documents are uploaded RC-110 Happy 🔴 Critical Both required documents — Additional pictures and documents and Damage preview page — have been uploaded User taps Fortfahren (Continue) The user returns to the Overview
And "Capture vehicle documents" shows status COMPLETED
TC-AA-042 Draft
AC-AA-58 "Fortfahren" stays disabled while a required document is missing RC-110 Negative 🟠 High At least one of the two required documents (Additional pictures and documents, Damage preview page) has not been uploaded User views the Upload vehicle documents screen Fortfahren (Continue) is disabled/unavailable
And the user cannot proceed to the Overview
TC-AA-066 Draft
AC-AA-59 Optional documents can be skipped RC-110 Alternate 🟡 Medium Both required documents are uploaded
And Details damage 1 and Other are not uploaded
User taps Fortfahren (Continue) Step 3 completes successfully without the two optional documents TC-AA-067 Draft
AC-AA-40 Entering Step 4 shows the AI-results intro screen with an auto-proceed countdown RC-110 Happy 🟡 Medium User has completed Step 3 and continues to Step 4 User opens Vehicle part details An intro screen shows "Please learn how to add vehicle part details / Review our AI Results..." with a "Proceed in N seconds" countdown TC-AA-043 Draft
AC-AA-41 The countdown (or manual Proceed) opens the Vehicle part details editor RC-110 Happy 🟠 High The AI-results intro screen is shown with its countdown running The countdown reaches zero, or the user taps Proceed The Vehicle part details editor opens TC-AA-044 Draft
AC-AA-42 Vehicle part details shows a tappable front-side car diagram RC-110 Happy 🟠 High User is on the Vehicle part details editor User views the Part detail tab A FRONT SIDE car diagram is shown with labeled, tappable parts (Hood, Windshield, R./L. Headlight, R./L. Bumper, Grill) TC-AA-045 Draft
AC-AA-43 First-time guidance walks the user through adding damage RC-110 Happy ⚪ Low User opens Vehicle part details for the first time User views the screen Guided tooltips appear in sequence: "Please tap on the parts to add damage" → "Please tap on the button to add damage" (Add damaged part+) TC-AA-046 Draft
AC-AA-44 Tapping a car part opens the damage-entry panel for that part RC-110 Happy 🟠 High User is on the Vehicle part details editor User taps a part on the diagram (e.g. L.Headlight) and taps Add damaged part+ A damage-entry panel opens for the selected part TC-AA-047 Draft
AC-AA-45 Damage-entry panel supports selecting more than one damage type RC-110 Happy 🟡 Medium The damage-entry panel is open for a part User selects multiple damage types (e.g. Crack, Dent, Scratch) All selected damage types are applied to that part (e.g. shown later as "Scratch, Dent") TC-AA-048 Draft
AC-AA-46 User sets the damaged car part, side 1, and side 2 RC-110 Happy 🟠 High The damage-entry panel is open User selects Damaged car part (e.g. Backlight), Damaged side 1 (Front/Rear), Damaged side 2 (Left/Right) The selections are set on the entry form TC-AA-049 Draft
AC-AA-47 "Add" saves the damaged-part entry to the list RC-110 Happy 🔴 Critical The damage-entry panel is filled with damage type, part, side 1, side 2 User taps Add The entry appears in "List of damaged parts" with a summary (e.g. "Rear left backlight — Scratch") and an edit (pencil) icon TC-AA-050 Draft
AC-AA-48 User can switch between FRONT SIDE and REAR SIDE diagrams RC-110 Happy 🟡 Medium User is on the Vehicle part details editor User taps the left/right arrow controls next to the side label The diagram switches between FRONT SIDE and REAR SIDE, showing the relevant parts TC-AA-051 Draft
AC-AA-49 "Select All" and the trash icon bulk-remove damaged-part entries RC-110 Happy 🟡 Medium ≥1 damaged part is listed User taps Select All (or selects individual entries) then taps the trash icon The selected entries are removed from "List of damaged parts" TC-AA-052 Draft
AC-AA-50 "Done" completes Step 4 and marks all four steps COMPLETED RC-110 Happy 🔴 Critical ≥1 damaged part has been added (or the AI review has been reviewed) User taps Done The user returns to the Overview
And "Vehicle part details" — and all four steps — show status COMPLETED
TC-AA-053 Draft
AC-AA-51 All steps COMPLETED shows the "Thank you" summary RC-110 Happy 🔴 Critical All four steps (Accident details, Accident Photo and Video, Capture vehicle documents, Vehicle part details) are COMPLETED User views the Overview "Thank you for completing all the steps" is shown with all four items marked COMPLETED TC-AA-054 Draft
AC-AA-52 The summary lists four next-action options RC-110 Happy 🟠 High User is on the "Thank you" summary screen User views "Please choose what to do next with your damaged vehicle" Four options are listed: Request for repair cost, Check repair shops near me, Find me a lawyer, Find me an expert, each with a short description TC-AA-055 Draft
AC-AA-53 Requesting an action shows its status as "Appointment requested" RC-110 Happy 🟡 Medium User is on the "Thank you" summary screen User selects one of the four next-action options and completes its request flow The option shows "Appointment requested" together with the assigned provider/contact details (e.g. name, address) TC-AA-056 Draft
AC-AA-54 User can add one or more recipient email addresses to "Send report" RC-110 Happy 🟠 High User is on the "Thank you" summary, "Send report" section User types an email address and taps Add The email appears as a chip/tag in the recipient list; user can repeat to add more TC-AA-057 Draft
AC-AA-55 User can remove an added email address before sending RC-110 Happy 🟡 Medium ≥1 email chip has been added to "Send report" User taps the remove ("x") on an email chip The email is removed from the recipient list TC-AA-058 Draft
AC-AA-56 "Send report" is disabled until the Privacy Policy is agreed RC-110 Negative 🔴 Critical ≥1 recipient email has been added
And the "I have read and agree to the Privacy Policy" checkbox is unchecked
User attempts to tap Send report Send report remains disabled and no report is sent TC-AA-059 Draft
AC-AA-57 Sending the report generates a PDF and emails it to the added addresses RC-110 Happy 🔴 Critical ≥1 recipient email is added
And the Privacy Policy checkbox is checked
User taps Send report A PDF report is generated and sent to each added email address TC-AA-060 Draft

Business Rules (rule-based AC)

Rule ID Business Rule Jira Rationale / Source Criticality Linked TCs Status
BR-AA-01 A single accident report accepts at most 5 involved parties. RC-110 Ticket: "add details for multiple parties involved... up to a maximum limit of 5 persons" 🔴 Critical TC-AA-020 Draft
BR-AA-02 Step 1 accident data (date/time, location, incident type, parties) is persisted via an API that supports both create and edit (save/edit), documented in Swagger. RC-110 Ticket: "Backend: Create an API to store this data... API can save/edit these information. Add a new API to Swagger" 🟠 High TC-AA-023 Draft
BR-AA-03 Tapping "Proceed" (Fortfahren) on the Accident Details step must always navigate to the Parties Involved section — it must never leave the user on a blank/broken page. RC-110 Ticket comment (PM-AiVan, 2026-07-14): "When clicking the 'Fortfahren' button on the first page, it redirects to a blank page" — regression guard for a previously reported defect 🟠 High TC-AA-024 Draft
BR-AA-04 The "Beteiligt als" (party-type) selection determines which fields render on the add-party form: PKW Fahrer (driver, includes vehicle plate) vs Fußgänger (pedestrian, no vehicle plate). RC-110 Ticket: "The UI will adapt based on the selected role" 🟡 Medium TC-AA-025 Draft
BR-AA-05 In Accident Photo and Video, "Capture photos" and "Upload or record video" are REQUIRED while "Capture additional photos" is OPTIONAL; the step can only be marked COMPLETED once both required items are done. RC-110 Screens tag each checklist item IN PROGRESS/NOT STARTED plus REQUIRED/OPTIONAL 🟠 High TC-AA-032, TC-AA-036, TC-AA-061 Draft
BR-AA-06 The damage-type field on Vehicle part details supports multi-select — a single part can carry more than one damage type simultaneously (e.g. "Scratch, Dent"). RC-110 Observed in UI: "Rear right backlight — Scratch, Dent" 🟡 Medium TC-AA-048, TC-AA-062 Draft
BR-AA-07 "Send report" stays disabled until the user agrees to the Privacy Policy, regardless of how many recipient emails have been added. RC-110 UI: unchecked "I have read and agree to the Privacy Policy" gates the Send report action 🔴 Critical TC-AA-059, TC-AA-063 Draft
BR-AA-08 The Overview only shows "Thank you for completing all the steps" once all four steps — Accident details, Accident Photo and Video, Capture vehicle documents, Vehicle part details — are COMPLETED. RC-110 UI: summary screen only appears alongside four COMPLETED step rows 🟠 High TC-AA-054, TC-AA-064 Draft
BR-AA-09 Of the four document sections on Upload vehicle documents (Step 3), exactly two are REQUIRED — Additional pictures and documents and Damage preview page (marked with a red asterisk *) — and two are OPTIONAL — Details damage 1 and Other. Fortfahren (Continue) stays disabled until both required documents are uploaded; the two optional ones may be left empty. RC-110 Confirmed by stakeholder 2026-08-06 against updated screen 01_Features/accident/wa_accident_assistant/screens/Screenshot 2026-08-06 at 17.03.24.png (supersedes the earlier Polizeibericht/Versicherungsschein/Fahrzeugschein screen, which showed no REQUIRED/OPTIONAL tags) 🟠 High TC-AA-037, TC-AA-066, TC-AA-067 Draft

Column Guide

Column Description Values / Format
AC ID Unique scenario id — TCs trace back to this AC-AA-NN
Rule ID Unique business-rule id — TCs trace back to this BR-AA-NN
Scenario Short title of the behaviour, start with an action verb Plain text
Jira The ticket this AC came from [RC-110](url)
Type Class of scenario Happy / Alternate / Negative / Edge / Permission
Criticality Impact if this AC fails — drives the verifying TC's priority 🔴 Critical / 🟠 High / 🟡 Medium / ⚪ Low
Given Precondition / context true before the action One state per clause; <br>And … to compound
When The single action or event that triggers behaviour One trigger
Then Observable, verifiable outcome — pass/fail must be objective Include error code / message / state where relevant
Linked TCs TCs in 01_Features/accident/wa_accident_assistant/wa_accident_assistant_tc.md that verify this AC TC-AA-NNN, comma-separated
Status Review state of the criterion Draft / Reviewed / Approved

Traceability

Jira ticket  ──▶  AC-AA-NN / BR-AA-NN  ──▶  TC-AA-NNN
 (the why)         (the what — this file)                  (the how to verify)
  • Upward: header SRS ref + each row's Jira column link the AC to its source.
  • Downward: the Linked TCs column lists the test cases that verify each AC.
  • Coverage rule: every Critical and High AC and every business rule must have ≥1 Linked TC. Flag any such AC with zero TCs as a coverage gap. Conversely, every TC must name the AC it verifies — no orphan TCs.