Open-source telecoms. Operator-controlled.0.7.0-dev / Development preview ↗
Search all guides

Evidence is not a reservation

A receipt records what the server observed within a particular customer and resource scope.

Scope and expiry

Offer evidence is isolated by kind, account, product and resource. The reference accepts scoped evidence no older than 30 minutes after a fresh successful broad availability read. Future, forged, expired or foreign evidence is rejected. Session evidence is bounded to 5,000 offers per scope and 16 scopes.

Keep original offer age

Server receipts contain resource_id, account_id, product_id, number, offered_at and verified_at. Verification must not renew offered_at. Persist receipts privately with their actual order line, never accept them as client-created authority.

Handle delayed orders honestly

Without valid offer evidence, the number must appear in the fresh carrier batch unless the operator has a separately verified reservation mechanism. Duplicate allocation protection and real reservation guarantees belong to authoritative provisioning. Neither an HTTP 200 nor a search selection creates that guarantee.

Evidence fields and their meaning

Evidence fields and their meaning
FieldAuthority
resource_idActual source resource, checked against immutable order origin
account_id / product_idVerified customer and product scope
numberCanonical selected number
offered_atOriginal server-observed carrier offer time; never renewed by checkout
verified_atTime of verification, not a new carrier-offer timestamp

Worked delayed-order case

  1. An offer is observed

    The server records it within the current account, product and resource scope.

  2. The customer completes checkout later

    Checkout keeps the original offered_at; its own verification time does not refresh the offer.

  3. Fulfilment occurs after the evidence expires

    Require the number in a fresh carrier batch or a separately verified operator reservation workflow. Do not allocate based on the old browser selection.