// This describes a payment option, such as a pack, membership, or// single-session pass after it has been purchased by a user. It includes an// identifier for the user payment option, as well as some information about// the payment option with which it is associated.messageUserPaymentOption{// A unique identifier for the user payment option. This Id MUST be unique// for all UserPaymentOptions across all merchants and users. (required)stringuser_payment_option_id=1;// The user payment option will be valid (usable) between start_time and// end_time set in UTC. Attempts to use a user payment option to make a// booking outside of this interval will fail. (both optional)google.protobuf.Timestampvalid_start_time=2;google.protobuf.Timestampvalid_end_time=3;// The type of the payment option associated with this user payment option.// This can be unlimited for a membership or subscription, multi-use for a// pack, or single-use. (required)PaymentOptionTypetype=4;// The original number of uses for this user payment option when it was// purchased. This value is ignored for unlimited payment options. (required)int32original_count=5;// The number of uses remaining for this user payment option. If this number// is 0 for a pack, attempts to use this payment option to make a booking will// fail. (required)int32current_count=6;// The id of the payment option that has been used to purchase this user// payment option. (required)stringpayment_option_id=7;}
message Price {
// The price in micro-units of the currency.
// Fractions of smallest currency unit will be rounded using nearest even
// rounding. (e.g. For USD 2.5 cents rounded to 2 cents, 3.5 cents rounded to
// 4 cents, 0.5 cents rounded to 0 cents, 2.51 cents rounded to 3 cents).
// (required)
int64 price_micros = 1;
// The currency of the price that is defined in ISO 4217. (required)
string currency_code = 2;
}
// A fee that a user may be charged if they have made a booking but do not// show up.messageNoShowFee{// The amount the user may be charged if they do not show up for their// reservation.Pricefee=1;// Defines how the fee is determined from the availability.PriceTypefee_type=3;}
// A deposit that the user may be charged or have a hold on their credit card// for.messageDeposit{// Deposit amount.Pricedeposit=1;// Minimum advance cancellation for the deposit. If the reservation is not// cancelled at least this amount of time ahead, the user is subject to the// Deposit.int64min_advance_cancellation_sec=2;// Defines how the deposit is determined from the availability.PriceTypedeposit_type=3;}
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-10-31 UTC."],[[["`PaymentProcessingParameters` define how partners process payments, including payment processor, token, and version."],["`UserPaymentOption` stores information about purchased payment options like validity, type, and remaining uses."],["`PaymentInformation` details booking payments, including prepayment status, transaction ID, price, taxes, and payment method."],["`PrepaymentStatus` indicates the state of prepayment, such as provided, not provided, refunded, or credited."],["`Price` represents a monetary value with price in micro-units and currency code."]]],["Payment processing involves specifying parameters like the `PaymentProcessor` (e.g., Stripe), a `payment_method_token`, and `version`. `UserPaymentOption` details user-purchased payment options, including type (`PaymentOptionType`), valid timeframes, and usage counts. `PaymentInformation` covers booking payment details: `PrepaymentStatus`, `payment_transaction_id`, `Price`, taxes, and whether payment is processed by Google or the partner. Additional attributes are the `NoShowFee` and `Deposit` for fees and holds.\n"]]