The deal model
Every trade on VAMOS composes a handful of orthogonal dimensions, so a buy is a combination, not one item off a fixed list. Three questions shape it: what you pay for, when you buy it, and how you place the order.
| Dimension | Values |
|---|---|
| Product | Selling-title daypart, program, genre, rotator, run of network, sponsorship, or custom. Seller-defined, versioned, and optionally market-scoped. See Products. |
| Distribution | network, syndication, or spot: the layer the inventory sits in, composing with the product's optional market rather than duplicating it. See Products. |
| Buy type | preemptible, non_preemptible, fixed_position, or audience_guaranteed. See Buy types and guarantees. |
| Rate | Rate card keyed by advertiser class, creative length, buy type, clearance tier, and market class, within a card scoped open or to an agreement. Price locks at order time. See Rates. |
| Workflow | Catalog, document, or proposal. Wire values: the workflow enum. |
What you pay for
The buy type states the pay basis, what the seller stands behind, and who picks the spots. There are four wire values and three spot-cost buying patterns. There is no non-guaranteed CPM cell: a CPM is priced against a delivery guarantee, while a buyer taking delivery risk buys a spot cost.
| Buying pattern | Wire value | Pay basis | Seller stands behind |
|---|---|---|---|
| Preemptible | preemptible | Spot cost | No contractual airing guarantee; clearance_tier states priority. |
| Non-Preemptible | non_preemptible | Spot cost | The spot airs; placement within the product remains the seller's. |
| Fixed Position | fixed_position | Spot cost | The spot airs in the position bought. |
| Audience Guaranteed | audience_guaranteed | CPM | Delivered audience; shortfalls follow the make-good policy. |
The wire values live at the buy_type enum. The full guarantee semantics live on Buy types and guarantees.
When you buy
The same inventory prices differently by how far ahead you commit. The buying practices are the trade's: upfront, scatter, remnant, opportunistic. The wire needs fewer words than the trade does, because only two of those price differently on a card:
| Practice | When | Where it lives on the wire |
|---|---|---|
| Upfront | Ahead of the season | The agreement: commit a budget early (commitment_gross, pacing), price it on the agreement-scoped card, draw it down order by order. Not a market class, for the same reason negotiated pricing is not: the commitment is the relationship's fact. |
| Scatter | In-quarter | market_class: "scatter": the going rate as the quarter unfolds, no commitment. The default. |
| Remnant, opportunistic | Near air | market_class: "discounted": marked-down near-air inventory with a window and a signal. Whether it went unsold on a cadence or opened up late prices and behaves identically, so the wire carries one value and the story stays in prose. |
The commercial choice is guaranteed premium access versus flexible opportunistic access. Upfront and scatter are where that choice is expressed; discounted near-air inventory is its far end, and it remains preemptible.
How you place it
Send the seller a brief and let them build it, or take what is already published. Both are first-class:
- Proposal. Send an audience plan, campaign specs, or an open brief. On the wire, the request uses
workflow: "proposal"onPOST /ordersand carries arequestinstead of line items. The returned plan carriesbuy_typeper line. Accepting it books one order whatever mix of buy types it contains. See Proposals. - Catalog order. Pick published products, prices, and availability. Every order still passes the seller's gate: a person, or rules that person set. See Approve orders.
Sellers declare which buy types and market classes each product supports; buyers filter by them. Political buys are an advertiser_class that overlays any compatible buy type rather than a type of their own.