Availability and offers
check_availability can return address-resolution progress, FCC-reported coverage, live provider
qualification, or more than one of those at once. Preserve each useful result and its provenance.
FCC evidence is area-level
An FCC match means a provider reported serving the returned census block or tract as of the returned data date. It does not prove that the provider will serve the exact address, that the provider currently sells every listed plan, or that the FCC list is exhaustive. Describe it as reported coverage in the returned area. Do not say “available at this address” based only on FCC data.Live qualification is asynchronous
A live provider check attempts to qualify the resolved address. Its state is separate from the FCC state and can change across lookup revisions.
Polling reads the current snapshot. Starting again with the address creates a separate lookup and
can discard useful progress.
Common result combinations
Use the top-level
status, both source states, warnings, and next_action together. An empty
offers array is not a general no-service signal.
Address clarification
Hum can return up to five normalized candidates instead of silently choosing one. Show each candidate’sdisplay value and ask the user to select it. Return its exact candidate_id.
If the chosen candidate has requires_unit: true or the result requests unit, ask for that unit
and continue with {candidate_id, unit}. Do not guess a unit, alter a candidate ID, or replace the
candidate continuation with a new free-form address.
Candidate and lookup IDs are opaque scoped capabilities. Do not show them as user-facing order or
provider identifiers.
Qualification questions
Each question contains:question_id: the key to use inanswersprompt: the text to presenttype:string,boolean,single_choice, ordatechoices: allowed values for a single-choice questionrequired: whether an answer is requiredsensitivity:none,personal, orsensitive
question_set_id. Do not
invent an answer, select a default, answer a stale question set, or include extra answer keys. Apply
the host’s normal information-access and user-interaction policies when collecting answers.
Provider provenance and freshness
A provider’sprovenance can include fcc, live_provider_check, or both. Present the provenance
with the relevant data_as_of, checked_at, qualified_at, and expires_at fields. Do not combine
facts from different revisions into an apparently current offer.
qualification_status is evidence about Hum’s qualification process. It is not an order or
installation status.
Informational plans and executable offers
A provider can return two plan collections:
An executable offer includes:
- exact
offer_idandprovider_id qualification_revisionqualified_atandexpires_atorderable_through_hum: true- returned plan, pricing, fee, contract, data-limit, and condition facts
offer_id to validate_order. Never derive an ID from a plan name, send a
catalog plan ID, or substitute a similar offer.
Unknown facts
Prices and fees are integer cents with a currency code. A null field is unknown, not zero. Preserve unknown values for:- current and regular monthly price
- promotion length
- self or professional installation fee
- activation or recurring equipment fee
- contract requirement and duration
- download or upload speed
- data limit and other conditions
