Skip to content

SubscriptionPlanChangeQuote

Public next-period quote with expiry and expected subscription version.

const SubscriptionPlanChangeQuote: Schema.Struct<{
id: Schema.brand<Schema.String, "PlanChangeQuoteId">;
subscriptionId: Schema.brand<Schema.String, "SubscriptionId">;
expectedVersion: Schema.brand<Schema.Int, "SubscriptionTermsVersion">;
effective: Schema.Literal<"next_period">;
effectiveAt: Schema.brand<Schema.Int, "EpochMilliseconds">;
createdAt: Schema.brand<Schema.Int, "EpochMilliseconds">;
expiresAt: Schema.brand<Schema.Int, "EpochMilliseconds">;
current: Schema.toTaggedUnion<"type", readonly [Schema.Struct<{
type: Schema.tag<"offer">;
definition: Schema.brand<Schema.Struct<{
key: Schema.brand<..., ...>;
revision: Schema.brand<..., ...>;
purchase: Schema.Struct<...>;
billing: ... & ... & ...;
}>, "OfferTerms">;
}>, Schema.Struct<{
type: Schema.tag<"quantity_offer">;
selection: Schema.Struct<{
definition: Schema.brand<Schema.Struct<...>, "OfferTerms">;
quantity: Schema.brand<Schema.Int, "SeatCapacityQuantity">;
totalAmount: Schema.brand<Schema.BigInt, "MinorCurrencyUnits">;
}>;
}>]>;
target: Schema.toTaggedUnion<"type", readonly [Schema.Struct<{
type: Schema.tag<"offer">;
definition: Schema.brand<Schema.Struct<{
key: Schema.brand<..., ...>;
revision: Schema.brand<..., ...>;
purchase: Schema.Struct<...>;
billing: ... & ... & ...;
}>, "OfferTerms">;
}>, Schema.Struct<{
type: Schema.tag<"quantity_offer">;
selection: Schema.Struct<{
definition: Schema.brand<Schema.Struct<...>, "OfferTerms">;
quantity: Schema.brand<Schema.Int, "SeatCapacityQuantity">;
totalAmount: Schema.brand<Schema.BigInt, "MinorCurrencyUnits">;
}>;
}>]>;
}>;