---
title: Box Office
editUrl: https://github.com/Cratis/Showrunner/edit/main/Documentation/BoxOffice/index.md
description: Box Office is the Showrunner part for licensing a managed product - trials, seats, modules, compute allowances and suspension - decided by the operator and honored by the product.
---


Box Office is the licensing part of Showrunner. The operator of a managed product, such as Direct, decides what each tenant may do: how long its trial runs, how many seats it has, which modules it has and how much compute it may use. The product honors those decisions and reports back what happened in it.

Box Office is a library set, not a service. The operator and the product exchange public events through Chronicle:

- `Cratis.Showrunner.BoxOffice.Contracts` holds the public events both sides exchange; see [Contracts](/showrunner/boxoffice/contracts/).
- `Cratis.Showrunner.BoxOffice` runs inside the product's own Arc and Chronicle process and honors the operator's decisions: it receives them, answers what a tenant may use, refuses commands from a tenant that is suspended and licenses seats; see [Receiving and entitlements](/showrunner/boxoffice/entitlements/), [Suspension and read-only tenants](/showrunner/boxoffice/suspension/), [Module gating](/showrunner/boxoffice/gating/), [Seat licensing](/showrunner/boxoffice/seats/) and [Compute admission](/showrunner/boxoffice/compute-admission/).
- `@cratis/showrunner.boxoffice` is the generated TypeScript proxies for the product's frontend; see [Frontend proxies](/showrunner/boxoffice/frontend-proxies/).
- `@cratis/showrunner.boxoffice.react` is the user interface: entitlements and module filtering, trial and suspension banners, the seats, usage and plan pages and the buttons that open the customer portal; see [React components](/showrunner/boxoffice/react/) and [The customer portal](/showrunner/boxoffice/portal/).
- `Cratis.Showrunner.BoxOffice.Catalog` holds the offers the operator sells, their prices and the pricing arithmetic, and publishes the catalog to products; see [Catalog](/showrunner/boxoffice/catalog/).
- `Cratis.Showrunner.BoxOffice.Offering` is what a product references: it declares what the product sells and reports it to the operator, see [Offering](/showrunner/boxoffice/offering/), and it measures compute per tenant and day, see [Metering compute](/showrunner/boxoffice/metering/).
