PlayerUsageCharge
One posted player usage charge: a (player, app, closed clock hour) row. amountCents = platformCents + markupCents — players see what the platform charges and what the studio adds (06 §4). The UNIQUE hour key makes the billing tick idempotent.
type PlayerUsageCharge {
chargeId: BigInt!
userId: BigInt!
appId: BigInt!
periodStart: DateTime!
periodEnd: DateTime!
amountCents: BigInt!
platformCents: BigInt!
markupCents: BigInt!
currency: String!
usageSnapshotJson: String!
createdAt: DateTime!
}
Fields
PlayerUsageCharge.chargeId ● BigInt! non-null scalar
Charge id.
PlayerUsageCharge.userId ● BigInt! non-null scalar
The owning player user id.
PlayerUsageCharge.appId ● BigInt! non-null scalar
The app the usage ran in.
PlayerUsageCharge.periodStart ● DateTime! non-null scalar
Billed hour start (inclusive).
PlayerUsageCharge.periodEnd ● DateTime! non-null scalar
Billed hour end (exclusive).
PlayerUsageCharge.amountCents ● BigInt! non-null scalar
Total debited cents.
PlayerUsageCharge.platformCents ● BigInt! non-null scalar
Platform component (base rate card).
PlayerUsageCharge.markupCents ● BigInt! non-null scalar
Studio markup component (the app's player_rate_markup_bps).
PlayerUsageCharge.currency ● String! non-null scalar
ISO currency code.
PlayerUsageCharge.usageSnapshotJson ● String! non-null scalar
JSON per-metric usage/billing snapshot for the hour.
PlayerUsageCharge.createdAt ● DateTime! non-null scalar
When the charge posted.
Returned By
playerUsageCharges query