Add a 15-minute payment TTL (expires_at) plus patient_name/mobile/ national_code/gender/reason columns so a booking can hold a slot temporarily and record a patient distinct from the paying user. New markPendingWithTtl() sets the lock; transitioning out of pending clears expires_at. All columns nullable (migration added). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>