← Back to product·Simulmedia Switchboard Docs · v1 draft·Concepts / Rates
Concepts

Rates

Sellers set prices as versioned rate cards; buyers see the card their relationship earns. A card can be open to everyone, scoped to one buyer, or minted per campaign as a quote. Price locks at order time against the card version you quote, however it was disclosed. Publishing a card is one disclosure posture, not the only one.

Rate cards

Rates resolve per (package, week) and key on advertiser class, creative length, guarantee tier, clearance tier, and market class, within a card scoped open or to your agreement. Cards are versioned commits with effective windows. The rate entry's class field carries the market timing (the market class): scatter is the everyday in-quarter rate, upfront is a committed forward rate, and remnant and opportunistic entries carry a window and an optional signal payload agents can trigger on. Negotiated rates are not a market class: they are agreement-scoped cards, visible only when you present your agreement. Political (LUR) is an advertiser_class, not a market class, so it composes with any of the above. Rates are stated honestly as gross_rate_unit and gross_rate_weekly: the platform never back-computes one from the other.

Buyer-scoped cards: your deal ID

Beyond advertiser class, sellers can mint rate cards scoped to a single agreement: rates only you can see, only you can transact. If you have negotiated pricing with a seller, presenting your agreement unlocks that card, exactly the way bringing your deal ID unlocks negotiated floors in programmatic. The open catalog is the everyone-else price; the agreement is proof of the relationship.

Quotes: priced per campaign

Some sellers do not keep a standing number at all; they quote each campaign on its merits, the "market price" posture. A quote is not a separate pricing engine: it is a rate-card commit with commit_kind: "quote", scoped to your agreement and carrying a quote_expires_at, returned inside a plan. It enters the catalog like any commit and locks under the price-clearance invariant the moment you confirm. Let a quote lapse and it becomes a stale card: you re-request, and nothing books at an expired price. The platform never forms the number; it carries the seller's quote exactly as it carries a published rate.