← Back to product·Simulmedia Switchboard Docs · v1 draft·Concepts / The object model
Concepts

The object model

Twelve objects carry every transaction on Switchboard. A seller publishes five of them; a buyer sends one; the rest flow back. If you map your systems to these shapes, the whole API follows.

SELLER PUBLISHES THE TRADE FLOWS BACK capability_profile package pool rate entry avail slot order agreement order_event negotiation delivery_post on a date {package_id}:{date} line_items[] books gates terms locks rate emits, per-order seq counters park here post-air actuals buyer-scoped cards

How to read it

  • The seller publishes. A package is the sellable unit. Its weekly prices are rate entries; its availability statements are avails; packages that share capacity declare a pool. The capability_profile tells the platform how your systems connect, and the platform never calls what the profile does not advertise.
  • The trade. A slot is a package on a date, and its ID is derived: {package_id}:{date}. An order carries line items; each line books one week or one slot and locks its price by citing a rate entry's locked_rate_id. An agreement gates what a buyer sees and unlocks buyer-scoped rate cards.
  • Flows back. Every change emits an order_event with a per-order sequence number. Counters live on a negotiation. After air, the seller's delivery_post carries the actuals that guarantees reconcile against.
The grain rule in one sentence: cards price by week; trades book by slot. It shows up everywhere, from rate entries to allocations.

Every object

ObjectWhat it isField referenceConcept
packageThe sellable unit: seller-defined, versioned, date-boundedpackagePackages
poolShared capacity that overlapping packages draw downpoolPackages
slotA package on a date: the orderable instanceslotPackages
rate entryOne priced cell of a versioned rate card commitrate entryRates
availAn availability statement at the seller's declared grainavailCurrencies
orderThe transaction; price locked at order timeorderOrders
order_eventAppend-only record of every transitionorder_eventWebhooks
negotiationOffer and counter rounds on one ordernegotiationNegotiation
proposal_requestThe buyer's open ask; a plan comes backproposal_requestProposals
delivery_postSeller-supplied actuals; guarantees reconcile against itdelivery_postReconciliation
capability_profileWhat a seller's connection advertisescapability_profileConnections
agreementThe relationship made explicit; functionally a deal IDagreementAgreements

Sellers: your side of the model is the top of the left lane. Start with Map your systems to see where your traffic, billing, and rate systems land. Buyers: your side starts at order; see Map your systems for buyers.