List Doctolib slots
Input
profile_path requiredRelative path (with ?pid=practice-N) or full profile URL from search_practitioners.profile_path.
days optionalNumber of days to read from start_date, 1 to 15 (Doctolib serves at most 15 days at once). For a longer span, call again with start_date moved forward by days. Default 14.
Default: 14motive optionalVisit-motive name substring (case-insensitive), e.g. 'première consultation', 'vidéo'. It must match exactly one of the practitioner's motives; when it matches several, the run fails and lists their ids, so pass motive_id. If omitted (and no motive_id), the first motive in Doctolib's order is used.
motive_id optionalExact visit-motive id (from search_practitioners.matched_visit_motive.id or this script's visit_motives). Takes precedence over motive; the deterministic way to target one of several same-named motives.
start_date optionalOptional ISO date YYYY-MM-DD where the window starts. Defaults to today (UTC). Use it to page through later windows.
Output
bookable requiredbooking_url requiredEntry point to Doctolib's booking funnel (motive/slot selection happens in-app; no per-slot deep link exists).
profile_path requiredvisit_motives requiredavailabilities requiredDays with at least one slot. Empty if none in window (see next_slot).
name optionaltotal optionalTotal slots in the scanned window.
motive optionalnext_slot optionalNext availability beyond the window when the window is empty; null when slots exist.
