---
id: OV-C4-POS-007
title: "Kirim Semua bulk sync is atomic per visitation with mixed outcomes"
product: mobile
module: offline-visitation
type: integration
priority: P0
risk: critical
status: draft
automationStatus: planned
sourceRefs:
  tsd: PK144
  tsdSection: C4
  tsdScenario: C4.6
  prd: PK144
  jira: null
automationRef: null
lifecycleStatus: active
lifecycleReason: "AI-generated draft from PK144 TSD C4.6; pending QA review."
lastReviewedAt: null
reviewedBy: null
supersededBy: null
duplicateOf: null
blockedBy: null
preconditionRefs:
  - PRE-OV-gagal-kirim-has-items
tags:
  - mobile
  - offline-visitation
  - sync
  - perlu-dikirim
  - pk144
  - staging
---
## Objective
Verify bulk sync transitions all eligible items and resolves each visitation atomically.

## Preconditions
- See [[PRE-OV-gagal-kirim-has-items]]
- And the network is GOOD with eligible items present

## Steps
1. When the employee taps "Kirim Semua"

## Expected Result
- Then all eligible items transition to "Mengirim" simultaneously and send actions are disabled while sending
- And per-item outcome is atomic per visitation: success → removed from queue, visit in Riwayat; failure → the entire visitation stays "Gagal Terkirim" (no partial success)
- And with mixed outcomes, successful items are removed while failed items remain

## Source Traceability
- TSD: PK144
- Section: C4 - Sync Strategy
- Scenario: C4.6 - Kirim Semua: bulk sync execution
- Acceptance Criteria: M.21 AC3–AC6

## Evidence Required
- Screen recording of bulk sync with at least one success and one failure.

## Notes / Gaps
- Atomicity detail asserted in OV-C4-NEG-011 (C4.9).
