Add a stop/leg to a program. Params: id (program uuid) + body { templateId OR label (at least one required), dayNumber, notes, kind (tour|activity|place|meal|transfer|free_time|accommodation|info), startTime (HH:MM, OPTIONAL -- do NOT pass it if the time is unknown; the order is already set by dayNumber + insertion order/reorder_program_items), locationText (stop name/address for the map route), locationLat, locationLng, durationMin, headsetPolicy }. headsetPolicy (null clears) = { level: required|recommended|optional, groupThreshold? (int 1..500, applies to groups LARGER than this), reason (1..300, short rule summary or rationale, in the content's language), sourceUrl? (https only; REQUIRED when level=required), sourceLabel? (1..120) }. Only set level=required when a written rule exists and you have its https source; never invent rules. Copied into trips created from this program.