application-flow.md
docs/02-business-flow/application-flow.md
Contoh isi file untuk sistem antrian. Sesuaikan dengan implementasi proyek Anda.
# Application flow
Contoh happy path:
1. Login menghasilkan access token.
2. Client mengirim POST /api/v1/antrian dengan service_code dan Idempotency-Key.
3. Backend memvalidasi identitas, input, dan kapasitas.
4. Transaksi lokal menyimpan antrian, hasil idempotency, dan outbox event.
5. Setelah commit, response 201 berisi antrian_id dan status waiting.
6. Worker mengirim notifikasi secara asynchronous.
7. Client memakai GET /api/v1/antrian/{antrian_id} untuk membaca status.
Jika input tidak valid: 422. Jika kapasitas habis atau key dipakai untuk payload berbeda: 409. Jika timeout setelah write, cek hasil atau ulangi payload yang sama dengan key yang sama. Notifikasi gagal tidak membatalkan antrian.