Home / ADR

ADR Index

Detailed technical decisions. Start from the focused PRDs first.

IDTitle
00011. Separate Booking from Appointment
00022. Allow Guest Booking with Optional Client Account
00033. Use Shared Services with Psychologist-level Offerings
00044. Model Availability as Rules, Exceptions, and Concrete Slots
00055. Payment Success Gates Appointment Confirmation
00066. Minimize Client Data in Booking MVP
00077. Give Psychologists Scoped Self-Service
00088. Store Versioned Consent Records per Purpose
00099. Include Minimal Transactional Notifications
001010. Start with One Versioned Global Cancellation Policy
001111. Keep Rescheduling Administrative and Audited
001212. Use Asia/Jakarta as Operational Timezone
001313. Tie Availability Slots to Service Offerings
001414. Use a Ten-minute Configurable Slot Hold
001515. Track Operational Appointment Outcomes
001616. Support Multi-session Packages in MVP
001717. Schedule the First Package Session at Checkout
001818. Bind a Package to One Psychologist and Offering
001919. Give Packages a Visible Configurable Validity Period
002020. Scope Guest Access to the Booking or Package
002121. Use Email as Primary Transactional Channel
002222. Settle Packages with Full Upfront Payment
002323. Make Verified Gateway Webhook the Payment Truth Source
002424. Require Admin Review for Single-session Cancellation
002525. Keep Slot Reserved During Cancellation Review
002626. Consume Package Entitlements by Operational Outcome
002727. No-show Consumes Package Entitlement by Default
002828. Mark No-show After a Fifteen-minute Grace Period
002929. Handle Privacy Requests Through a Manual Workflow
003030. Allow Editors to Publish CMS Content Directly
003131. Separate Editorial Profile Copy from Protected Facts
003232. Assign Staff Roles Through Explicit Membership
003333. Give Psychologists Scoped Assigned-client Visibility
003434. Separate Package Catalog from Purchased Package Instance
003535. Reserve the First Package Entitlement at Checkout
003636. Start Package Validity at Verified Payment Success
003737. Schedule Package Sessions in Sequence
003838. Advance Package Sequence Past Closed Entitlements
003939. Reschedule with a Replacement Appointment
004040. Generate Availability on a Rolling Ninety-day Horizon
004141. Apply a Fifteen-minute Configurable Transition Buffer
004242. Snapshot Offering Values at Booking Payment Intent
004343. Limit ServiceOffering Overrides to Effective Booking Values
004444. Publish ServiceOfferings Through a Draft-published-archived Lifecycle
004545. Version Published ServiceOffering Changes
004646. Use Short-lived One-time ClientAccess Tokens
004747. Keep Guest Client Records Separate by Default
004848. Configure Package Validity per ServicePackage
004949. Keep Crisis Handling Outside the Booking Domain
005050. Record Refunds as Separate Payment Actions
005151. Separate Cancellation Intake from Admin Decision
005252. Include Transactional Appointment Reminders
005353. Use 24-hour and 2-hour Appointment Reminders
005454. Correct Appointment Outcomes Through Admin-only Events
005555. Calculate Package Validity as a Calendar Period
005656. Model Retention by Transactional Data Category
005757. Launch with One Payment Gateway Behind an Adapter
005858. Make Psychologist Availability Changes Effective for Future Generation
005959. Reconcile Late Payment After SlotHold Expiry
006060. Resolve Package Unavailability Explicitly
006161. Regenerate Only Uncommitted Future Availability Slots
006262. Restore Entitlements Without Resetting Expiry
006363. Keep Package Refunds Manual at Purchase Level
006464. Use Required WhatsApp Follow-up for Paid Confirmed Bookings
006565. Keep Cancellation and Refund Records Internal and Minimal
006666. Keep Admin WhatsApp as Flexible Manual Support
006767. Execute Cancellation and Refund Through Admin CMS
006868. Select Midtrans Snap for Launch Payments
006969. Keep Launch Payment Methods Minimal
007070. Separate Public Program Pillars from Bookable Launch Scope
007171. Launch Counseling Before Psychological Assessment
007272. Launch Counseling Online and Offline
007373. Standard Counseling Session Duration
007474. Launch Counseling Catalog and Prices
007575. Start Launch with One Confirmed Psychologist
007676. Case-by-Case Cancellation Without Automatic Cutoff
007777. Restrict Launch Refunds to Full or No Refund
007878. One Admin May Execute Separate Cancellation and Refund Actions
007979. Launch with Admin and Psychologist Staff Roles
008080. Staff Access via Google SSO and Explicit Membership
008181. Bootstrap Two Admins for Recovery
008282. Joint Privacy and Consent Sign-off
008383. Retain Client and Contact Data for 12 Months
008484. Retain Payment and Refund Records by Audit/Legal Policy
008585. Retain Consent with Related Records and Policy Requirements
008686. Retain Audit and Security Metadata by Policy
008787. Redact Direct Client Identifiers and Preserve Minimal Pseudonymous Links
008888. Separate PRD Handoff from Production Launch Gate
008989. Single Application Architecture — Cloudflare Worker + D1 with PersistenceAdapter Seam
009090. Couple Package Participant Model
009191. Capacity Overlap and TransitionBuffer Placement
009292. Finalize Appointment Outcome Timing, Late-arrival, and Correction Window
009393. Payment Settlement Uniqueness and `paid_late` Package Effects
009494. Intake Field Schema, Minor (16–17) Guardian Route, Eligibility Boundary, and Booking Cutoff
009595. Package Cancellation Matrix and Outcome Race Resolution
009696. Launch-Gate Executable Checklist (Matrix §7 → owner-by-owner)
009797. WhatsApp Manual Payment Flow for MVP Launch