A property’s own account at the payment processor, opened under the platform’s (Stripe Connect). While one is active, the property’s card payments settle to it — the hotel is the merchant the guest’s statement names, its payouts go to its own bank — and the platform’s fee is taken from each payment. A property with no open account takes card payments on the platform’s own account. Verification is the processor’s: the account is onboarding until the hotel has submitted its details, then active or restricted as the processor decides.
Read through an open branch’s copy-on-first-write overlay view instead of the canonical (main) plane. Does not compose with as_of (422). The branch must exist under the caller’s tenant.
When the platform operator last pulled this account's stored cards for the hotel's next processor (the Leaving policy's card export)
stringformat: date-time
cards_exported_count
How many stored cards that export carried — the cards that name this account, are active and are on the processor
integer
charges_enabled
required
Whether the processor lets the account take card payments
boolean
closed_at
When the account was closed
stringformat: date-time
country
required
Country the hotel trades in (ISO 3166-1 alpha-2) — fixed at opening, because the processor fixes it too
string
details_submitted
required
Whether the hotel has finished the processor's onboarding form
boolean
disabled_reason
The processor's reason the account cannot take charges, when it gives one
string
external_account_disabled
Whether the processor has disabled the bank account it pays out to (after a failed payout); no payout lands until the hotel replaces it
boolean
external_account_disabled_ids
The processor's ids of the default bank accounts it has disabled (`ba_…`, one per currency at most); `external_account_disabled` is whether there are any
Array<string>
external_account_disabled_reason
The processor's status for that bank account (`errored`, `verification_failed`) when it is disabled
string
external_account_observed_at
When the bank account's state was read — the watermark an out-of-order webhook is checked against
stringformat: date-time
fee_conversion_bps
required
The processor's currency-conversion fee in basis points (Stripe: 2%), counted in the estimate of the processor's fee on a charge in a currency other than the schedule's
integer
fee_schedule
required
Merchant account fee schedule
The platform’s fee on each card payment settled to this account, by the card’s class: one row for each of domestic_standard, domestic_premium, regional and international, online and card-present — the basis points and fixed fee the hotel pays (bps, fixed) beside the processor’s own published rate for that class (processor_bps, processor_fixed), which is what the platform’s estimate of the processor’s fee uses. Taken when the money is captured, on the amount captured, rounded down. The fixed fees’ currency is the schedule’s: a charge in another currency carries no fixed fee.
When the hotel's current onboarding refresh link stops working
stringformat: date-time
onboarding_link_nonce_hash
SHA-256 of the one-use secret in the hotel's current onboarding refresh link — the link that mints a fresh Stripe onboarding link without a sign-in
string
opened_at
required
When the account was opened
stringformat: date-time
payout_anchor
The day a weekly payout goes (`monday` … `sunday`) or a monthly one (its day of the month, `1` … `31`); absent for daily and manual payouts
string
payout_anchor_before
The weekly or monthly anchor before the last change, if it had one
string
payout_delay_days
How many days the processor holds a payment before it can be paid out (Stripe's `delay_days`; calendar or business days by the account's country)
integer
payout_delay_days_before
The payout delay before the last change, if it had one
integer
payout_interval
How often the processor pays the balance out, in its own words (Stripe: `daily`, `weekly`, `monthly`, or `manual` — paid out only on request)
string
payout_interval_before
The payout interval before the last change, if it had one
string
payout_schedule_changed_at
When the processor last changed this account's payout schedule (the first schedule read is a report, not a change)
stringformat: date-time
payouts_enabled
required
Whether the processor will pay the account's balance out to the hotel's bank
boolean
provider
required
Processor that holds the account (`stripe`)
string
provider_account_ref
required
The processor's id for the account (Stripe `acct_…`). An identifier, not a credential: nothing can be done with it without the platform's own key.
string
rejected_at
When the processor accepted the platform's rejection of a closed account — the end of its life there, which the processor admits only at a zero balance
stringformat: date-time
requirements_due
What the processor still needs from the hotel, in its own vocabulary (`external_account`, `individual.verification.document`, …). Empty when nothing is owed.
Array<string>
state_observed_at
When the processor's view below was taken — the watermark an out-of-order webhook is checked against
stringformat: date-time
status
required
Lifecycle status, derived from the processor's verification
string
Allowed values: onboardingactiverestrictedclosed
provenance
Per-property source attribution and pins. An entry under properties means the property’s current value came from that source (on the source’s own clock, source_updated_at); an entry under pins is a human override protecting the property from sourced writes.
Quoted strong validator (RFC 7232 §2.3) carrying the object’s monotonic version. Informational on the read path — object mutation goes through typed actions on /v1/actions/{action}/apply, not raw CRUD.