Update android_handler.py to add positive-intent booking: • Detect inbound “yes/keen/book/come in/when can I pop in/let’s do it/ok to book” (UK phrasing, case-insensitive). • When matched: 1. Reply with a short qualifier (template appt_qualify): ask preferred day/time, need courtesy car, and best contact number if different; keep friendly UK tone; do not discuss payments. 2. Create appointment_request row: (agreement_id, requested_by='ai', channel='whatsapp', status='new', notes='Prospect agreed to book (auto)', preferred_date/time NULL initially). 3. Log to contact_history with: • inbound: intent_label='positive_intent' • outbound: intent_label='appt_qualify', template_slug='appt_qualify', include full message_text 4. Keep thread OPEN. • If the customer replies with a specific date/time (“Friday 10:30”, “tomorrow afternoon”), parse lightly (day word + time) and update the matching appointment_request (latest status='new') with preferred_date/preferred_time. Send a soft hold confirmation (template appt_confirm_hold) stating a colleague will ring to firm it up. • Guardrails: • Respect ok_to_reply() hours (06:00–23:59:59 UK). If outside, defer send. • Never promise payments or “same monthly”; language must steer to an appointment. • Add a tiny helper parse_when(text) to recognise simple UK phrases: tomorrow, Friday, Monday, “next week”, and times like “10:30”, “half ten”, “midday”, “after work”. Return a dict with date_uk, time_uk or None. • No changes to manager handover yet (we’ll add notification in the next step). Also insert two WhatsApp templates in reply_template if missing: • appt_qualify (purpose=task, active=true, max_len=400): “Brilliant — I can get that arranged. What day/time suits you best to pop in? Do you need a courtesy car? If there’s a better number to reach you on, let me know and I’ll pass this straight to the team to confirm.” • appt_confirm_hold (purpose=task, active=true, max_len=360): “Perfect — I’ve noted {{when_summary}}. I’ll ask one of the team to give you a quick ring to firm up the slot. If anything changes, just message me here.”