Skip to content

SubscriptionTermsSelection

Public recurring terms used by next-period plan and seat-quantity changes.

const SubscriptionTermsSelection: Schema.toTaggedUnion<"type", readonly [Schema.Struct<{
type: Schema.tag<"offer">;
definition: Schema.brand<Schema.Struct<{
key: Schema.brand<Schema.String, "OfferKey">;
revision: Schema.brand<Schema.Int, "DefinitionRevision">;
purchase: Schema.Struct<{
key: Schema.brand<..., ...>;
revision: Schema.brand<..., ...>;
provides: Schema.$Array<...>;
}>;
billing: Schema.Union<readonly ...> & {
discriminants: readonly ...;
cases: {
metered_subscription: ...;
one_time: ...;
per_seat_one_time: ...;
per_seat_subscription: ...;
subscription: ...;
};
isAnyOf: <Keys>(keys) => ...;
guards: {
metered_subscription: ...;
one_time: ...;
per_seat_one_time: ...;
per_seat_subscription: ...;
subscription: ...;
};
match: {
<Cases> (value, cases): ...;
<Cases> (cases): ...;
};
} & {
oneTime: (input) => ...;
subscription: (input) => ...;
perSeatOneTime: (input) => ...;
perSeatSubscription: (input) => ...;
meteredSubscription: (input) => ...;
};
}>, "OfferTerms">;
}>, Schema.Struct<{
type: Schema.tag<"quantity_offer">;
selection: Schema.Struct<{
definition: Schema.brand<Schema.Struct<{
key: Schema.brand<..., ...>;
revision: Schema.brand<..., ...>;
purchase: Schema.Struct<...>;
billing: ... & ... & ...;
}>, "OfferTerms">;
quantity: Schema.brand<Schema.Int, "SeatCapacityQuantity">;
totalAmount: Schema.brand<Schema.BigInt, "MinorCurrencyUnits">;
}>;
}>]>;