Price
Price
Price
Represents a price for a wash package with billing details
Kind: Object
Fields
| Field | Type | Description |
|---|---|---|
amount |
Int! |
Price amount in cents (e.g., 1999 = $19.99) |
archivedReason |
ArchivedReason |
Why this price was archived: USER (manually by a user), SYSTEM (automatically during archive-and-replace), or null if not archived |
availabilitySchedule |
Schedule |
A schedule that describes when this price is available for purchase (null for always available) |
availableInPos |
Boolean! |
Whether this price is currently available for selection in the POS |
availableInUnattended |
Boolean! |
Whether this price is currently available for selection in unattended purchase flow |
availableOnline |
Boolean! |
Whether this price is currently available for selection online |
billingFrequency |
BillingFrequency |
Billing frequency for subscription prices (null for one-time prices) |
createdAt |
DateTime! |
When this price was created |
currency |
String! |
Currency code (e.g., ‘USD’, ‘EUR’) |
discount |
Discount |
An (optional) promotional discount that will be applied to this price at sign-up |
displayName |
String |
Operator-editable customer-facing name. When null, the UI falls back to product.name at render time. |
id |
ID! |
Unique identifier for the price |
internalName |
String |
Admin-only annotation. When set, shown as the primary label in admin tables with the resolved display name as the secondary label. |
isArchived |
Boolean! |
Whether this price is archived and no longer active |
isDefault |
Boolean! |
Whether this is a default price for the product (automatically assigned to new locations) |
name |
String! |
Display name for this price |
previousVersions |
[SimplePrice!]! |
The older prices this one supersedes, newest first |
pricingProfiles |
[PricingProfile!]! |
The pricing profiles this price applies to |
product |
SimpleProduct |
The product this price belongs to (null for v1 pricing-profile prices). Lightweight projection — full Product is available via a separate product(id:) query. |
sortOrder |
Int! |
Sort order for displaying the price in the POS |
tiers |
[PriceTier!]! |
Pricing tiers for graduated pricing (empty for flat-rate prices) |
trialDuration |
Int |
Duration of the free trial period (used with trialUnits) |
trialUnits |
TrialUnits |
Units for the trial duration (DAYS, WEEKS, or MONTHS) |
updatedAt |
DateTime! |
When this price was last updated |
washPackage |
WashPackage |
The wash package this price applies to: set directly on a v1 price, and from its product’s plan, retail wash or prepaid on a v2 price. Null when there isn’t one, such as for a gift card |
pricingProfile |
PricingProfile |
Deprecated Use pricingProfiles instead The pricing profile this price applies to |
Definition
"""Represents a price for a wash package with billing details"""
type Price {
"""Price amount in cents (e.g., 1999 = $19.99)"""
amount: Int!
"""
Why this price was archived: USER (manually by a user), SYSTEM (automatically during archive-and-replace), or null if not archived
"""
archivedReason: ArchivedReason
"""
A schedule that describes when this price is available for purchase (null for always available)
"""
availabilitySchedule: Schedule
"""Whether this price is currently available for selection in the POS"""
availableInPos: Boolean!
"""
Whether this price is currently available for selection in unattended purchase flow
"""
availableInUnattended: Boolean!
"""Whether this price is currently available for selection online"""
availableOnline: Boolean!
"""Billing frequency for subscription prices (null for one-time prices)"""
billingFrequency: BillingFrequency
"""When this price was created"""
createdAt: DateTime!
"""Currency code (e.g., 'USD', 'EUR')"""
currency: String!
"""
An (optional) promotional discount that will be applied to this price at sign-up
"""
discount: Discount
"""
Operator-editable customer-facing name. When null, the UI falls back to `product.name` at render time.
"""
displayName: String
"""Unique identifier for the price"""
id: ID!
"""
Admin-only annotation. When set, shown as the primary label in admin tables with the resolved display name as the secondary label.
"""
internalName: String
"""Whether this price is archived and no longer active"""
isArchived: Boolean!
"""
Whether this is a default price for the product (automatically assigned to new locations)
"""
isDefault: Boolean!
"""Display name for this price"""
name: String!
"""The older prices this one supersedes, newest first"""
previousVersions: [SimplePrice!]!
"""The pricing profile this price applies to"""
pricingProfile: PricingProfile @deprecated(reason: "Use pricingProfiles instead")
"""The pricing profiles this price applies to"""
pricingProfiles: [PricingProfile!]!
"""
The product this price belongs to (null for v1 pricing-profile prices). Lightweight projection — full `Product` is available via a separate `product(id:)` query.
"""
product: SimpleProduct
"""Sort order for displaying the price in the POS"""
sortOrder: Int!
"""Pricing tiers for graduated pricing (empty for flat-rate prices)"""
tiers: [PriceTier!]!
"""Duration of the free trial period (used with trialUnits)"""
trialDuration: Int
"""Units for the trial duration (DAYS, WEEKS, or MONTHS)"""
trialUnits: TrialUnits
"""When this price was last updated"""
updatedAt: DateTime!
"""
The wash package this price applies to: set directly on a v1 price, and from its product's plan, retail wash or prepaid on a v2 price. Null when there isn't one, such as for a gift card
"""
washPackage: WashPackage
}