blob: fd3fb2dd1c103e608c0770ee596d19599666cc70 [file] [log] [blame]
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: v3.proto
package ext_maps_booking_partner_v3
import (
fmt "fmt"
proto "github.com/golang/protobuf/proto"
math "math"
)
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
// Status of a booking.
//
// Updating booking status does not change the status of the associated payment.
// Prepayment status updates should be done using the PrepaymentStatus enum.
//
// nextID: 8
type BookingStatus int32
const (
// Not specified.
BookingStatus_BOOKING_STATUS_UNSPECIFIED BookingStatus = 0
// Booking has been confirmed
BookingStatus_CONFIRMED BookingStatus = 1
// Booking is awaiting confirmation by the merchant before it can transition
// into CONFIRMED status
BookingStatus_PENDING_MERCHANT_CONFIRMATION BookingStatus = 2
// Booking has been canceled on behalf of the user.
// The merchant can still trigger a manual refund.
BookingStatus_CANCELED BookingStatus = 3
// User did not show for the appointment
BookingStatus_NO_SHOW BookingStatus = 4
// User did not show for the appointment in violation of the cancellation
// policy.
BookingStatus_NO_SHOW_PENALIZED BookingStatus = 5
// Booking could not be completed by the backend due to a failure.
BookingStatus_FAILED BookingStatus = 6
// Booking was asynchronously declined by the merchant.
BookingStatus_DECLINED_BY_MERCHANT BookingStatus = 7
)
var BookingStatus_name = map[int32]string{
0: "BOOKING_STATUS_UNSPECIFIED",
1: "CONFIRMED",
2: "PENDING_MERCHANT_CONFIRMATION",
3: "CANCELED",
4: "NO_SHOW",
5: "NO_SHOW_PENALIZED",
6: "FAILED",
7: "DECLINED_BY_MERCHANT",
}
var BookingStatus_value = map[string]int32{
"BOOKING_STATUS_UNSPECIFIED": 0,
"CONFIRMED": 1,
"PENDING_MERCHANT_CONFIRMATION": 2,
"CANCELED": 3,
"NO_SHOW": 4,
"NO_SHOW_PENALIZED": 5,
"FAILED": 6,
"DECLINED_BY_MERCHANT": 7,
}
func (x BookingStatus) String() string {
return proto.EnumName(BookingStatus_name, int32(x))
}
func (BookingStatus) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_1820d8e1a9fad753, []int{0}
}
// Used when booking/order failure cause is PAYMENT_ERROR_CARD_TYPE_REJECTED to
// indicate the type of credit card that was rejected.
type CreditCardType int32
const (
// Default value. Used if credit card type does not match to one below.
CreditCardType_CREDIT_CARD_TYPE_UNSPECIFIED CreditCardType = 0
CreditCardType_VISA CreditCardType = 1
CreditCardType_MASTERCARD CreditCardType = 2
CreditCardType_AMERICAN_EXPRESS CreditCardType = 3
CreditCardType_DISCOVER CreditCardType = 4
CreditCardType_JCB CreditCardType = 5
)
var CreditCardType_name = map[int32]string{
0: "CREDIT_CARD_TYPE_UNSPECIFIED",
1: "VISA",
2: "MASTERCARD",
3: "AMERICAN_EXPRESS",
4: "DISCOVER",
5: "JCB",
}
var CreditCardType_value = map[string]int32{
"CREDIT_CARD_TYPE_UNSPECIFIED": 0,
"VISA": 1,
"MASTERCARD": 2,
"AMERICAN_EXPRESS": 3,
"DISCOVER": 4,
"JCB": 5,
}
func (x CreditCardType) String() string {
return proto.EnumName(CreditCardType_name, int32(x))
}
func (CreditCardType) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_1820d8e1a9fad753, []int{1}
}
// Mode by which bookings for an availability slot are confirmed.
type ConfirmationMode int32
const (
// The confirmation mode was not specified.
// Synchronous confirmation will be assumed.
ConfirmationMode_CONFIRMATION_MODE_UNSPECIFIED ConfirmationMode = 0
// Bookings for this availability will be confirmed synchronously.
ConfirmationMode_CONFIRMATION_MODE_SYNCHRONOUS ConfirmationMode = 1
// Bookings for this availability will be confirmed asynchronously.
ConfirmationMode_CONFIRMATION_MODE_ASYNCHRONOUS ConfirmationMode = 2
)
var ConfirmationMode_name = map[int32]string{
0: "CONFIRMATION_MODE_UNSPECIFIED",
1: "CONFIRMATION_MODE_SYNCHRONOUS",
2: "CONFIRMATION_MODE_ASYNCHRONOUS",
}
var ConfirmationMode_value = map[string]int32{
"CONFIRMATION_MODE_UNSPECIFIED": 0,
"CONFIRMATION_MODE_SYNCHRONOUS": 1,
"CONFIRMATION_MODE_ASYNCHRONOUS": 2,
}
func (x ConfirmationMode) String() string {
return proto.EnumName(ConfirmationMode_name, int32(x))
}
func (ConfirmationMode) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_1820d8e1a9fad753, []int{2}
}
type PaymentOptionType int32
const (
PaymentOptionType_PAYMENT_OPTION_TYPE_UNSPECIFIED PaymentOptionType = 0
PaymentOptionType_PAYMENT_OPTION_SINGLE_USE PaymentOptionType = 1
PaymentOptionType_PAYMENT_OPTION_MULTI_USE PaymentOptionType = 2
PaymentOptionType_PAYMENT_OPTION_UNLIMITED_USE PaymentOptionType = 3
)
var PaymentOptionType_name = map[int32]string{
0: "PAYMENT_OPTION_TYPE_UNSPECIFIED",
1: "PAYMENT_OPTION_SINGLE_USE",
2: "PAYMENT_OPTION_MULTI_USE",
3: "PAYMENT_OPTION_UNLIMITED_USE",
}
var PaymentOptionType_value = map[string]int32{
"PAYMENT_OPTION_TYPE_UNSPECIFIED": 0,
"PAYMENT_OPTION_SINGLE_USE": 1,
"PAYMENT_OPTION_MULTI_USE": 2,
"PAYMENT_OPTION_UNLIMITED_USE": 3,
}
func (x PaymentOptionType) String() string {
return proto.EnumName(PaymentOptionType_name, int32(x))
}
func (PaymentOptionType) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_1820d8e1a9fad753, []int{3}
}
// Prepayment status of a booking.
// Updating payment status will trigger an update on the payment status of the
// associated booking (if applicable).
// Currently, the only supported transition is from PREPAYMENT_PROVIDED to
// PREPAYMENT_REFUNDED, which will initiate a non-reversible refund on the
// associated payment transaction.
type PrepaymentStatus int32
const (
// Not specified, defaults to PREPAYMENT_NOT_PROVIDED.
PrepaymentStatus_PREPAYMENT_STATUS_UNSPECIFIED PrepaymentStatus = 0
// The fee for the booking has been paid in advance.
PrepaymentStatus_PREPAYMENT_PROVIDED PrepaymentStatus = 1
// The fee for the booking has not been paid in advance.
PrepaymentStatus_PREPAYMENT_NOT_PROVIDED PrepaymentStatus = 2
// The fee was previously PREPAYMENT_PROVIDED but has now been refunded.
PrepaymentStatus_PREPAYMENT_REFUNDED PrepaymentStatus = 3
// The fee was previously PREPAYMENT_PROVIDED but now has been credited
// (user given a UserPaymentOption as a voucher for the booking).
// If this is set, the response should also include the updated
// UserPaymentOption.
PrepaymentStatus_PREPAYMENT_CREDITED PrepaymentStatus = 4
)
var PrepaymentStatus_name = map[int32]string{
0: "PREPAYMENT_STATUS_UNSPECIFIED",
1: "PREPAYMENT_PROVIDED",
2: "PREPAYMENT_NOT_PROVIDED",
3: "PREPAYMENT_REFUNDED",
4: "PREPAYMENT_CREDITED",
}
var PrepaymentStatus_value = map[string]int32{
"PREPAYMENT_STATUS_UNSPECIFIED": 0,
"PREPAYMENT_PROVIDED": 1,
"PREPAYMENT_NOT_PROVIDED": 2,
"PREPAYMENT_REFUNDED": 3,
"PREPAYMENT_CREDITED": 4,
}
func (x PrepaymentStatus) String() string {
return proto.EnumName(PrepaymentStatus_name, int32(x))
}
func (PrepaymentStatus) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_1820d8e1a9fad753, []int{4}
}
// Defines how a total price is determined from an availability.
type PriceType int32
const (
// The price is for a fixed amount. This is the default value if the field is
// not set.
PriceType_FIXED_RATE_DEFAULT PriceType = 0
// The price specified is per person, and the total price is calculated
// according to the party size specified in Resources as
// price_micros * party_size. A PER_PERSON price must be accompanied by a
// party size in the availability resources. If it is not, a party size of one
// is used.
PriceType_PER_PERSON PriceType = 1
)
var PriceType_name = map[int32]string{
0: "FIXED_RATE_DEFAULT",
1: "PER_PERSON",
}
var PriceType_value = map[string]int32{
"FIXED_RATE_DEFAULT": 0,
"PER_PERSON": 1,
}
func (x PriceType) String() string {
return proto.EnumName(PriceType_name, int32(x))
}
func (PriceType) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_1820d8e1a9fad753, []int{5}
}
// This enum indicates what requirements exist for the user to acknowledge or
// view the requested slots duration/end time.
type CheckAvailabilityResponse_DurationRequirement int32
const (
// The handling of the end time is not specified. This is the default.
CheckAvailabilityResponse_DURATION_REQUIREMENT_UNSPECIFIED CheckAvailabilityResponse_DurationRequirement = 0
// The end time is not shown to the user.
CheckAvailabilityResponse_DO_NOT_SHOW_DURATION CheckAvailabilityResponse_DurationRequirement = 1
// The end time has to be shown to the user before an appointment can be
// made.
CheckAvailabilityResponse_MUST_SHOW_DURATION CheckAvailabilityResponse_DurationRequirement = 2
)
var CheckAvailabilityResponse_DurationRequirement_name = map[int32]string{
0: "DURATION_REQUIREMENT_UNSPECIFIED",
1: "DO_NOT_SHOW_DURATION",
2: "MUST_SHOW_DURATION",
}
var CheckAvailabilityResponse_DurationRequirement_value = map[string]int32{
"DURATION_REQUIREMENT_UNSPECIFIED": 0,
"DO_NOT_SHOW_DURATION": 1,
"MUST_SHOW_DURATION": 2,
}
func (x CheckAvailabilityResponse_DurationRequirement) String() string {
return proto.EnumName(CheckAvailabilityResponse_DurationRequirement_name, int32(x))
}
func (CheckAvailabilityResponse_DurationRequirement) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_1820d8e1a9fad753, []int{1, 0}
}
type BookingFailure_Cause int32
const (
// Default value: Don't use; amounts to an "unknown error"
BookingFailure_CAUSE_UNSPECIFIED BookingFailure_Cause = 0
// The referenced availability slot is not available any longer.
BookingFailure_SLOT_UNAVAILABLE BookingFailure_Cause = 1
// The user has already booked an appointment for the referenced
// availability slot.
BookingFailure_SLOT_ALREADY_BOOKED_BY_USER BookingFailure_Cause = 2
// The lease (if provided) has expired and cannot be used any longer to
// complete the requested booking.
BookingFailure_LEASE_EXPIRED BookingFailure_Cause = 3
// The requested cancellation cannot be performed at the current time due
// to time restrictions in the merchant's cancellation policy.
BookingFailure_OUTSIDE_CANCELLATION_WINDOW BookingFailure_Cause = 4
// An error was encountered while processing the payment because the
// provided credit card type was not accepted by the merchant. The credit
// card type must be supplied in rejected_card_type.
BookingFailure_PAYMENT_ERROR_CARD_TYPE_REJECTED BookingFailure_Cause = 5
// An error was encountered while processing the payment because the
// provided credit card was declined.
BookingFailure_PAYMENT_ERROR_CARD_DECLINED BookingFailure_Cause = 6
// An error was encountered with the pack/membership used to pay for the
// booking. There could be no valid uses left, it could have expired, etc.
BookingFailure_PAYMENT_OPTION_NOT_VALID BookingFailure_Cause = 7
// An error was encountered while processing the payment for this booking.
// Use this value to indicate a general payment related error, only if the
// error does not match to a specific payment error above.
BookingFailure_PAYMENT_ERROR BookingFailure_Cause = 8
// User cannot use the given payment option (e.g. user trying to use a
// first time price for the second time).
BookingFailure_USER_CANNOT_USE_PAYMENT_OPTION BookingFailure_Cause = 9
// A booking that the user tried to cancel has already been cancelled.
BookingFailure_BOOKING_ALREADY_CANCELLED BookingFailure_Cause = 10
// A booking that the user tried to cancel is not cancellable.
BookingFailure_BOOKING_NOT_CANCELLABLE BookingFailure_Cause = 11
// User has an existing reservation too close to this time.
BookingFailure_OVERLAPPING_RESERVATION BookingFailure_Cause = 12
)
var BookingFailure_Cause_name = map[int32]string{
0: "CAUSE_UNSPECIFIED",
1: "SLOT_UNAVAILABLE",
2: "SLOT_ALREADY_BOOKED_BY_USER",
3: "LEASE_EXPIRED",
4: "OUTSIDE_CANCELLATION_WINDOW",
5: "PAYMENT_ERROR_CARD_TYPE_REJECTED",
6: "PAYMENT_ERROR_CARD_DECLINED",
7: "PAYMENT_OPTION_NOT_VALID",
8: "PAYMENT_ERROR",
9: "USER_CANNOT_USE_PAYMENT_OPTION",
10: "BOOKING_ALREADY_CANCELLED",
11: "BOOKING_NOT_CANCELLABLE",
12: "OVERLAPPING_RESERVATION",
}
var BookingFailure_Cause_value = map[string]int32{
"CAUSE_UNSPECIFIED": 0,
"SLOT_UNAVAILABLE": 1,
"SLOT_ALREADY_BOOKED_BY_USER": 2,
"LEASE_EXPIRED": 3,
"OUTSIDE_CANCELLATION_WINDOW": 4,
"PAYMENT_ERROR_CARD_TYPE_REJECTED": 5,
"PAYMENT_ERROR_CARD_DECLINED": 6,
"PAYMENT_OPTION_NOT_VALID": 7,
"PAYMENT_ERROR": 8,
"USER_CANNOT_USE_PAYMENT_OPTION": 9,
"BOOKING_ALREADY_CANCELLED": 10,
"BOOKING_NOT_CANCELLABLE": 11,
"OVERLAPPING_RESERVATION": 12,
}
func (x BookingFailure_Cause) String() string {
return proto.EnumName(BookingFailure_Cause_name, int32(x))
}
func (BookingFailure_Cause) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_1820d8e1a9fad753, []int{27, 0}
}
type OrderFailure_Cause int32
const (
// Default value: Don't use; amounts to an "unknown error"
OrderFailure_CAUSE_UNSPECIFIED OrderFailure_Cause = 0
// The order is no longer fulfillable.
OrderFailure_ORDER_UNFULFILLABLE OrderFailure_Cause = 1
// An error was encountered while processing the payment because the
// provided credit card type was not accepted by the merchant. The credit
// card type must be supplied in rejected_card_type.
OrderFailure_PAYMENT_ERROR_CARD_TYPE_REJECTED OrderFailure_Cause = 2
// An error was encountered while processing the payment because the
// provided credit card was declined.
OrderFailure_PAYMENT_ERROR_CARD_DECLINED OrderFailure_Cause = 3
// An error was encountered while processing the payment for this order.
// Use this value to indicate a general payment related error, only if the
// error does not match to a specific payment error above.
OrderFailure_PAYMENT_ERROR OrderFailure_Cause = 4
)
var OrderFailure_Cause_name = map[int32]string{
0: "CAUSE_UNSPECIFIED",
1: "ORDER_UNFULFILLABLE",
2: "PAYMENT_ERROR_CARD_TYPE_REJECTED",
3: "PAYMENT_ERROR_CARD_DECLINED",
4: "PAYMENT_ERROR",
}
var OrderFailure_Cause_value = map[string]int32{
"CAUSE_UNSPECIFIED": 0,
"ORDER_UNFULFILLABLE": 1,
"PAYMENT_ERROR_CARD_TYPE_REJECTED": 2,
"PAYMENT_ERROR_CARD_DECLINED": 3,
"PAYMENT_ERROR": 4,
}
func (x OrderFailure_Cause) String() string {
return proto.EnumName(OrderFailure_Cause_name, int32(x))
}
func (OrderFailure_Cause) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_1820d8e1a9fad753, []int{30, 0}
}
// The result of an order fulfillability check.
type OrderFulfillability_OrderFulfillabilityResult int32
const (
// Default value: Don't use.
OrderFulfillability_ORDER_FULFILLABILITY_RESULT_UNSPECIFIED OrderFulfillability_OrderFulfillabilityResult = 0
// The order can be fulfilled.
OrderFulfillability_CAN_FULFILL OrderFulfillability_OrderFulfillabilityResult = 1
// The order cannot be fulfilled due to one or more unfulfillable line
// item(s).
OrderFulfillability_UNFULFILLABLE_LINE_ITEM OrderFulfillability_OrderFulfillabilityResult = 2
// The combination of the line items requested cannot be fulfilled.
OrderFulfillability_UNFULFILLABLE_SERVICE_COMBINATION OrderFulfillability_OrderFulfillabilityResult = 3
// The order cannot be fulfilled due to reasons that do not fall into the
// categories above.
OrderFulfillability_ORDER_UNFULFILLABLE_OTHER_REASON OrderFulfillability_OrderFulfillabilityResult = 4
)
var OrderFulfillability_OrderFulfillabilityResult_name = map[int32]string{
0: "ORDER_FULFILLABILITY_RESULT_UNSPECIFIED",
1: "CAN_FULFILL",
2: "UNFULFILLABLE_LINE_ITEM",
3: "UNFULFILLABLE_SERVICE_COMBINATION",
4: "ORDER_UNFULFILLABLE_OTHER_REASON",
}
var OrderFulfillability_OrderFulfillabilityResult_value = map[string]int32{
"ORDER_FULFILLABILITY_RESULT_UNSPECIFIED": 0,
"CAN_FULFILL": 1,
"UNFULFILLABLE_LINE_ITEM": 2,
"UNFULFILLABLE_SERVICE_COMBINATION": 3,
"ORDER_UNFULFILLABLE_OTHER_REASON": 4,
}
func (x OrderFulfillability_OrderFulfillabilityResult) String() string {
return proto.EnumName(OrderFulfillability_OrderFulfillabilityResult_name, int32(x))
}
func (OrderFulfillability_OrderFulfillabilityResult) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_1820d8e1a9fad753, []int{31, 0}
}
// The result of a line item fulfillability check.
type LineItemFulfillability_ItemFulfillabilityResult int32
const (
// Default value: Don't use.
LineItemFulfillability_ITEM_FULFILLABILITY_RESULT_UNSPECIFIED LineItemFulfillability_ItemFulfillabilityResult = 0
// This line item can be fulfilled.
LineItemFulfillability_CAN_FULFILL LineItemFulfillability_ItemFulfillabilityResult = 1
// No adequate availability for the slot requested.
LineItemFulfillability_SLOT_UNAVAILABLE LineItemFulfillability_ItemFulfillabilityResult = 2
// Child tickets cannot be booked without an adult ticket.
LineItemFulfillability_CHILD_TICKETS_WITHOUT_ADULT LineItemFulfillability_ItemFulfillabilityResult = 6
// The combination of ticket types requested cannot be fulfilled.
LineItemFulfillability_UNFULFILLABLE_TICKET_COMBINATION LineItemFulfillability_ItemFulfillabilityResult = 3
// The total price of this line item is not correct.
LineItemFulfillability_INCORRECT_PRICE LineItemFulfillability_ItemFulfillabilityResult = 4
// The line item cannot be fulfilled for reasons that do not fall into
// the categories above.
LineItemFulfillability_ITEM_UNFULFILLABLE_OTHER_REASON LineItemFulfillability_ItemFulfillabilityResult = 5
)
var LineItemFulfillability_ItemFulfillabilityResult_name = map[int32]string{
0: "ITEM_FULFILLABILITY_RESULT_UNSPECIFIED",
1: "CAN_FULFILL",
2: "SLOT_UNAVAILABLE",
6: "CHILD_TICKETS_WITHOUT_ADULT",
3: "UNFULFILLABLE_TICKET_COMBINATION",
4: "INCORRECT_PRICE",
5: "ITEM_UNFULFILLABLE_OTHER_REASON",
}
var LineItemFulfillability_ItemFulfillabilityResult_value = map[string]int32{
"ITEM_FULFILLABILITY_RESULT_UNSPECIFIED": 0,
"CAN_FULFILL": 1,
"SLOT_UNAVAILABLE": 2,
"CHILD_TICKETS_WITHOUT_ADULT": 6,
"UNFULFILLABLE_TICKET_COMBINATION": 3,
"INCORRECT_PRICE": 4,
"ITEM_UNFULFILLABLE_OTHER_REASON": 5,
}
func (x LineItemFulfillability_ItemFulfillabilityResult) String() string {
return proto.EnumName(LineItemFulfillability_ItemFulfillabilityResult_name, int32(x))
}
func (LineItemFulfillability_ItemFulfillabilityResult) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_1820d8e1a9fad753, []int{32, 0}
}
// Control how much billing information to include in the
// payment token.
type TokenizationConfig_BillingInformationFormat int32
const (
// Not specified. Defaults to MIN.
TokenizationConfig_BILLING_INFORMATION_FORMAT_UNSPECIFIED TokenizationConfig_BillingInformationFormat = 0
// name, country code, and postal code (Google Pay default setting).
TokenizationConfig_MIN TokenizationConfig_BillingInformationFormat = 1
// name, street address, locality, region, country code, and postal code.
TokenizationConfig_FULL TokenizationConfig_BillingInformationFormat = 2
)
var TokenizationConfig_BillingInformationFormat_name = map[int32]string{
0: "BILLING_INFORMATION_FORMAT_UNSPECIFIED",
1: "MIN",
2: "FULL",
}
var TokenizationConfig_BillingInformationFormat_value = map[string]int32{
"BILLING_INFORMATION_FORMAT_UNSPECIFIED": 0,
"MIN": 1,
"FULL": 2,
}
func (x TokenizationConfig_BillingInformationFormat) String() string {
return proto.EnumName(TokenizationConfig_BillingInformationFormat_name, int32(x))
}
func (TokenizationConfig_BillingInformationFormat) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_1820d8e1a9fad753, []int{35, 0}
}
type PaymentProcessingParameters_PaymentProcessor int32
const (
PaymentProcessingParameters_PAYMENT_PROCESSOR_UNSPECIFIED PaymentProcessingParameters_PaymentProcessor = 0
PaymentProcessingParameters_PROCESSOR_STRIPE PaymentProcessingParameters_PaymentProcessor = 1
PaymentProcessingParameters_PROCESSOR_BRAINTREE PaymentProcessingParameters_PaymentProcessor = 2
)
var PaymentProcessingParameters_PaymentProcessor_name = map[int32]string{
0: "PAYMENT_PROCESSOR_UNSPECIFIED",
1: "PROCESSOR_STRIPE",
2: "PROCESSOR_BRAINTREE",
}
var PaymentProcessingParameters_PaymentProcessor_value = map[string]int32{
"PAYMENT_PROCESSOR_UNSPECIFIED": 0,
"PROCESSOR_STRIPE": 1,
"PROCESSOR_BRAINTREE": 2,
}
func (x PaymentProcessingParameters_PaymentProcessor) String() string {
return proto.EnumName(PaymentProcessingParameters_PaymentProcessor_name, int32(x))
}
func (PaymentProcessingParameters_PaymentProcessor) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_1820d8e1a9fad753, []int{36, 0}
}
// Who handles payment processing?
// If payment is processed by the partner, CreateBooking request will
// include additional parameters (PaymentProcessingParameters) indicating
// the payment method to be used to process the payment.
type PaymentInformation_PaymentProcessedBy int32
const (
PaymentInformation_PAYMENT_PROCESSED_BY_UNSPECIFIED PaymentInformation_PaymentProcessedBy = 0
PaymentInformation_PROCESSED_BY_GOOGLE PaymentInformation_PaymentProcessedBy = 1
PaymentInformation_PROCESSED_BY_PARTNER PaymentInformation_PaymentProcessedBy = 2
)
var PaymentInformation_PaymentProcessedBy_name = map[int32]string{
0: "PAYMENT_PROCESSED_BY_UNSPECIFIED",
1: "PROCESSED_BY_GOOGLE",
2: "PROCESSED_BY_PARTNER",
}
var PaymentInformation_PaymentProcessedBy_value = map[string]int32{
"PAYMENT_PROCESSED_BY_UNSPECIFIED": 0,
"PROCESSED_BY_GOOGLE": 1,
"PROCESSED_BY_PARTNER": 2,
}
func (x PaymentInformation_PaymentProcessedBy) String() string {
return proto.EnumName(PaymentInformation_PaymentProcessedBy_name, int32(x))
}
func (PaymentInformation_PaymentProcessedBy) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_1820d8e1a9fad753, []int{38, 0}
}
// Request to check availability for a Slot.
type CheckAvailabilityRequest struct {
// The appointment slot that is being checked (required)
Slot *Slot `protobuf:"bytes,1,opt,name=slot,proto3" json:"slot,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *CheckAvailabilityRequest) Reset() { *m = CheckAvailabilityRequest{} }
func (m *CheckAvailabilityRequest) String() string { return proto.CompactTextString(m) }
func (*CheckAvailabilityRequest) ProtoMessage() {}
func (*CheckAvailabilityRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_1820d8e1a9fad753, []int{0}
}
func (m *CheckAvailabilityRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CheckAvailabilityRequest.Unmarshal(m, b)
}
func (m *CheckAvailabilityRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CheckAvailabilityRequest.Marshal(b, m, deterministic)
}
func (m *CheckAvailabilityRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_CheckAvailabilityRequest.Merge(m, src)
}
func (m *CheckAvailabilityRequest) XXX_Size() int {
return xxx_messageInfo_CheckAvailabilityRequest.Size(m)
}
func (m *CheckAvailabilityRequest) XXX_DiscardUnknown() {
xxx_messageInfo_CheckAvailabilityRequest.DiscardUnknown(m)
}
var xxx_messageInfo_CheckAvailabilityRequest proto.InternalMessageInfo
func (m *CheckAvailabilityRequest) GetSlot() *Slot {
if m != nil {
return m.Slot
}
return nil
}
// Response for the CheckAvailability RPC with the availability of the
// appointment slot.
type CheckAvailabilityResponse struct {
// The requested slot. (required)
Slot *Slot `protobuf:"bytes,1,opt,name=slot,proto3" json:"slot,omitempty"`
// Number of available spots.
// 0 indicates that the appointment slot is not available. (required)
CountAvailable int32 `protobuf:"varint,2,opt,name=count_available,json=countAvailable,proto3" json:"count_available,omitempty"`
// If set, the last time (in seconds since the Unix epoch) that this specific
// appointment slot can be cancelled through Reserve with Google. This field
// will override any service-level cancellation rules. (optional)
LastOnlineCancellableSec int64 `protobuf:"varint,5,opt,name=last_online_cancellable_sec,json=lastOnlineCancellableSec,proto3" json:"last_online_cancellable_sec,omitempty"`
// The requirement to show the slots duration and/or endtime. This field will
// be ignored if the slot is unavailable. (optional)
DurationRequirement CheckAvailabilityResponse_DurationRequirement `protobuf:"varint,3,opt,name=duration_requirement,json=durationRequirement,proto3,enum=ext.maps.booking.partner.v3.CheckAvailabilityResponse_DurationRequirement" json:"duration_requirement,omitempty"`
// Optionally, the partner can return additional updated information about the
// availability for this merchant if this information is present when
// responding to the CheckAvailabilityRequest and if there is no negative
// impact on the CheckAvailability request latency.
// For instance an entire day of merchant availability for a superset of
// resources can be returned here.
AvailabilityUpdate *AvailabilityUpdate `protobuf:"bytes,4,opt,name=availability_update,json=availabilityUpdate,proto3" json:"availability_update,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *CheckAvailabilityResponse) Reset() { *m = CheckAvailabilityResponse{} }
func (m *CheckAvailabilityResponse) String() string { return proto.CompactTextString(m) }
func (*CheckAvailabilityResponse) ProtoMessage() {}
func (*CheckAvailabilityResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_1820d8e1a9fad753, []int{1}
}
func (m *CheckAvailabilityResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CheckAvailabilityResponse.Unmarshal(m, b)
}
func (m *CheckAvailabilityResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CheckAvailabilityResponse.Marshal(b, m, deterministic)
}
func (m *CheckAvailabilityResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_CheckAvailabilityResponse.Merge(m, src)
}
func (m *CheckAvailabilityResponse) XXX_Size() int {
return xxx_messageInfo_CheckAvailabilityResponse.Size(m)
}
func (m *CheckAvailabilityResponse) XXX_DiscardUnknown() {
xxx_messageInfo_CheckAvailabilityResponse.DiscardUnknown(m)
}
var xxx_messageInfo_CheckAvailabilityResponse proto.InternalMessageInfo
func (m *CheckAvailabilityResponse) GetSlot() *Slot {
if m != nil {
return m.Slot
}
return nil
}
func (m *CheckAvailabilityResponse) GetCountAvailable() int32 {
if m != nil {
return m.CountAvailable
}
return 0
}
func (m *CheckAvailabilityResponse) GetLastOnlineCancellableSec() int64 {
if m != nil {
return m.LastOnlineCancellableSec
}
return 0
}
func (m *CheckAvailabilityResponse) GetDurationRequirement() CheckAvailabilityResponse_DurationRequirement {
if m != nil {
return m.DurationRequirement
}
return CheckAvailabilityResponse_DURATION_REQUIREMENT_UNSPECIFIED
}
func (m *CheckAvailabilityResponse) GetAvailabilityUpdate() *AvailabilityUpdate {
if m != nil {
return m.AvailabilityUpdate
}
return nil
}
// An update to one ore more slots indicating that the availability for the
// associated time has potentially changed.
type AvailabilityUpdate struct {
SlotAvailability []*SlotAvailability `protobuf:"bytes,1,rep,name=slot_availability,json=slotAvailability,proto3" json:"slot_availability,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *AvailabilityUpdate) Reset() { *m = AvailabilityUpdate{} }
func (m *AvailabilityUpdate) String() string { return proto.CompactTextString(m) }
func (*AvailabilityUpdate) ProtoMessage() {}
func (*AvailabilityUpdate) Descriptor() ([]byte, []int) {
return fileDescriptor_1820d8e1a9fad753, []int{2}
}
func (m *AvailabilityUpdate) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_AvailabilityUpdate.Unmarshal(m, b)
}
func (m *AvailabilityUpdate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_AvailabilityUpdate.Marshal(b, m, deterministic)
}
func (m *AvailabilityUpdate) XXX_Merge(src proto.Message) {
xxx_messageInfo_AvailabilityUpdate.Merge(m, src)
}
func (m *AvailabilityUpdate) XXX_Size() int {
return xxx_messageInfo_AvailabilityUpdate.Size(m)
}
func (m *AvailabilityUpdate) XXX_DiscardUnknown() {
xxx_messageInfo_AvailabilityUpdate.DiscardUnknown(m)
}
var xxx_messageInfo_AvailabilityUpdate proto.InternalMessageInfo
func (m *AvailabilityUpdate) GetSlotAvailability() []*SlotAvailability {
if m != nil {
return m.SlotAvailability
}
return nil
}
// An inventory slot and associated count of open spots.
type SlotAvailability struct {
Slot *Slot `protobuf:"bytes,1,opt,name=slot,proto3" json:"slot,omitempty"`
// Number of available spots.
// 0 indicates that the appointment slot is not available. (required)
CountAvailable int32 `protobuf:"varint,2,opt,name=count_available,json=countAvailable,proto3" json:"count_available,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *SlotAvailability) Reset() { *m = SlotAvailability{} }
func (m *SlotAvailability) String() string { return proto.CompactTextString(m) }
func (*SlotAvailability) ProtoMessage() {}
func (*SlotAvailability) Descriptor() ([]byte, []int) {
return fileDescriptor_1820d8e1a9fad753, []int{3}
}
func (m *SlotAvailability) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SlotAvailability.Unmarshal(m, b)
}
func (m *SlotAvailability) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_SlotAvailability.Marshal(b, m, deterministic)
}
func (m *SlotAvailability) XXX_Merge(src proto.Message) {
xxx_messageInfo_SlotAvailability.Merge(m, src)
}
func (m *SlotAvailability) XXX_Size() int {
return xxx_messageInfo_SlotAvailability.Size(m)
}
func (m *SlotAvailability) XXX_DiscardUnknown() {
xxx_messageInfo_SlotAvailability.DiscardUnknown(m)
}
var xxx_messageInfo_SlotAvailability proto.InternalMessageInfo
func (m *SlotAvailability) GetSlot() *Slot {
if m != nil {
return m.Slot
}
return nil
}
func (m *SlotAvailability) GetCountAvailable() int32 {
if m != nil {
return m.CountAvailable
}
return 0
}
// Identifies a Slot service_id and start time and optionally, the Slot duration
// and resources, for a specific merchant. Note that this differs from the
// definition of Slot, as it does not include merchant_id identifier.
type SlotTime struct {
// ID of the service. (required)
ServiceId string `protobuf:"bytes,5,opt,name=service_id,json=serviceId,proto3" json:"service_id,omitempty"`
// Start time of the appointment slot in seconds of UTC time since Unix epoch
// (required)
StartSec int64 `protobuf:"varint,1,opt,name=start_sec,json=startSec,proto3" json:"start_sec,omitempty"`
// Duration of the appointment slot in seconds (optional)
DurationSec int64 `protobuf:"varint,2,opt,name=duration_sec,json=durationSec,proto3" json:"duration_sec,omitempty"`
// Opaque tag that identifies the availability slot and matches the value
// provided in the availability feed (optional)
AvailabilityTag string `protobuf:"bytes,3,opt,name=availability_tag,json=availabilityTag,proto3" json:"availability_tag,omitempty"`
// The set of resources that specifies the appointment slot, e.g. by
// indicating the staff member and room selected by the user, or party size
// for dining slots (optional)
ResourceIds *ResourceIds `protobuf:"bytes,4,opt,name=resource_ids,json=resourceIds,proto3" json:"resource_ids,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *SlotTime) Reset() { *m = SlotTime{} }
func (m *SlotTime) String() string { return proto.CompactTextString(m) }
func (*SlotTime) ProtoMessage() {}
func (*SlotTime) Descriptor() ([]byte, []int) {
return fileDescriptor_1820d8e1a9fad753, []int{4}
}
func (m *SlotTime) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SlotTime.Unmarshal(m, b)
}
func (m *SlotTime) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_SlotTime.Marshal(b, m, deterministic)
}
func (m *SlotTime) XXX_Merge(src proto.Message) {
xxx_messageInfo_SlotTime.Merge(m, src)
}
func (m *SlotTime) XXX_Size() int {
return xxx_messageInfo_SlotTime.Size(m)
}
func (m *SlotTime) XXX_DiscardUnknown() {
xxx_messageInfo_SlotTime.DiscardUnknown(m)
}
var xxx_messageInfo_SlotTime proto.InternalMessageInfo
func (m *SlotTime) GetServiceId() string {
if m != nil {
return m.ServiceId
}
return ""
}
func (m *SlotTime) GetStartSec() int64 {
if m != nil {
return m.StartSec
}
return 0
}
func (m *SlotTime) GetDurationSec() int64 {
if m != nil {
return m.DurationSec
}
return 0
}
func (m *SlotTime) GetAvailabilityTag() string {
if m != nil {
return m.AvailabilityTag
}
return ""
}
func (m *SlotTime) GetResourceIds() *ResourceIds {
if m != nil {
return m.ResourceIds
}
return nil
}
type SlotTimeAvailability struct {
// The SlotTime for which availability was checked.
SlotTime *SlotTime `protobuf:"bytes,1,opt,name=slot_time,json=slotTime,proto3" json:"slot_time,omitempty"`
// Whether the requested SlotTime is available
Available bool `protobuf:"varint,2,opt,name=available,proto3" json:"available,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *SlotTimeAvailability) Reset() { *m = SlotTimeAvailability{} }
func (m *SlotTimeAvailability) String() string { return proto.CompactTextString(m) }
func (*SlotTimeAvailability) ProtoMessage() {}
func (*SlotTimeAvailability) Descriptor() ([]byte, []int) {
return fileDescriptor_1820d8e1a9fad753, []int{5}
}
func (m *SlotTimeAvailability) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SlotTimeAvailability.Unmarshal(m, b)
}
func (m *SlotTimeAvailability) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_SlotTimeAvailability.Marshal(b, m, deterministic)
}
func (m *SlotTimeAvailability) XXX_Merge(src proto.Message) {
xxx_messageInfo_SlotTimeAvailability.Merge(m, src)
}
func (m *SlotTimeAvailability) XXX_Size() int {
return xxx_messageInfo_SlotTimeAvailability.Size(m)
}
func (m *SlotTimeAvailability) XXX_DiscardUnknown() {
xxx_messageInfo_SlotTimeAvailability.DiscardUnknown(m)
}
var xxx_messageInfo_SlotTimeAvailability proto.InternalMessageInfo
func (m *SlotTimeAvailability) GetSlotTime() *SlotTime {
if m != nil {
return m.SlotTime
}
return nil
}
func (m *SlotTimeAvailability) GetAvailable() bool {
if m != nil {
return m.Available
}
return false
}
// Request to lookup availabilities of a list of specified slot times for a
// given merchant/service.
type BatchAvailabilityLookupRequest struct {
// ID of the merchant.
MerchantId string `protobuf:"bytes,1,opt,name=merchant_id,json=merchantId,proto3" json:"merchant_id,omitempty"`
// Multiple slot times to be checked for availability. All queried times apply
// to the same merchant_id and service_id.
SlotTime []*SlotTime `protobuf:"bytes,3,rep,name=slot_time,json=slotTime,proto3" json:"slot_time,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *BatchAvailabilityLookupRequest) Reset() { *m = BatchAvailabilityLookupRequest{} }
func (m *BatchAvailabilityLookupRequest) String() string { return proto.CompactTextString(m) }
func (*BatchAvailabilityLookupRequest) ProtoMessage() {}
func (*BatchAvailabilityLookupRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_1820d8e1a9fad753, []int{6}
}
func (m *BatchAvailabilityLookupRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_BatchAvailabilityLookupRequest.Unmarshal(m, b)
}
func (m *BatchAvailabilityLookupRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_BatchAvailabilityLookupRequest.Marshal(b, m, deterministic)
}
func (m *BatchAvailabilityLookupRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_BatchAvailabilityLookupRequest.Merge(m, src)
}
func (m *BatchAvailabilityLookupRequest) XXX_Size() int {
return xxx_messageInfo_BatchAvailabilityLookupRequest.Size(m)
}
func (m *BatchAvailabilityLookupRequest) XXX_DiscardUnknown() {
xxx_messageInfo_BatchAvailabilityLookupRequest.DiscardUnknown(m)
}
var xxx_messageInfo_BatchAvailabilityLookupRequest proto.InternalMessageInfo
func (m *BatchAvailabilityLookupRequest) GetMerchantId() string {
if m != nil {
return m.MerchantId
}
return ""
}
func (m *BatchAvailabilityLookupRequest) GetSlotTime() []*SlotTime {
if m != nil {
return m.SlotTime
}
return nil
}
// Response for the BatchAvailabilityLookupRequest RPC with the availabilities
// of the appointment slots.
type BatchAvailabilityLookupResponse struct {
// The availabilities for the requested SlotTime entries. There must be
// exactly one slot_time_availability for each SlotTime entry in the
// [ext.maps.booking.partner.v3.BatchAvailabilityLookupRequest].
SlotTimeAvailability []*SlotTimeAvailability `protobuf:"bytes,1,rep,name=slot_time_availability,json=slotTimeAvailability,proto3" json:"slot_time_availability,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *BatchAvailabilityLookupResponse) Reset() { *m = BatchAvailabilityLookupResponse{} }
func (m *BatchAvailabilityLookupResponse) String() string { return proto.CompactTextString(m) }
func (*BatchAvailabilityLookupResponse) ProtoMessage() {}
func (*BatchAvailabilityLookupResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_1820d8e1a9fad753, []int{7}
}
func (m *BatchAvailabilityLookupResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_BatchAvailabilityLookupResponse.Unmarshal(m, b)
}
func (m *BatchAvailabilityLookupResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_BatchAvailabilityLookupResponse.Marshal(b, m, deterministic)
}
func (m *BatchAvailabilityLookupResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_BatchAvailabilityLookupResponse.Merge(m, src)
}
func (m *BatchAvailabilityLookupResponse) XXX_Size() int {
return xxx_messageInfo_BatchAvailabilityLookupResponse.Size(m)
}
func (m *BatchAvailabilityLookupResponse) XXX_DiscardUnknown() {
xxx_messageInfo_BatchAvailabilityLookupResponse.DiscardUnknown(m)
}
var xxx_messageInfo_BatchAvailabilityLookupResponse proto.InternalMessageInfo
func (m *BatchAvailabilityLookupResponse) GetSlotTimeAvailability() []*SlotTimeAvailability {
if m != nil {
return m.SlotTimeAvailability
}
return nil
}
// Request to check the fulfillability of an order.
type CheckOrderFulfillabilityRequest struct {
// The merchant that this order is intended for. (required)
MerchantId string `protobuf:"bytes,1,opt,name=merchant_id,json=merchantId,proto3" json:"merchant_id,omitempty"`
// The line items in this order. All services requested must belong to the
// specified merchant. (required)
Item []*LineItem `protobuf:"bytes,2,rep,name=item,proto3" json:"item,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *CheckOrderFulfillabilityRequest) Reset() { *m = CheckOrderFulfillabilityRequest{} }
func (m *CheckOrderFulfillabilityRequest) String() string { return proto.CompactTextString(m) }
func (*CheckOrderFulfillabilityRequest) ProtoMessage() {}
func (*CheckOrderFulfillabilityRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_1820d8e1a9fad753, []int{8}
}
func (m *CheckOrderFulfillabilityRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CheckOrderFulfillabilityRequest.Unmarshal(m, b)
}
func (m *CheckOrderFulfillabilityRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CheckOrderFulfillabilityRequest.Marshal(b, m, deterministic)
}
func (m *CheckOrderFulfillabilityRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_CheckOrderFulfillabilityRequest.Merge(m, src)
}
func (m *CheckOrderFulfillabilityRequest) XXX_Size() int {
return xxx_messageInfo_CheckOrderFulfillabilityRequest.Size(m)
}
func (m *CheckOrderFulfillabilityRequest) XXX_DiscardUnknown() {
xxx_messageInfo_CheckOrderFulfillabilityRequest.DiscardUnknown(m)
}
var xxx_messageInfo_CheckOrderFulfillabilityRequest proto.InternalMessageInfo
func (m *CheckOrderFulfillabilityRequest) GetMerchantId() string {
if m != nil {
return m.MerchantId
}
return ""
}
func (m *CheckOrderFulfillabilityRequest) GetItem() []*LineItem {
if m != nil {
return m.Item
}
return nil
}
// Response for the CheckOrderfulfillabilityRequest.
type CheckOrderFulfillabilityResponse struct {
// Fulfillability status of the order, potentially contains updated
// availabilities and prices of the requested line item. (required)
Fulfillability *OrderFulfillability `protobuf:"bytes,1,opt,name=fulfillability,proto3" json:"fulfillability,omitempty"`
// Total processing fees & taxes that need to be paid for this order.
// (required)
FeesAndTaxes *Price `protobuf:"bytes,2,opt,name=fees_and_taxes,json=feesAndTaxes,proto3" json:"fees_and_taxes,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *CheckOrderFulfillabilityResponse) Reset() { *m = CheckOrderFulfillabilityResponse{} }
func (m *CheckOrderFulfillabilityResponse) String() string { return proto.CompactTextString(m) }
func (*CheckOrderFulfillabilityResponse) ProtoMessage() {}
func (*CheckOrderFulfillabilityResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_1820d8e1a9fad753, []int{9}
}
func (m *CheckOrderFulfillabilityResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CheckOrderFulfillabilityResponse.Unmarshal(m, b)
}
func (m *CheckOrderFulfillabilityResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CheckOrderFulfillabilityResponse.Marshal(b, m, deterministic)
}
func (m *CheckOrderFulfillabilityResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_CheckOrderFulfillabilityResponse.Merge(m, src)
}
func (m *CheckOrderFulfillabilityResponse) XXX_Size() int {
return xxx_messageInfo_CheckOrderFulfillabilityResponse.Size(m)
}
func (m *CheckOrderFulfillabilityResponse) XXX_DiscardUnknown() {
xxx_messageInfo_CheckOrderFulfillabilityResponse.DiscardUnknown(m)
}
var xxx_messageInfo_CheckOrderFulfillabilityResponse proto.InternalMessageInfo
func (m *CheckOrderFulfillabilityResponse) GetFulfillability() *OrderFulfillability {
if m != nil {
return m.Fulfillability
}
return nil
}
func (m *CheckOrderFulfillabilityResponse) GetFeesAndTaxes() *Price {
if m != nil {
return m.FeesAndTaxes
}
return nil
}
// Request to get booking status and prepayment status for a Booking.
type GetBookingStatusRequest struct {
// ID of the existing booking (required)
BookingId string `protobuf:"bytes,1,opt,name=booking_id,json=bookingId,proto3" json:"booking_id,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *GetBookingStatusRequest) Reset() { *m = GetBookingStatusRequest{} }
func (m *GetBookingStatusRequest) String() string { return proto.CompactTextString(m) }
func (*GetBookingStatusRequest) ProtoMessage() {}
func (*GetBookingStatusRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_1820d8e1a9fad753, []int{10}
}
func (m *GetBookingStatusRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetBookingStatusRequest.Unmarshal(m, b)
}
func (m *GetBookingStatusRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_GetBookingStatusRequest.Marshal(b, m, deterministic)
}
func (m *GetBookingStatusRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_GetBookingStatusRequest.Merge(m, src)
}
func (m *GetBookingStatusRequest) XXX_Size() int {
return xxx_messageInfo_GetBookingStatusRequest.Size(m)
}
func (m *GetBookingStatusRequest) XXX_DiscardUnknown() {
xxx_messageInfo_GetBookingStatusRequest.DiscardUnknown(m)
}
var xxx_messageInfo_GetBookingStatusRequest proto.InternalMessageInfo
func (m *GetBookingStatusRequest) GetBookingId() string {
if m != nil {
return m.BookingId
}
return ""
}
// Response for the GetBookingStatus RPC with booking status and prepayment
// status.
type GetBookingStatusResponse struct {
// ID of the booking (required)
BookingId string `protobuf:"bytes,1,opt,name=booking_id,json=bookingId,proto3" json:"booking_id,omitempty"`
// Status of the booking (required)
BookingStatus BookingStatus `protobuf:"varint,2,opt,name=booking_status,json=bookingStatus,proto3,enum=ext.maps.booking.partner.v3.BookingStatus" json:"booking_status,omitempty"`
// Prepayment status of the booking (required)
PrepaymentStatus PrepaymentStatus `protobuf:"varint,3,opt,name=prepayment_status,json=prepaymentStatus,proto3,enum=ext.maps.booking.partner.v3.PrepaymentStatus" json:"prepayment_status,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *GetBookingStatusResponse) Reset() { *m = GetBookingStatusResponse{} }
func (m *GetBookingStatusResponse) String() string { return proto.CompactTextString(m) }
func (*GetBookingStatusResponse) ProtoMessage() {}
func (*GetBookingStatusResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_1820d8e1a9fad753, []int{11}
}
func (m *GetBookingStatusResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetBookingStatusResponse.Unmarshal(m, b)
}
func (m *GetBookingStatusResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_GetBookingStatusResponse.Marshal(b, m, deterministic)
}
func (m *GetBookingStatusResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_GetBookingStatusResponse.Merge(m, src)
}
func (m *GetBookingStatusResponse) XXX_Size() int {
return xxx_messageInfo_GetBookingStatusResponse.Size(m)
}
func (m *GetBookingStatusResponse) XXX_DiscardUnknown() {
xxx_messageInfo_GetBookingStatusResponse.DiscardUnknown(m)
}
var xxx_messageInfo_GetBookingStatusResponse proto.InternalMessageInfo
func (m *GetBookingStatusResponse) GetBookingId() string {
if m != nil {
return m.BookingId
}
return ""
}
func (m *GetBookingStatusResponse) GetBookingStatus() BookingStatus {
if m != nil {
return m.BookingStatus
}
return BookingStatus_BOOKING_STATUS_UNSPECIFIED
}
func (m *GetBookingStatusResponse) GetPrepaymentStatus() PrepaymentStatus {
if m != nil {
return m.PrepaymentStatus
}
return PrepaymentStatus_PREPAYMENT_STATUS_UNSPECIFIED
}
// Request to create a Booking for an inventory slot. Consumes the lease if
// provided.
type CreateBookingRequest struct {
// The inventory slot that is being requested to make this booking.
// If lease_ref is provided, slot must match the lease; slot is provided for
// the partner to verify the lease information.
// If lease_ref is absent, then create the booking for the slot. (required)
Slot *Slot `protobuf:"bytes,1,opt,name=slot,proto3" json:"slot,omitempty"`
// The lease that is being confirmed to make this booking.
// If lease_ref is provided, then create the booking using the lease.
// (optional)
LeaseRef *LeaseReference `protobuf:"bytes,2,opt,name=lease_ref,json=leaseRef,proto3" json:"lease_ref,omitempty"`
// Personal information of the user making the appointment (required)
UserInformation *UserInformation `protobuf:"bytes,3,opt,name=user_information,json=userInformation,proto3" json:"user_information,omitempty"`
// Information about payments. When payment authorizations are handled by
// Google, if the booking request does not succeed, payment authorizations are
// automatically canceled. (optional)
PaymentInformation *PaymentInformation `protobuf:"bytes,4,opt,name=payment_information,json=paymentInformation,proto3" json:"payment_information,omitempty"`
// The parameters to be used if the payment is processed by the partner
// (i.e. payment_information.payment_processed_by is equal to
// PROCESSED_BY_PARTNER). (optional)
PaymentProcessingParameters *PaymentProcessingParameters `protobuf:"bytes,5,opt,name=payment_processing_parameters,json=paymentProcessingParameters,proto3" json:"payment_processing_parameters,omitempty"`
// Idempotency token for CreateBooking requests. (required)
IdempotencyToken string `protobuf:"bytes,6,opt,name=idempotency_token,json=idempotencyToken,proto3" json:"idempotency_token,omitempty"`
// A string from the user which contains any special requests or additional
// information that they would like to notify the merchant about. (optional)
AdditionalRequest string `protobuf:"bytes,7,opt,name=additional_request,json=additionalRequest,proto3" json:"additional_request,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *CreateBookingRequest) Reset() { *m = CreateBookingRequest{} }
func (m *CreateBookingRequest) String() string { return proto.CompactTextString(m) }
func (*CreateBookingRequest) ProtoMessage() {}
func (*CreateBookingRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_1820d8e1a9fad753, []int{12}
}
func (m *CreateBookingRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CreateBookingRequest.Unmarshal(m, b)
}
func (m *CreateBookingRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CreateBookingRequest.Marshal(b, m, deterministic)
}
func (m *CreateBookingRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_CreateBookingRequest.Merge(m, src)
}
func (m *CreateBookingRequest) XXX_Size() int {
return xxx_messageInfo_CreateBookingRequest.Size(m)
}
func (m *CreateBookingRequest) XXX_DiscardUnknown() {
xxx_messageInfo_CreateBookingRequest.DiscardUnknown(m)
}
var xxx_messageInfo_CreateBookingRequest proto.InternalMessageInfo
func (m *CreateBookingRequest) GetSlot() *Slot {
if m != nil {
return m.Slot
}
return nil
}
func (m *CreateBookingRequest) GetLeaseRef() *LeaseReference {
if m != nil {
return m.LeaseRef
}
return nil
}
func (m *CreateBookingRequest) GetUserInformation() *UserInformation {
if m != nil {
return m.UserInformation
}
return nil
}
func (m *CreateBookingRequest) GetPaymentInformation() *PaymentInformation {
if m != nil {
return m.PaymentInformation
}
return nil
}
func (m *CreateBookingRequest) GetPaymentProcessingParameters() *PaymentProcessingParameters {
if m != nil {
return m.PaymentProcessingParameters
}
return nil
}
func (m *CreateBookingRequest) GetIdempotencyToken() string {
if m != nil {
return m.IdempotencyToken
}
return ""
}
func (m *CreateBookingRequest) GetAdditionalRequest() string {
if m != nil {
return m.AdditionalRequest
}
return ""
}
// Response with the created Booking for an inventory slot.
type CreateBookingResponse struct {
// The created booking (required)
Booking *Booking `protobuf:"bytes,1,opt,name=booking,proto3" json:"booking,omitempty"`
// The updated user payment option used in this booking.
// If a new payment option was purchased to pay for the booking, this should
// be a newly created user payment option.
// If an already purchased user payment option was used for this booking,
// this should reflect an updated version of that user payment option.
// (optional)
UserPaymentOption *UserPaymentOption `protobuf:"bytes,2,opt,name=user_payment_option,json=userPaymentOption,proto3" json:"user_payment_option,omitempty"`
// If creating a booking fails, this field should reflect the business logic
// error (e.g., slot has become unavailable) and all other fields in the
// CreateBookingResponse message are expected to be unset. (required if
// failure occurs)
BookingFailure *BookingFailure `protobuf:"bytes,3,opt,name=booking_failure,json=bookingFailure,proto3" json:"booking_failure,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *CreateBookingResponse) Reset() { *m = CreateBookingResponse{} }
func (m *CreateBookingResponse) String() string { return proto.CompactTextString(m) }
func (*CreateBookingResponse) ProtoMessage() {}
func (*CreateBookingResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_1820d8e1a9fad753, []int{13}
}
func (m *CreateBookingResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CreateBookingResponse.Unmarshal(m, b)
}
func (m *CreateBookingResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CreateBookingResponse.Marshal(b, m, deterministic)
}
func (m *CreateBookingResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_CreateBookingResponse.Merge(m, src)
}
func (m *CreateBookingResponse) XXX_Size() int {
return xxx_messageInfo_CreateBookingResponse.Size(m)
}
func (m *CreateBookingResponse) XXX_DiscardUnknown() {
xxx_messageInfo_CreateBookingResponse.DiscardUnknown(m)
}
var xxx_messageInfo_CreateBookingResponse proto.InternalMessageInfo
func (m *CreateBookingResponse) GetBooking() *Booking {
if m != nil {
return m.Booking
}
return nil
}
func (m *CreateBookingResponse) GetUserPaymentOption() *UserPaymentOption {
if m != nil {
return m.UserPaymentOption
}
return nil
}
func (m *CreateBookingResponse) GetBookingFailure() *BookingFailure {
if m != nil {
return m.BookingFailure
}
return nil
}
// Request to create a Lease for a slot in the inventory. The expiration time
// in the returned Lease may be modified by the backend, e.g. if the requested
// lease period is too long.
type CreateLeaseRequest struct {
// The lease to be created with information about the appointment slot
// (required)
Lease *Lease `protobuf:"bytes,1,opt,name=lease,proto3" json:"lease,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *CreateLeaseRequest) Reset() { *m = CreateLeaseRequest{} }
func (m *CreateLeaseRequest) String() string { return proto.CompactTextString(m) }
func (*CreateLeaseRequest) ProtoMessage() {}
func (*CreateLeaseRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_1820d8e1a9fad753, []int{14}
}
func (m *CreateLeaseRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CreateLeaseRequest.Unmarshal(m, b)
}
func (m *CreateLeaseRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CreateLeaseRequest.Marshal(b, m, deterministic)
}
func (m *CreateLeaseRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_CreateLeaseRequest.Merge(m, src)
}
func (m *CreateLeaseRequest) XXX_Size() int {
return xxx_messageInfo_CreateLeaseRequest.Size(m)
}
func (m *CreateLeaseRequest) XXX_DiscardUnknown() {
xxx_messageInfo_CreateLeaseRequest.DiscardUnknown(m)
}
var xxx_messageInfo_CreateLeaseRequest proto.InternalMessageInfo
func (m *CreateLeaseRequest) GetLease() *Lease {
if m != nil {
return m.Lease
}
return nil
}
// Response for the CreateLease RPC with the created Lease.
type CreateLeaseResponse struct {
// The created Lease (required)
Lease *Lease `protobuf:"bytes,1,opt,name=lease,proto3" json:"lease,omitempty"`
// If creating a lease fails, this field should reflect the business logic
// error (e.g., slot has become unavailable) and lease field is expected to be
// unset. (required if failure occurs)
BookingFailure *BookingFailure `protobuf:"bytes,2,opt,name=booking_failure,json=bookingFailure,proto3" json:"booking_failure,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *CreateLeaseResponse) Reset() { *m = CreateLeaseResponse{} }
func (m *CreateLeaseResponse) String() string { return proto.CompactTextString(m) }
func (*CreateLeaseResponse) ProtoMessage() {}
func (*CreateLeaseResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_1820d8e1a9fad753, []int{15}
}
func (m *CreateLeaseResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CreateLeaseResponse.Unmarshal(m, b)
}
func (m *CreateLeaseResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CreateLeaseResponse.Marshal(b, m, deterministic)
}
func (m *CreateLeaseResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_CreateLeaseResponse.Merge(m, src)
}
func (m *CreateLeaseResponse) XXX_Size() int {
return xxx_messageInfo_CreateLeaseResponse.Size(m)
}
func (m *CreateLeaseResponse) XXX_DiscardUnknown() {
xxx_messageInfo_CreateLeaseResponse.DiscardUnknown(m)
}
var xxx_messageInfo_CreateLeaseResponse proto.InternalMessageInfo
func (m *CreateLeaseResponse) GetLease() *Lease {
if m != nil {
return m.Lease
}
return nil
}
func (m *CreateLeaseResponse) GetBookingFailure() *BookingFailure {
if m != nil {
return m.BookingFailure
}
return nil
}
// Temporary lease for an inventory slot
type Lease struct {
// ID of the lease.
// Not populated in CreateLeaseRequest. The value is chosen by the partner and
// has to be returned in the response of CreateLease. (required)
LeaseId string `protobuf:"bytes,1,opt,name=lease_id,json=leaseId,proto3" json:"lease_id,omitempty"`
// The appointment slot that the lease is created for. (required)
Slot *Slot `protobuf:"bytes,2,opt,name=slot,proto3" json:"slot,omitempty"`
// Unique identifier for this lease, chosen by Reserve with Google. Serves as
// an idempotency token for CreateLease requests. (required)
UserReference string `protobuf:"bytes,3,opt,name=user_reference,json=userReference,proto3" json:"user_reference,omitempty"`
// Expiration time of the lease in UTC Timestamp (required)
LeaseExpirationTimeSec int64 `protobuf:"varint,4,opt,name=lease_expiration_time_sec,json=leaseExpirationTimeSec,proto3" json:"lease_expiration_time_sec,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Lease) Reset() { *m = Lease{} }
func (m *Lease) String() string { return proto.CompactTextString(m) }
func (*Lease) ProtoMessage() {}
func (*Lease) Descriptor() ([]byte, []int) {
return fileDescriptor_1820d8e1a9fad753, []int{16}
}
func (m *Lease) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Lease.Unmarshal(m, b)
}
func (m *Lease) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Lease.Marshal(b, m, deterministic)
}
func (m *Lease) XXX_Merge(src proto.Message) {
xxx_messageInfo_Lease.Merge(m, src)
}
func (m *Lease) XXX_Size() int {
return xxx_messageInfo_Lease.Size(m)
}
func (m *Lease) XXX_DiscardUnknown() {
xxx_messageInfo_Lease.DiscardUnknown(m)
}
var xxx_messageInfo_Lease proto.InternalMessageInfo
func (m *Lease) GetLeaseId() string {
if m != nil {
return m.LeaseId
}
return ""
}
func (m *Lease) GetSlot() *Slot {
if m != nil {
return m.Slot
}
return nil
}
func (m *Lease) GetUserReference() string {
if m != nil {
return m.UserReference
}
return ""
}
func (m *Lease) GetLeaseExpirationTimeSec() int64 {
if m != nil {
return m.LeaseExpirationTimeSec
}
return 0
}
// Reference to a Lease that has been created via CreateLease.
type LeaseReference struct {
// Lease ID (required)
LeaseId string `protobuf:"bytes,1,opt,name=lease_id,json=leaseId,proto3" json:"lease_id,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *LeaseReference) Reset() { *m = LeaseReference{} }
func (m *LeaseReference) String() string { return proto.CompactTextString(m) }
func (*LeaseReference) ProtoMessage() {}
func (*LeaseReference) Descriptor() ([]byte, []int) {
return fileDescriptor_1820d8e1a9fad753, []int{17}
}
func (m *LeaseReference) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_LeaseReference.Unmarshal(m, b)
}
func (m *LeaseReference) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_LeaseReference.Marshal(b, m, deterministic)
}
func (m *LeaseReference) XXX_Merge(src proto.Message) {
xxx_messageInfo_LeaseReference.Merge(m, src)
}
func (m *LeaseReference) XXX_Size() int {
return xxx_messageInfo_LeaseReference.Size(m)
}
func (m *LeaseReference) XXX_DiscardUnknown() {
xxx_messageInfo_LeaseReference.DiscardUnknown(m)
}
var xxx_messageInfo_LeaseReference proto.InternalMessageInfo
func (m *LeaseReference) GetLeaseId() string {
if m != nil {
return m.LeaseId
}
return ""
}
// Request to create an order.
type CreateOrderRequest struct {
// The order to create. (required)
Order *Order `protobuf:"bytes,1,opt,name=order,proto3" json:"order,omitempty"`
// The parameters to be used if the payment is processed by the partner
// (i.e. order.payment_information.payment_processed_by is equal to
// PROCESSED_BY_PARTNER). (required if payment is processed by the partner)
PaymentProcessingParameters *PaymentProcessingParameters `protobuf:"bytes,2,opt,name=payment_processing_parameters,json=paymentProcessingParameters,proto3" json:"payment_processing_parameters,omitempty"`
// Idempotency token for CreateOrder requests. (required)
IdempotencyToken string `protobuf:"bytes,3,opt,name=idempotency_token,json=idempotencyToken,proto3" json:"idempotency_token,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *CreateOrderRequest) Reset() { *m = CreateOrderRequest{} }
func (m *CreateOrderRequest) String() string { return proto.CompactTextString(m) }
func (*CreateOrderRequest) ProtoMessage() {}
func (*CreateOrderRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_1820d8e1a9fad753, []int{18}
}
func (m *CreateOrderRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CreateOrderRequest.Unmarshal(m, b)
}
func (m *CreateOrderRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CreateOrderRequest.Marshal(b, m, deterministic)
}
func (m *CreateOrderRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_CreateOrderRequest.Merge(m, src)
}
func (m *CreateOrderRequest) XXX_Size() int {
return xxx_messageInfo_CreateOrderRequest.Size(m)
}
func (m *CreateOrderRequest) XXX_DiscardUnknown() {
xxx_messageInfo_CreateOrderRequest.DiscardUnknown(m)
}
var xxx_messageInfo_CreateOrderRequest proto.InternalMessageInfo
func (m *CreateOrderRequest) GetOrder() *Order {
if m != nil {
return m.Order
}
return nil
}
func (m *CreateOrderRequest) GetPaymentProcessingParameters() *PaymentProcessingParameters {
if m != nil {
return m.PaymentProcessingParameters
}
return nil
}
func (m *CreateOrderRequest) GetIdempotencyToken() string {
if m != nil {
return m.IdempotencyToken
}
return ""
}
// Response for the CreateOrderRequest.
type CreateOrderResponse struct {
// All line items in an order either fail or succeed together.
// This means that if some of the items cannot be fulfilled, the entire
// order must fail, the booking must not be made for any item, and the user
// must not be charged.
//
// Types that are valid to be assigned to Result:
// *CreateOrderResponse_Order
// *CreateOrderResponse_OrderFailure
Result isCreateOrderResponse_Result `protobuf_oneof:"result"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *CreateOrderResponse) Reset() { *m = CreateOrderResponse{} }
func (m *CreateOrderResponse) String() string { return proto.CompactTextString(m) }
func (*CreateOrderResponse) ProtoMessage() {}
func (*CreateOrderResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_1820d8e1a9fad753, []int{19}
}
func (m *CreateOrderResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CreateOrderResponse.Unmarshal(m, b)
}
func (m *CreateOrderResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CreateOrderResponse.Marshal(b, m, deterministic)
}
func (m *CreateOrderResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_CreateOrderResponse.Merge(m, src)
}
func (m *CreateOrderResponse) XXX_Size() int {
return xxx_messageInfo_CreateOrderResponse.Size(m)
}
func (m *CreateOrderResponse) XXX_DiscardUnknown() {
xxx_messageInfo_CreateOrderResponse.DiscardUnknown(m)
}
var xxx_messageInfo_CreateOrderResponse proto.InternalMessageInfo
type isCreateOrderResponse_Result interface {
isCreateOrderResponse_Result()
}
type CreateOrderResponse_Order struct {
Order *Order `protobuf:"bytes,1,opt,name=order,proto3,oneof"`
}
type CreateOrderResponse_OrderFailure struct {
OrderFailure *OrderFailure `protobuf:"bytes,2,opt,name=order_failure,json=orderFailure,proto3,oneof"`
}
func (*CreateOrderResponse_Order) isCreateOrderResponse_Result() {}
func (*CreateOrderResponse_OrderFailure) isCreateOrderResponse_Result() {}
func (m *CreateOrderResponse) GetResult() isCreateOrderResponse_Result {
if m != nil {
return m.Result
}
return nil
}
func (m *CreateOrderResponse) GetOrder() *Order {
if x, ok := m.GetResult().(*CreateOrderResponse_Order); ok {
return x.Order
}
return nil
}
func (m *CreateOrderResponse) GetOrderFailure() *OrderFailure {
if x, ok := m.GetResult().(*CreateOrderResponse_OrderFailure); ok {
return x.OrderFailure
}
return nil
}
// XXX_OneofWrappers is for the internal use of the proto package.
func (*CreateOrderResponse) XXX_OneofWrappers() []interface{} {
return []interface{}{
(*CreateOrderResponse_Order)(nil),
(*CreateOrderResponse_OrderFailure)(nil),
}
}
// Request to list all bookings for a user
type ListBookingsRequest struct {
// ID of the user (required)
UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ListBookingsRequest) Reset() { *m = ListBookingsRequest{} }
func (m *ListBookingsRequest) String() string { return proto.CompactTextString(m) }
func (*ListBookingsRequest) ProtoMessage() {}
func (*ListBookingsRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_1820d8e1a9fad753, []int{20}
}
func (m *ListBookingsRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ListBookingsRequest.Unmarshal(m, b)
}
func (m *ListBookingsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ListBookingsRequest.Marshal(b, m, deterministic)
}
func (m *ListBookingsRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_ListBookingsRequest.Merge(m, src)
}
func (m *ListBookingsRequest) XXX_Size() int {
return xxx_messageInfo_ListBookingsRequest.Size(m)
}
func (m *ListBookingsRequest) XXX_DiscardUnknown() {
xxx_messageInfo_ListBookingsRequest.DiscardUnknown(m)
}
var xxx_messageInfo_ListBookingsRequest proto.InternalMessageInfo
func (m *ListBookingsRequest) GetUserId() string {
if m != nil {
return m.UserId
}
return ""
}
// Response for the ListBookings RPC with all bookings for the requested user.
type ListBookingsResponse struct {
// All bookings of the user (required)
Bookings []*Booking `protobuf:"bytes,1,rep,name=bookings,proto3" json:"bookings,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ListBookingsResponse) Reset() { *m = ListBookingsResponse{} }
func (m *ListBookingsResponse) String() string { return proto.CompactTextString(m) }
func (*ListBookingsResponse) ProtoMessage() {}
func (*ListBookingsResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_1820d8e1a9fad753, []int{21}
}
func (m *ListBookingsResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ListBookingsResponse.Unmarshal(m, b)
}
func (m *ListBookingsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ListBookingsResponse.Marshal(b, m, deterministic)
}
func (m *ListBookingsResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_ListBookingsResponse.Merge(m, src)
}
func (m *ListBookingsResponse) XXX_Size() int {
return xxx_messageInfo_ListBookingsResponse.Size(m)
}
func (m *ListBookingsResponse) XXX_DiscardUnknown() {
xxx_messageInfo_ListBookingsResponse.DiscardUnknown(m)
}
var xxx_messageInfo_ListBookingsResponse proto.InternalMessageInfo
func (m *ListBookingsResponse) GetBookings() []*Booking {
if m != nil {
return m.Bookings
}
return nil
}
// Request to list orders.
type ListOrdersRequest struct {
// Request of orders either by user ID, or by order ID.
//
// Types that are valid to be assigned to Ids:
// *ListOrdersRequest_UserId
// *ListOrdersRequest_OrderIds_
Ids isListOrdersRequest_Ids `protobuf_oneof:"ids"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ListOrdersRequest) Reset() { *m = ListOrdersRequest{} }
func (m *ListOrdersRequest) String() string { return proto.CompactTextString(m) }
func (*ListOrdersRequest) ProtoMessage() {}
func (*ListOrdersRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_1820d8e1a9fad753, []int{22}
}
func (m *ListOrdersRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ListOrdersRequest.Unmarshal(m, b)
}
func (m *ListOrdersRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ListOrdersRequest.Marshal(b, m, deterministic)
}
func (m *ListOrdersRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_ListOrdersRequest.Merge(m, src)
}
func (m *ListOrdersRequest) XXX_Size() int {
return xxx_messageInfo_ListOrdersRequest.Size(m)
}
func (m *ListOrdersRequest) XXX_DiscardUnknown() {
xxx_messageInfo_ListOrdersRequest.DiscardUnknown(m)
}
var xxx_messageInfo_ListOrdersRequest proto.InternalMessageInfo
type isListOrdersRequest_Ids interface {
isListOrdersRequest_Ids()
}
type ListOrdersRequest_UserId struct {
UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3,oneof"`
}
type ListOrdersRequest_OrderIds_ struct {
OrderIds *ListOrdersRequest_OrderIds `protobuf:"bytes,2,opt,name=order_ids,json=orderIds,proto3,oneof"`
}
func (*ListOrdersRequest_UserId) isListOrdersRequest_Ids() {}
func (*ListOrdersRequest_OrderIds_) isListOrdersRequest_Ids() {}
func (m *ListOrdersRequest) GetIds() isListOrdersRequest_Ids {
if m != nil {
return m.Ids
}
return nil
}
func (m *ListOrdersRequest) GetUserId() string {
if x, ok := m.GetIds().(*ListOrdersRequest_UserId); ok {
return x.UserId
}
return ""
}
func (m *ListOrdersRequest) GetOrderIds() *ListOrdersRequest_OrderIds {
if x, ok := m.GetIds().(*ListOrdersRequest_OrderIds_); ok {
return x.OrderIds
}
return nil
}
// XXX_OneofWrappers is for the internal use of the proto package.
func (*ListOrdersRequest) XXX_OneofWrappers() []interface{} {
return []interface{}{
(*ListOrdersRequest_UserId)(nil),
(*ListOrdersRequest_OrderIds_)(nil),
}
}
type ListOrdersRequest_OrderIds struct {
OrderId []string `protobuf:"bytes,1,rep,name=order_id,json=orderId,proto3" json:"order_id,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ListOrdersRequest_OrderIds) Reset() { *m = ListOrdersRequest_OrderIds{} }
func (m *ListOrdersRequest_OrderIds) String() string { return proto.CompactTextString(m) }
func (*ListOrdersRequest_OrderIds) ProtoMessage() {}
func (*ListOrdersRequest_OrderIds) Descriptor() ([]byte, []int) {
return fileDescriptor_1820d8e1a9fad753, []int{22, 0}
}
func (m *ListOrdersRequest_OrderIds) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ListOrdersRequest_OrderIds.Unmarshal(m, b)
}
func (m *ListOrdersRequest_OrderIds) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ListOrdersRequest_OrderIds.Marshal(b, m, deterministic)
}
func (m *ListOrdersRequest_OrderIds) XXX_Merge(src proto.Message) {
xxx_messageInfo_ListOrdersRequest_OrderIds.Merge(m, src)
}
func (m *ListOrdersRequest_OrderIds) XXX_Size() int {
return xxx_messageInfo_ListOrdersRequest_OrderIds.Size(m)
}
func (m *ListOrdersRequest_OrderIds) XXX_DiscardUnknown() {
xxx_messageInfo_ListOrdersRequest_OrderIds.DiscardUnknown(m)
}
var xxx_messageInfo_ListOrdersRequest_OrderIds proto.InternalMessageInfo
func (m *ListOrdersRequest_OrderIds) GetOrderId() []string {
if m != nil {
return m.OrderId
}
return nil
}
// Response for the ListOrders RPC.
type ListOrdersResponse struct {
// All requested orders (required)
Order []*Order `protobuf:"bytes,1,rep,name=order,proto3" json:"order,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ListOrdersResponse) Reset() { *m = ListOrdersResponse{} }
func (m *ListOrdersResponse) String() string { return proto.CompactTextString(m) }
func (*ListOrdersResponse) ProtoMessage() {}
func (*ListOrdersResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_1820d8e1a9fad753, []int{23}
}
func (m *ListOrdersResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ListOrdersResponse.Unmarshal(m, b)
}
func (m *ListOrdersResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ListOrdersResponse.Marshal(b, m, deterministic)
}
func (m *ListOrdersResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_ListOrdersResponse.Merge(m, src)
}
func (m *ListOrdersResponse) XXX_Size() int {
return xxx_messageInfo_ListOrdersResponse.Size(m)
}
func (m *ListOrdersResponse) XXX_DiscardUnknown() {
xxx_messageInfo_ListOrdersResponse.DiscardUnknown(m)
}
var xxx_messageInfo_ListOrdersResponse proto.InternalMessageInfo
func (m *ListOrdersResponse) GetOrder() []*Order {
if m != nil {
return m.Order
}
return nil
}
// Request to update a Booking.
type UpdateBookingRequest struct {
Booking *Booking `protobuf:"bytes,1,opt,name=booking,proto3" json:"booking,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *UpdateBookingRequest) Reset() { *m = UpdateBookingRequest{} }
func (m *UpdateBookingRequest) String() string { return proto.CompactTextString(m) }
func (*UpdateBookingRequest) ProtoMessage() {}
func (*UpdateBookingRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_1820d8e1a9fad753, []int{24}
}
func (m *UpdateBookingRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UpdateBookingRequest.Unmarshal(m, b)
}
func (m *UpdateBookingRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_UpdateBookingRequest.Marshal(b, m, deterministic)
}
func (m *UpdateBookingRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_UpdateBookingRequest.Merge(m, src)
}
func (m *UpdateBookingRequest) XXX_Size() int {
return xxx_messageInfo_UpdateBookingRequest.Size(m)
}
func (m *UpdateBookingRequest) XXX_DiscardUnknown() {
xxx_messageInfo_UpdateBookingRequest.DiscardUnknown(m)
}
var xxx_messageInfo_UpdateBookingRequest proto.InternalMessageInfo
func (m *UpdateBookingRequest) GetBooking() *Booking {
if m != nil {
return m.Booking
}
return nil
}
// Response with the updated Booking.
type UpdateBookingResponse struct {
// The updated booking (required)
Booking *Booking `protobuf:"bytes,1,opt,name=booking,proto3" json:"booking,omitempty"`
// The updated user payment option originally used to pay for this booking.
// This should be set if the UpdateBookingRequest results in a change to
// the UserPaymentOption.
// For instance, if the booking is canceled, the UserPaymentOption should
// reflect an additional credit to the user. In the case of a multi-use
// payment option, the current_count should be increased by one to
// allow the user to create another booking with this payment option. In the
// case of a single-use payment option, a new single-use user payment option
// should be returned. (required if altered in update)
UserPaymentOption *UserPaymentOption `protobuf:"bytes,2,opt,name=user_payment_option,json=userPaymentOption,proto3" json:"user_payment_option,omitempty"`
// If updating a booking fails, this field should reflect the business logic
// error (e.g., booking is not cancellable) (required if failure occurs)
BookingFailure *BookingFailure `protobuf:"bytes,3,opt,name=booking_failure,json=bookingFailure,proto3" json:"booking_failure,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *UpdateBookingResponse) Reset() { *m = UpdateBookingResponse{} }
func (m *UpdateBookingResponse) String() string { return proto.CompactTextString(m) }
func (*UpdateBookingResponse) ProtoMessage() {}
func (*UpdateBookingResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_1820d8e1a9fad753, []int{25}
}
func (m *UpdateBookingResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UpdateBookingResponse.Unmarshal(m, b)
}
func (m *UpdateBookingResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_UpdateBookingResponse.Marshal(b, m, deterministic)
}
func (m *UpdateBookingResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_UpdateBookingResponse.Merge(m, src)
}
func (m *UpdateBookingResponse) XXX_Size() int {
return xxx_messageInfo_UpdateBookingResponse.Size(m)
}
func (m *UpdateBookingResponse) XXX_DiscardUnknown() {
xxx_messageInfo_UpdateBookingResponse.DiscardUnknown(m)
}
var xxx_messageInfo_UpdateBookingResponse proto.InternalMessageInfo
func (m *UpdateBookingResponse) GetBooking() *Booking {
if m != nil {
return m.Booking
}
return nil
}
func (m *UpdateBookingResponse) GetUserPaymentOption() *UserPaymentOption {
if m != nil {
return m.UserPaymentOption
}
return nil
}
func (m *UpdateBookingResponse) GetBookingFailure() *BookingFailure {
if m != nil {
return m.BookingFailure
}
return nil
}
// A booking for an inventory slot
type Booking struct {
// ID of this booking (required)
BookingId string `protobuf:"bytes,1,opt,name=booking_id,json=bookingId,proto3" json:"booking_id,omitempty"`
// The appointment slot of this booking (required)
Slot *Slot `protobuf:"bytes,2,opt,name=slot,proto3" json:"slot,omitempty"`
// Personal information of the user making the appointment (required)
UserInformation *UserInformation `protobuf:"bytes,3,opt,name=user_information,json=userInformation,proto3" json:"user_information,omitempty"`
// Status of the booking (required)
Status BookingStatus `protobuf:"varint,4,opt,name=status,proto3,enum=ext.maps.booking.partner.v3.BookingStatus" json:"status,omitempty"`
// Information about payment transactions that relate to the booking.
// (optional)
PaymentInformation *PaymentInformation `protobuf:"bytes,5,opt,name=payment_information,json=paymentInformation,proto3" json:"payment_information,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Booking) Reset() { *m = Booking{} }
func (m *Booking) String() string { return proto.CompactTextString(m) }
func (*Booking) ProtoMessage() {}
func (*Booking) Descriptor() ([]byte, []int) {
return fileDescriptor_1820d8e1a9fad753, []int{26}
}
func (m *Booking) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Booking.Unmarshal(m, b)
}
func (m *Booking) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Booking.Marshal(b, m, deterministic)
}
func (m *Booking) XXX_Merge(src proto.Message) {
xxx_messageInfo_Booking.Merge(m, src)
}
func (m *Booking) XXX_Size() int {
return xxx_messageInfo_Booking.Size(m)
}
func (m *Booking) XXX_DiscardUnknown() {
xxx_messageInfo_Booking.DiscardUnknown(m)
}
var xxx_messageInfo_Booking proto.InternalMessageInfo
func (m *Booking) GetBookingId() string {
if m != nil {
return m.BookingId
}
return ""
}
func (m *Booking) GetSlot() *Slot {
if m != nil {
return m.Slot
}
return nil
}
func (m *Booking) GetUserInformation() *UserInformation {
if m != nil {
return m.UserInformation
}
return nil
}
func (m *Booking) GetStatus() BookingStatus {
if m != nil {
return m.Status
}
return BookingStatus_BOOKING_STATUS_UNSPECIFIED
}
func (m *Booking) GetPaymentInformation() *PaymentInformation {
if m != nil {
return m.PaymentInformation
}
return nil
}
// Status data that conveys why (1) creating a lease or (2) creating or updating
// a booking fails.
// BookingFailure is intended to primarily capture business logic errors.
type BookingFailure struct {
// The reason why the booking failed. (required)
Cause BookingFailure_Cause `protobuf:"varint,1,opt,name=cause,proto3,enum=ext.maps.booking.partner.v3.BookingFailure_Cause" json:"cause,omitempty"`
// (required only if cause is PAYMENT_ERROR_CARD_TYPE_REJECTED)
RejectedCardType CreditCardType `protobuf:"varint,2,opt,name=rejected_card_type,json=rejectedCardType,proto3,enum=ext.maps.booking.partner.v3.CreditCardType" json:"rejected_card_type,omitempty"`
// This optional field is used for the partner to include additional
// information for debugging purpose only. (optional)
Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *BookingFailure) Reset() { *m = BookingFailure{} }
func (m *BookingFailure) String() string { return proto.CompactTextString(m) }
func (*BookingFailure) ProtoMessage() {}
func (*BookingFailure) Descriptor() ([]byte, []int) {
return fileDescriptor_1820d8e1a9fad753, []int{27}
}
func (m *BookingFailure) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_BookingFailure.Unmarshal(m, b)
}
func (m *BookingFailure) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_BookingFailure.Marshal(b, m, deterministic)
}
func (m *BookingFailure) XXX_Merge(src proto.Message) {
xxx_messageInfo_BookingFailure.Merge(m, src)
}
func (m *BookingFailure) XXX_Size() int {
return xxx_messageInfo_BookingFailure.Size(m)
}
func (m *BookingFailure) XXX_DiscardUnknown() {
xxx_messageInfo_BookingFailure.DiscardUnknown(m)
}
var xxx_messageInfo_BookingFailure proto.InternalMessageInfo
func (m *BookingFailure) GetCause() BookingFailure_Cause {
if m != nil {
return m.Cause
}
return BookingFailure_CAUSE_UNSPECIFIED
}
func (m *BookingFailure) GetRejectedCardType() CreditCardType {
if m != nil {
return m.RejectedCardType
}
return CreditCardType_CREDIT_CARD_TYPE_UNSPECIFIED
}
func (m *BookingFailure) GetDescription() string {
if m != nil {
return m.Description
}
return ""
}
// An order for service appointments with a merchant.
type Order struct {
// ID of this Order, chosen by the booking partner who handles the order
// (required in CreateOrderResponse and ListOrdersResponse, must not be set in
// CreateOrderRequest)
OrderId string `protobuf:"bytes,1,opt,name=order_id,json=orderId,proto3" json:"order_id,omitempty"`
// Personal information of the user making the order (required)
UserInformation *UserInformation `protobuf:"bytes,2,opt,name=user_information,json=userInformation,proto3" json:"user_information,omitempty"`
// Information about payment transactions that relate to the Order.
// (optional)
PaymentInformation *PaymentInformation `protobuf:"bytes,3,opt,name=payment_information,json=paymentInformation,proto3" json:"payment_information,omitempty"`
// The merchant that all services in this Order belong to.
MerchantId string `protobuf:"bytes,4,opt,name=merchant_id,json=merchantId,proto3" json:"merchant_id,omitempty"`
// Line items in this order.
Item []*LineItem `protobuf:"bytes,5,rep,name=item,proto3" json:"item,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Order) Reset() { *m = Order{} }
func (m *Order) String() string { return proto.CompactTextString(m) }
func (*Order) ProtoMessage() {}
func (*Order) Descriptor() ([]byte, []int) {
return fileDescriptor_1820d8e1a9fad753, []int{28}
}
func (m *Order) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Order.Unmarshal(m, b)
}
func (m *Order) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Order.Marshal(b, m, deterministic)
}
func (m *Order) XXX_Merge(src proto.Message) {
xxx_messageInfo_Order.Merge(m, src)
}
func (m *Order) XXX_Size() int {
return xxx_messageInfo_Order.Size(m)
}
func (m *Order) XXX_DiscardUnknown() {
xxx_messageInfo_Order.DiscardUnknown(m)
}
var xxx_messageInfo_Order proto.InternalMessageInfo
func (m *Order) GetOrderId() string {
if m != nil {
return m.OrderId
}
return ""
}
func (m *Order) GetUserInformation() *UserInformation {
if m != nil {
return m.UserInformation
}
return nil
}
func (m *Order) GetPaymentInformation() *PaymentInformation {
if m != nil {
return m.PaymentInformation
}
return nil
}
func (m *Order) GetMerchantId() string {
if m != nil {
return m.MerchantId
}
return ""
}
func (m *Order) GetItem() []*LineItem {
if m != nil {
return m.Item
}
return nil
}
// A single item in an Order--the booking of a single service in a single time
// slot.
type LineItem struct {
// ID of the merchant Service. (required)
ServiceId string `protobuf:"bytes,1,opt,name=service_id,json=serviceId,proto3" json:"service_id,omitempty"`
// Start time of the appointment slot in seconds of UTC time since Unix epoch.
// (required)
StartSec int64 `protobuf:"varint,2,opt,name=start_sec,json=startSec,proto3" json:"start_sec,omitempty"`
// Duration of the appointment slot in seconds. (required)
DurationSec int64 `protobuf:"varint,3,opt,name=duration_sec,json=durationSec,proto3" json:"duration_sec,omitempty"`
// Number of tickets ordered by Ticket Type.
Tickets []*LineItem_OrderedTickets `protobuf:"bytes,4,rep,name=tickets,proto3" json:"tickets,omitempty"`
// In handling CreateOrderRequest and CheckOrderFulfillabilityRequest,
// the total price (excluding taxes) of the item must be verified to guard
// against price changes. In CreateOrderResponse and
// CheckOrderFulfillabilityResponse, the price should be updated to the
// correct value if the value from the request was incorrect or outdated.
// (reqired)
Price *Price `protobuf:"bytes,5,opt,name=price,proto3" json:"price,omitempty"`
// Status of the Line Item. (required in CreateOrderResponse and
// ListOrdersResponse; should not be set in requests)
Status BookingStatus `protobuf:"varint,6,opt,name=status,proto3,enum=ext.maps.booking.partner.v3.BookingStatus" json:"status,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *LineItem) Reset() { *m = LineItem{} }
func (m *LineItem) String() string { return proto.CompactTextString(m) }
func (*LineItem) ProtoMessage() {}
func (*LineItem) Descriptor() ([]byte, []int) {
return fileDescriptor_1820d8e1a9fad753, []int{29}
}
func (m *LineItem) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_LineItem.Unmarshal(m, b)
}
func (m *LineItem) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_LineItem.Marshal(b, m, deterministic)
}
func (m *LineItem) XXX_Merge(src proto.Message) {
xxx_messageInfo_LineItem.Merge(m, src)
}
func (m *LineItem) XXX_Size() int {
return xxx_messageInfo_LineItem.Size(m)
}
func (m *LineItem) XXX_DiscardUnknown() {
xxx_messageInfo_LineItem.DiscardUnknown(m)
}
var xxx_messageInfo_LineItem proto.InternalMessageInfo
func (m *LineItem) GetServiceId() string {
if m != nil {
return m.ServiceId
}
return ""
}
func (m *LineItem) GetStartSec() int64 {
if m != nil {
return m.StartSec
}
return 0
}
func (m *LineItem) GetDurationSec() int64 {
if m != nil {
return m.DurationSec
}
return 0
}
func (m *LineItem) GetTickets() []*LineItem_OrderedTickets {
if m != nil {
return m.Tickets
}
return nil
}
func (m *LineItem) GetPrice() *Price {
if m != nil {
return m.Price
}
return nil
}
func (m *LineItem) GetStatus() BookingStatus {
if m != nil {
return m.Status
}
return BookingStatus_BOOKING_STATUS_UNSPECIFIED
}
type LineItem_OrderedTickets struct {
TicketId string `protobuf:"bytes,1,opt,name=ticket_id,json=ticketId,proto3" json:"ticket_id,omitempty"`
Count int32 `protobuf:"varint,2,opt,name=count,proto3" json:"count,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *LineItem_OrderedTickets) Reset() { *m = LineItem_OrderedTickets{} }
func (m *LineItem_OrderedTickets) String() string { return proto.CompactTextString(m) }
func (*LineItem_OrderedTickets) ProtoMessage() {}
func (*LineItem_OrderedTickets) Descriptor() ([]byte, []int) {
return fileDescriptor_1820d8e1a9fad753, []int{29, 0}
}
func (m *LineItem_OrderedTickets) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_LineItem_OrderedTickets.Unmarshal(m, b)
}
func (m *LineItem_OrderedTickets) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_LineItem_OrderedTickets.Marshal(b, m, deterministic)
}
func (m *LineItem_OrderedTickets) XXX_Merge(src proto.Message) {
xxx_messageInfo_LineItem_OrderedTickets.Merge(m, src)
}
func (m *LineItem_OrderedTickets) XXX_Size() int {
return xxx_messageInfo_LineItem_OrderedTickets.Size(m)
}
func (m *LineItem_OrderedTickets) XXX_DiscardUnknown() {
xxx_messageInfo_LineItem_OrderedTickets.DiscardUnknown(m)
}
var xxx_messageInfo_LineItem_OrderedTickets proto.InternalMessageInfo
func (m *LineItem_OrderedTickets) GetTicketId() string {
if m != nil {
return m.TicketId
}
return ""
}
func (m *LineItem_OrderedTickets) GetCount() int32 {
if m != nil {
return m.Count
}
return 0
}
// Status data that conveys why creating an order fails.
// OrderFailure is intended to primarily capture business logic errors.
type OrderFailure struct {
// The reason why the order failed. (required)
Cause OrderFailure_Cause `protobuf:"varint,1,opt,name=cause,proto3,enum=ext.maps.booking.partner.v3.OrderFailure_Cause" json:"cause,omitempty"`
// (required only if cause is ORDER_UNFULFILLABLE)
Fulfillability *OrderFulfillability `protobuf:"bytes,2,opt,name=fulfillability,proto3" json:"fulfillability,omitempty"`
// (required only if cause is PAYMENT_ERROR_CARD_TYPE_REJECTED)
RejectedCardType CreditCardType `protobuf:"varint,3,opt,name=rejected_card_type,json=rejectedCardType,proto3,enum=ext.maps.booking.partner.v3.CreditCardType" json:"rejected_card_type,omitempty"`
// This optional field is used for the partner to include additional
// information for debugging purpose only. (optional)
Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *OrderFailure) Reset() { *m = OrderFailure{} }
func (m *OrderFailure) String() string { return proto.CompactTextString(m) }
func (*OrderFailure) ProtoMessage() {}
func (*OrderFailure) Descriptor() ([]byte, []int) {
return fileDescriptor_1820d8e1a9fad753, []int{30}
}
func (m *OrderFailure) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_OrderFailure.Unmarshal(m, b)
}
func (m *OrderFailure) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_OrderFailure.Marshal(b, m, deterministic)
}
func (m *OrderFailure) XXX_Merge(src proto.Message) {
xxx_messageInfo_OrderFailure.Merge(m, src)
}
func (m *OrderFailure) XXX_Size() int {
return xxx_messageInfo_OrderFailure.Size(m)
}
func (m *OrderFailure) XXX_DiscardUnknown() {
xxx_messageInfo_OrderFailure.DiscardUnknown(m)
}
var xxx_messageInfo_OrderFailure proto.InternalMessageInfo
func (m *OrderFailure) GetCause() OrderFailure_Cause {
if m != nil {
return m.Cause
}
return OrderFailure_CAUSE_UNSPECIFIED
}
func (m *OrderFailure) GetFulfillability() *OrderFulfillability {
if m != nil {
return m.Fulfillability
}
return nil
}
func (m *OrderFailure) GetRejectedCardType() CreditCardType {
if m != nil {
return m.RejectedCardType
}
return CreditCardType_CREDIT_CARD_TYPE_UNSPECIFIED
}
func (m *OrderFailure) GetDescription() string {
if m != nil {
return m.Description
}
return ""
}
type OrderFulfillability struct {
Result OrderFulfillability_OrderFulfillabilityResult `protobuf:"varint,1,opt,name=result,proto3,enum=ext.maps.booking.partner.v3.OrderFulfillability_OrderFulfillabilityResult" json:"result,omitempty"`
// Fulfillability results of all line items in this order (required).
ItemFulfillability []*LineItemFulfillability `protobuf:"bytes,2,rep,name=item_fulfillability,json=itemFulfillability,proto3" json:"item_fulfillability,omitempty"`
// Additional description of the reason if the item is unfulfillable.
// (optional)
UnfulfillableReason string `protobuf:"bytes,3,opt,name=unfulfillable_reason,json=unfulfillableReason,proto3" json:"unfulfillable_reason,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *OrderFulfillability) Reset() { *m = OrderFulfillability{} }
func (m *OrderFulfillability) String() string { return proto.CompactTextString(m) }
func (*OrderFulfillability) ProtoMessage() {}
func (*OrderFulfillability) Descriptor() ([]byte, []int) {
return fileDescriptor_1820d8e1a9fad753, []int{31}
}
func (m *OrderFulfillability) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_OrderFulfillability.Unmarshal(m, b)
}
func (m *OrderFulfillability) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_OrderFulfillability.Marshal(b, m, deterministic)
}
func (m *OrderFulfillability) XXX_Merge(src proto.Message) {
xxx_messageInfo_OrderFulfillability.Merge(m, src)
}
func (m *OrderFulfillability) XXX_Size() int {
return xxx_messageInfo_OrderFulfillability.Size(m)
}
func (m *OrderFulfillability) XXX_DiscardUnknown() {
xxx_messageInfo_OrderFulfillability.DiscardUnknown(m)
}
var xxx_messageInfo_OrderFulfillability proto.InternalMessageInfo
func (m *OrderFulfillability) GetResult() OrderFulfillability_OrderFulfillabilityResult {
if m != nil {
return m.Result
}
return OrderFulfillability_ORDER_FULFILLABILITY_RESULT_UNSPECIFIED
}
func (m *OrderFulfillability) GetItemFulfillability() []*LineItemFulfillability {
if m != nil {
return m.ItemFulfillability
}
return nil
}
func (m *OrderFulfillability) GetUnfulfillableReason() string {
if m != nil {
return m.UnfulfillableReason
}
return ""
}
// Fulfillability of a line item.
type LineItemFulfillability struct {
// The line item of question. (required)
Item *LineItem `protobuf:"bytes,1,opt,name=item,proto3" json:"item,omitempty"`
// (required)
Result LineItemFulfillability_ItemFulfillabilityResult `protobuf:"varint,2,opt,name=result,proto3,enum=ext.maps.booking.partner.v3.LineItemFulfillability_ItemFulfillabilityResult" json:"result,omitempty"`
// Additional description of the reason if the item is unfulfillable.
// (optional)
UnfulfillableReason string `protobuf:"bytes,3,opt,name=unfulfillable_reason,json=unfulfillableReason,proto3" json:"unfulfillable_reason,omitempty"`
// (optional)
Availability *LineItemFulfillability_UpdatedAvailability `protobuf:"bytes,4,opt,name=availability,proto3" json:"availability,omitempty"`
// Updated ticket types can be piggybacked in
// CheckOrderFulfillabilityResponse. If non-empty, all available ticket types
// for this slot with up-to-date prices should be listed without omitting any.
// (optional)
TicketType []*TicketType `protobuf:"bytes,5,rep,name=ticket_type,json=ticketType,proto3" json:"ticket_type,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *LineItemFulfillability) Reset() { *m = LineItemFulfillability{} }
func (m *LineItemFulfillability) String() string { return proto.CompactTextString(m) }
func (*LineItemFulfillability) ProtoMessage() {}
func (*LineItemFulfillability) Descriptor() ([]byte, []int) {
return fileDescriptor_1820d8e1a9fad753, []int{32}
}
func (m *LineItemFulfillability) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_LineItemFulfillability.Unmarshal(m, b)
}
func (m *LineItemFulfillability) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_LineItemFulfillability.Marshal(b, m, deterministic)
}
func (m *LineItemFulfillability) XXX_Merge(src proto.Message) {
xxx_messageInfo_LineItemFulfillability.Merge(m, src)
}
func (m *LineItemFulfillability) XXX_Size() int {
return xxx_messageInfo_LineItemFulfillability.Size(m)
}
func (m *LineItemFulfillability) XXX_DiscardUnknown() {
xxx_messageInfo_LineItemFulfillability.DiscardUnknown(m)
}
var xxx_messageInfo_LineItemFulfillability proto.InternalMessageInfo
func (m *LineItemFulfillability) GetItem() *LineItem {
if m != nil {
return m.Item
}
return nil
}
func (m *LineItemFulfillability) GetResult() LineItemFulfillability_ItemFulfillabilityResult {
if m != nil {
return m.Result
}
return LineItemFulfillability_ITEM_FULFILLABILITY_RESULT_UNSPECIFIED
}
func (m *LineItemFulfillability) GetUnfulfillableReason() string {
if m != nil {
return m.UnfulfillableReason
}
return ""
}
func (m *LineItemFulfillability) GetAvailability() *LineItemFulfillability_UpdatedAvailability {
if m != nil {
return m.Availability
}
return nil
}
func (m *LineItemFulfillability) GetTicketType() []*TicketType {
if m != nil {
return m.TicketType
}
return nil
}
// Updated availability for this slot can be piggybacked in
// CheckOrderFulfillabilityResponse.
type LineItemFulfillability_UpdatedAvailability struct {
// Number of available spots for the given slot. 0 indicates no
// availability. (required)
SpotsOpen int32 `protobuf:"varint,1,opt,name=spots_open,json=spotsOpen,proto3" json:"spots_open,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *LineItemFulfillability_UpdatedAvailability) Reset() {
*m = LineItemFulfillability_UpdatedAvailability{}
}
func (m *LineItemFulfillability_UpdatedAvailability) String() string {
return proto.CompactTextString(m)
}
func (*LineItemFulfillability_UpdatedAvailability) ProtoMessage() {}
func (*LineItemFulfillability_UpdatedAvailability) Descriptor() ([]byte, []int) {
return fileDescriptor_1820d8e1a9fad753, []int{32, 0}
}
func (m *LineItemFulfillability_UpdatedAvailability) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_LineItemFulfillability_UpdatedAvailability.Unmarshal(m, b)
}
func (m *LineItemFulfillability_UpdatedAvailability) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_LineItemFulfillability_UpdatedAvailability.Marshal(b, m, deterministic)
}
func (m *LineItemFulfillability_UpdatedAvailability) XXX_Merge(src proto.Message) {
xxx_messageInfo_LineItemFulfillability_UpdatedAvailability.Merge(m, src)
}
func (m *LineItemFulfillability_UpdatedAvailability) XXX_Size() int {
return xxx_messageInfo_LineItemFulfillability_UpdatedAvailability.Size(m)
}
func (m *LineItemFulfillability_UpdatedAvailability) XXX_DiscardUnknown() {
xxx_messageInfo_LineItemFulfillability_UpdatedAvailability.DiscardUnknown(m)
}
var xxx_messageInfo_LineItemFulfillability_UpdatedAvailability proto.InternalMessageInfo
func (m *LineItemFulfillability_UpdatedAvailability) GetSpotsOpen() int32 {
if m != nil {
return m.SpotsOpen
}
return 0
}
// TicketType is used to differentiate among tickets with different prices
// and/or availabilities due to different user types, different
// service attributes, or different options/add-ons.
//
// A ticket is the minimal bookable unit to a service, e.g. a spot on a rafting
// trip, an admission to a museum, a full day double kayak rental.
type TicketType struct {
// The ticket id is used to differentiate among different ticket types of the
// same service, and is only expected to be unique within a service.
TicketTypeId string `protobuf:"bytes,1,opt,name=ticket_type_id,json=ticketTypeId,proto3" json:"ticket_type_id,omitempty"`
// A short description to this TicketType.
//
// This can be user visible, e.g., “adult”, "child", “veteran”, “Row J”, etc.
// Required, each ticket type should have a description to be user visible.
ShortDescription string `protobuf:"bytes,2,opt,name=short_description,json=shortDescription,proto3" json:"short_description,omitempty"`
// The price of a single ticket of this type, exclusive of any taxes. The tax
// rate of Service is applied to its tickets.
Price *Price `protobuf:"bytes,3,opt,name=price,proto3" json:"price,omitempty"`
// Description of any additional option which this ticket type represents, if
// any.
//
// This is useful when the ticket type represents multiple dimensions.
//
// Example 1: an admission ticket with different types 'adult', 'child' and
// language as an additional option, the expected TicketType list would be:
// - { ticket_type_id: "ticket_type_1" short_description: "adult"
// option_description: "english" }
// - { ticket_type_id: "ticket_type_2" short_description: "adult"
// option_description: "spanish" }
// - { ticket_type_id: "ticket_type_3" short_description: "child"
// option_description: "english" }
// - { ticket_type_id: "ticket_type_4" short_description: "child"
// option_description: "spanish" }
//
// Example 2: an multi-hour kayak rental with optional dry bag add-on, the
// short_description could be "3 hours" and the option_description could be
// either "with dry bag" or "without dry bag":
// - { ticket_type_id: "ticket_type_1" short_description: "2 hours"
// option_description: "english" }
// - { ticket_type_id: "ticket_type_2" short_description: "3 hours"
// option_description: "spanish" }
// - { ticket_type_id: "ticket_type_3" short_description: "2 hours"
// option_description: "english" }
// - { ticket_type_id: "ticket_type_4" short_description: "3 hours"
// option_description: "spanish" }
//
// Optional, but if any ticket type within the service has this field set, we
// expect all other ticket types to have this field set as well (a default
// option_description could be used). E.g.
// [{ticket_type_1, adult, english}, {ticket_type_1, adult, ''}] is not a
// valid list.
OptionDescription string `protobuf:"bytes,4,opt,name=option_description,json=optionDescription,proto3" json:"option_description,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *TicketType) Reset() { *m = TicketType{} }
func (m *TicketType) String() string { return proto.CompactTextString(m) }
func (*TicketType) ProtoMessage() {}
func (*TicketType) Descriptor() ([]byte, []int) {
return fileDescriptor_1820d8e1a9fad753, []int{33}
}
func (m *TicketType) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_TicketType.Unmarshal(m, b)
}
func (m *TicketType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_TicketType.Marshal(b, m, deterministic)
}
func (m *TicketType) XXX_Merge(src proto.Message) {
xxx_messageInfo_TicketType.Merge(m, src)
}
func (m *TicketType) XXX_Size() int {
return xxx_messageInfo_TicketType.Size(m)
}
func (m *TicketType) XXX_DiscardUnknown() {
xxx_messageInfo_TicketType.DiscardUnknown(m)
}
var xxx_messageInfo_TicketType proto.InternalMessageInfo
func (m *TicketType) GetTicketTypeId() string {
if m != nil {
return m.TicketTypeId
}
return ""
}
func (m *TicketType) GetShortDescription() string {
if m != nil {
return m.ShortDescription
}
return ""
}
func (m *TicketType) GetPrice() *Price {
if m != nil {
return m.Price
}
return nil
}
func (m *TicketType) GetOptionDescription() string {
if m != nil {
return m.OptionDescription
}
return ""
}
// Resource specification that disambiguates an appointment slot
type ResourceIds struct {
// The staff ID as provided in the feed or empty if not applicable or no staff
// was selected. (optional)
StaffId string `protobuf:"bytes,1,opt,name=staff_id,json=staffId,proto3" json:"staff_id,omitempty"`
// The room ID as provided in the feed or empty if not applicable or no room
// was selected. (optional)
RoomId string `protobuf:"bytes,2,opt,name=room_id,json=roomId,proto3" json:"room_id,omitempty"`
// For Dining Reservations only: the number of seats requested in the booking.
// (optional)
PartySize int32 `protobuf:"varint,3,opt,name=party_size,json=partySize,proto3" json:"party_size,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ResourceIds) Reset() { *m = ResourceIds{} }
func (m *ResourceIds) String() string { return proto.CompactTextString(m) }
func (*ResourceIds) ProtoMessage() {}
func (*ResourceIds) Descriptor() ([]byte, []int) {
return fileDescriptor_1820d8e1a9fad753, []int{34}
}
func (m *ResourceIds) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ResourceIds.Unmarshal(m, b)
}
func (m *ResourceIds) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ResourceIds.Marshal(b, m, deterministic)
}
func (m *ResourceIds) XXX_Merge(src proto.Message) {
xxx_messageInfo_ResourceIds.Merge(m, src)
}
func (m *ResourceIds) XXX_Size() int {
return xxx_messageInfo_ResourceIds.Size(m)
}
func (m *ResourceIds) XXX_DiscardUnknown() {
xxx_messageInfo_ResourceIds.DiscardUnknown(m)
}
var xxx_messageInfo_ResourceIds proto.InternalMessageInfo
func (m *ResourceIds) GetStaffId() string {
if m != nil {
return m.StaffId
}
return ""
}
func (m *ResourceIds) GetRoomId() string {
if m != nil {
return m.RoomId
}
return ""
}
func (m *ResourceIds) GetPartySize() int32 {
if m != nil {
return m.PartySize
}
return 0
}
// A configuration for payment-processor tokenization, set up on a per-Merchant
// basis.
type TokenizationConfig struct {
// A tokenization configuration will typically have one
// tokenization_parameter whose key is "gateway" and whose value is the
// name of the processor.
TokenizationParameter map[string]string `protobuf:"bytes,1,rep,name=tokenization_parameter,json=tokenizationParameter,proto3" json:"tokenization_parameter,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
// Include in the payment token the user's billing information as entered into
// Google Pay with their FOP (see above).
BillingInformationFormat TokenizationConfig_BillingInformationFormat `protobuf:"varint,2,opt,name=billing_information_format,json=billingInformationFormat,proto3,enum=ext.maps.booking.partner.v3.TokenizationConfig_BillingInformationFormat" json:"billing_information_format,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *TokenizationConfig) Reset() { *m = TokenizationConfig{} }
func (m *TokenizationConfig) String() string { return proto.CompactTextString(m) }
func (*TokenizationConfig) ProtoMessage() {}
func (*TokenizationConfig) Descriptor() ([]byte, []int) {
return fileDescriptor_1820d8e1a9fad753, []int{35}
}
func (m *TokenizationConfig) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_TokenizationConfig.Unmarshal(m, b)
}
func (m *TokenizationConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_TokenizationConfig.Marshal(b, m, deterministic)
}
func (m *TokenizationConfig) XXX_Merge(src proto.Message) {
xxx_messageInfo_TokenizationConfig.Merge(m, src)
}
func (m *TokenizationConfig) XXX_Size() int {
return xxx_messageInfo_TokenizationConfig.Size(m)
}
func (m *TokenizationConfig) XXX_DiscardUnknown() {
xxx_messageInfo_TokenizationConfig.DiscardUnknown(m)
}
var xxx_messageInfo_TokenizationConfig proto.InternalMessageInfo
func (m *TokenizationConfig) GetTokenizationParameter() map[string]string {
if m != nil {
return m.TokenizationParameter
}
return nil
}
func (m *TokenizationConfig) GetBillingInformationFormat() TokenizationConfig_BillingInformationFormat {
if m != nil {
return m.BillingInformationFormat
}
return TokenizationConfig_BILLING_INFORMATION_FORMAT_UNSPECIFIED
}
type PaymentProcessingParameters struct {
// The payment processor used to process payment for a given booking.
// (required)
//
// Replaced by the payment_processor field.
Processor PaymentProcessingParameters_PaymentProcessor `protobuf:"varint,1,opt,name=processor,proto3,enum=ext.maps.booking.partner.v3.PaymentProcessingParameters_PaymentProcessor" json:"processor,omitempty"` // Deprecated: Do not use.
// The token representing the payment method that will be used to pay
// for this booking. This token can be only used once. This token can be
// only used for the merchant associated with this booking.
//
// Each processor may choose its own format for this field.
// An example of Stripe's token is "tok_1C3orL2eZvKYlo2CxReMgS4K".
//
// Replaced by unparsed_payment_method_token, which contains
// payment_method_token as one of its fields.
// For example, for Stripe, unparsed_payment_method_token is a serialized
// JSON object documented at https://stripe.com/docs/api#token_object.
// payment_method_token is the 'id' field parsed out of that.
PaymentMethodToken string `protobuf:"bytes,2,opt,name=payment_method_token,json=paymentMethodToken,proto3" json:"payment_method_token,omitempty"` // Deprecated: Do not use.
// The full token received from Google Payments. This is typically a
// serialized JSON object. See documentation from Google Payments and your
// payment processor for the JSON format of the token for your processor.
// https://developers.google.com/pay/api/#participating-google-pay-processors
//
// This token can only be used once, and only for the merchant associated with
// this booking.
UnparsedPaymentMethodToken string `protobuf:"bytes,5,opt,name=unparsed_payment_method_token,json=unparsedPaymentMethodToken,proto3" json:"unparsed_payment_method_token,omitempty"`
// The payment processor API version that the given payment token is valid
// for.
//
// Each processor may choose its own format for this field.
// Stripe uses a date (e.g. "2017-06-15"). (required)
// This is deprecated in favor of tokenization_parameters.
Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"` // Deprecated: Do not use.
// The payment processor whose configuration was used to generate this token.
// (required)
// This is deprecated in favor of tokenization_parameters.
PaymentProcessor string `protobuf:"bytes,4,opt,name=payment_processor,json=paymentProcessor,proto3" json:"payment_processor,omitempty"` // Deprecated: Do not use.
// The tokenization_config supplied in the Merchant feed that was used
// to generate unparsed_payment_method_token.
TokenizationConfig *TokenizationConfig `protobuf:"bytes,6,opt,name=tokenization_config,json=tokenizationConfig,proto3" json:"tokenization_config,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *PaymentProcessingParameters) Reset() { *m = PaymentProcessingParameters{} }
func (m *PaymentProcessingParameters) String() string { return proto.CompactTextString(m) }
func (*PaymentProcessingParameters) ProtoMessage() {}
func (*PaymentProcessingParameters) Descriptor() ([]byte, []int) {
return fileDescriptor_1820d8e1a9fad753, []int{36}
}
func (m *PaymentProcessingParameters) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PaymentProcessingParameters.Unmarshal(m, b)
}
func (m *PaymentProcessingParameters) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_PaymentProcessingParameters.Marshal(b, m, deterministic)
}
func (m *PaymentProcessingParameters) XXX_Merge(src proto.Message) {
xxx_messageInfo_PaymentProcessingParameters.Merge(m, src)
}
func (m *PaymentProcessingParameters) XXX_Size() int {
return xxx_messageInfo_PaymentProcessingParameters.Size(m)
}
func (m *PaymentProcessingParameters) XXX_DiscardUnknown() {
xxx_messageInfo_PaymentProcessingParameters.DiscardUnknown(m)
}
var xxx_messageInfo_PaymentProcessingParameters proto.InternalMessageInfo
// Deprecated: Do not use.
func (m *PaymentProcessingParameters) GetProcessor() PaymentProcessingParameters_PaymentProcessor {
if m != nil {
return m.Processor
}
return PaymentProcessingParameters_PAYMENT_PROCESSOR_UNSPECIFIED
}
// Deprecated: Do not use.
func (m *PaymentProcessingParameters) GetPaymentMethodToken() string {
if m != nil {
return m.PaymentMethodToken
}
return ""
}
func (m *PaymentProcessingParameters) GetUnparsedPaymentMethodToken() string {
if m != nil {
return m.UnparsedPaymentMethodToken
}
return ""
}
// Deprecated: Do not use.
func (m *PaymentProcessingParameters) GetVersion() string {
if m != nil {
return m.Version
}
return ""
}
// Deprecated: Do not use.
func (m *PaymentProcessingParameters) GetPaymentProcessor() string {
if m != nil {
return m.PaymentProcessor
}
return ""
}
func (m *PaymentProcessingParameters) GetTokenizationConfig() *TokenizationConfig {
if m != nil {
return m.TokenizationConfig
}
return nil
}
// 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.
type UserPaymentOption struct {
// A unique identifier for the user payment option. This Id MUST be unique
// for all UserPaymentOptions across all merchants and users. (required)
UserPaymentOptionId string `protobuf:"bytes,1,opt,name=user_payment_option_id,json=userPaymentOptionId,proto3" json:"user_payment_option_id,omitempty"`
// 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)
ValidStartTimeSec int64 `protobuf:"varint,2,opt,name=valid_start_time_sec,json=validStartTimeSec,proto3" json:"valid_start_time_sec,omitempty"`
ValidEndTimeSec int64 `protobuf:"varint,3,opt,name=valid_end_time_sec,json=validEndTimeSec,proto3" json:"valid_end_time_sec,omitempty"`
// 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)
Type PaymentOptionType `protobuf:"varint,4,opt,name=type,proto3,enum=ext.maps.booking.partner.v3.PaymentOptionType" json:"type,omitempty"`
// The original number of uses for this user payment option when it was
// purchased. This value is ignored for unlimited payment options. (required)
OriginalCount int32 `protobuf:"varint,5,opt,name=original_count,json=originalCount,proto3" json:"original_count,omitempty"`
// 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)
CurrentCount int32 `protobuf:"varint,6,opt,name=current_count,json=currentCount,proto3" json:"current_count,omitempty"`
// The id of the payment option that has been used to purchase this user
// payment option. (required)
PaymentOptionId string `protobuf:"bytes,7,opt,name=payment_option_id,json=paymentOptionId,proto3" json:"payment_option_id,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *UserPaymentOption) Reset() { *m = UserPaymentOption{} }
func (m *UserPaymentOption) String() string { return proto.CompactTextString(m) }
func (*UserPaymentOption) ProtoMessage() {}
func (*UserPaymentOption) Descriptor() ([]byte, []int) {
return fileDescriptor_1820d8e1a9fad753, []int{37}
}
func (m *UserPaymentOption) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UserPaymentOption.Unmarshal(m, b)
}
func (m *UserPaymentOption) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_UserPaymentOption.Marshal(b, m, deterministic)
}
func (m *UserPaymentOption) XXX_Merge(src proto.Message) {
xxx_messageInfo_UserPaymentOption.Merge(m, src)
}
func (m *UserPaymentOption) XXX_Size() int {
return xxx_messageInfo_UserPaymentOption.Size(m)
}
func (m *UserPaymentOption) XXX_DiscardUnknown() {
xxx_messageInfo_UserPaymentOption.DiscardUnknown(m)
}
var xxx_messageInfo_UserPaymentOption proto.InternalMessageInfo
func (m *UserPaymentOption) GetUserPaymentOptionId() string {
if m != nil {
return m.UserPaymentOptionId
}
return ""
}
func (m *UserPaymentOption) GetValidStartTimeSec() int64 {
if m != nil {
return m.ValidStartTimeSec
}
return 0
}
func (m *UserPaymentOption) GetValidEndTimeSec() int64 {
if m != nil {
return m.ValidEndTimeSec
}
return 0
}
func (m *UserPaymentOption) GetType() PaymentOptionType {
if m != nil {
return m.Type
}
return PaymentOptionType_PAYMENT_OPTION_TYPE_UNSPECIFIED
}
func (m *UserPaymentOption) GetOriginalCount() int32 {
if m != nil {
return m.OriginalCount
}
return 0
}
func (m *UserPaymentOption) GetCurrentCount() int32 {
if m != nil {
return m.CurrentCount
}
return 0
}
func (m *UserPaymentOption) GetPaymentOptionId() string {
if m != nil {
return m.PaymentOptionId
}
return ""
}
// Payment details that are sent when creating a new booking.
type PaymentInformation struct {
// Prepayment status of the booking.
// If the prepayment_status is PREPAYMENT_PROVIDED, then
// payment_transaction_id contains the associated unique transaction id for
// the purchase.
// If the prepayment status is PREPAYMENT_REFUNDED, then
// payment_transaction_id contains the associated unique transaction id for
// the refund. (required)
PrepaymentStatus PrepaymentStatus `protobuf:"varint,1,opt,name=prepayment_status,json=prepaymentStatus,proto3,enum=ext.maps.booking.partner.v3.PrepaymentStatus" json:"prepayment_status,omitempty"`
// Unique identifier for a payment transaction associated with the booking.
// If the payment is PROCESSED_BY_GOOGLE, this field will be set by Google.
// If the payment is PROCESSED_BY_PARTNER, this field will be left empty in
// Google's CreateBooking or CreateOrder requests to the partner, and it must
// be set by the partner in their responses.
PaymentTransactionId string `protobuf:"bytes,2,opt,name=payment_transaction_id,json=paymentTransactionId,proto3" json:"payment_transaction_id,omitempty"`
// These fields must match the service price (specified in the Services feed)
// or the PaymentOption corresponding with this service.
// They are included in the booking request and response to verify that
// the price indicated in the feed has not changed since the last feed
// update.
//
// The price of the booking or order, exclusive of any taxes.
// Existence of price or taxes does not imply that they have been paid,
// prepayment_state should be used for that purpose. (required)
Price *Price `protobuf:"bytes,3,opt,name=price,proto3" json:"price,omitempty"`
// Taxes that are calculated to be paid for this booking.
// This field can only be absent in one of the following cases:
// (1) the price is exempt from or already inclusive of applicable taxes; or
// (2) the break down between taxes and fees is not available.
// (required when neither of the above holds)
TaxAmount *Price `protobuf:"bytes,4,opt,name=tax_amount,json=taxAmount,proto3" json:"tax_amount,omitempty"`
// Whether the partner or Google processed the payment. (required)
PaymentProcessedBy PaymentInformation_PaymentProcessedBy `protobuf:"varint,5,opt,name=payment_processed_by,json=paymentProcessedBy,proto3,enum=ext.maps.booking.partner.v3.PaymentInformation_PaymentProcessedBy" json:"payment_processed_by,omitempty"`
// The id of the payment option or user payment option associated with the
// booking.
// If a payment option is purchased as part of a booking, payment_option_id
// will be set with the id of that payment option.
// If an already purchased user payment option is being used to pay for a
// booking, user_payment_option_id will be set with the id of that user
// payment option.
// When included as part of a response proto, the user_payment_option_id
// should be set and must match the UserPaymentOption that is returned in the
// RPC response (e.g. the user_payment_option returned in
// CreateBookingResponse). (one of these required)
//
// Types that are valid to be assigned to PaymentId:
// *PaymentInformation_PaymentOptionId
// *PaymentInformation_UserPaymentOptionId
PaymentId isPaymentInformation_PaymentId `protobuf_oneof:"payment_id"`
// Defines how a deposit may be charged to the user. If there is a deposit,
// this field should be set. (optional)
Deposit *Deposit `protobuf:"bytes,8,opt,name=deposit,proto3" json:"deposit,omitempty"`
// Defines a no show fee that may be charged to the user. If the user can be
// charged a no show fee, this field should be set. (optional)
NoShowFee *NoShowFee `protobuf:"bytes,9,opt,name=no_show_fee,json=noShowFee,proto3" json:"no_show_fee,omitempty"`
// Total processing fees & taxes that the user needs to pay for the order;
// only applicable to partners that handle order based booking (e.g., with
// CreateOrder method). (optional)
FeesAndTaxes *Price `protobuf:"bytes,10,opt,name=fees_and_taxes,json=feesAndTaxes,proto3" json:"fees_and_taxes,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *PaymentInformation) Reset() { *m = PaymentInformation{} }
func (m *PaymentInformation) String() string { return proto.CompactTextString(m) }
func (*PaymentInformation) ProtoMessage() {}
func (*PaymentInformation) Descriptor() ([]byte, []int) {
return fileDescriptor_1820d8e1a9fad753, []int{38}
}
func (m *PaymentInformation) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PaymentInformation.Unmarshal(m, b)
}
func (m *PaymentInformation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_PaymentInformation.Marshal(b, m, deterministic)
}
func (m *PaymentInformation) XXX_Merge(src proto.Message) {
xxx_messageInfo_PaymentInformation.Merge(m, src)
}
func (m *PaymentInformation) XXX_Size() int {
return xxx_messageInfo_PaymentInformation.Size(m)
}
func (m *PaymentInformation) XXX_DiscardUnknown() {
xxx_messageInfo_PaymentInformation.DiscardUnknown(m)
}
var xxx_messageInfo_PaymentInformation proto.InternalMessageInfo
func (m *PaymentInformation) GetPrepaymentStatus() PrepaymentStatus {
if m != nil {
return m.PrepaymentStatus
}
return PrepaymentStatus_PREPAYMENT_STATUS_UNSPECIFIED
}
func (m *PaymentInformation) GetPaymentTransactionId() string {
if m != nil {
return m.PaymentTransactionId
}
return ""
}
func (m *PaymentInformation) GetPrice() *Price {
if m != nil {
return m.Price
}
return nil
}
func (m *PaymentInformation) GetTaxAmount() *Price {
if m != nil {
return m.TaxAmount
}
return nil
}
func (m *PaymentInformation) GetPaymentProcessedBy() PaymentInformation_PaymentProcessedBy {
if m != nil {
return m.PaymentProcessedBy
}
return PaymentInformation_PAYMENT_PROCESSED_BY_UNSPECIFIED
}
type isPaymentInformation_PaymentId interface {
isPaymentInformation_PaymentId()
}
type PaymentInformation_PaymentOptionId struct {
PaymentOptionId string `protobuf:"bytes,6,opt,name=payment_option_id,json=paymentOptionId,proto3,oneof"`
}
type PaymentInformation_UserPaymentOptionId struct {
UserPaymentOptionId string `protobuf:"bytes,7,opt,name=user_payment_option_id,json=userPaymentOptionId,proto3,oneof"`
}
func (*PaymentInformation_PaymentOptionId) isPaymentInformation_PaymentId() {}
func (*PaymentInformation_UserPaymentOptionId) isPaymentInformation_PaymentId() {}
func (m *PaymentInformation) GetPaymentId() isPaymentInformation_PaymentId {
if m != nil {
return m.PaymentId
}
return nil
}
func (m *PaymentInformation) GetPaymentOptionId() string {
if x, ok := m.GetPaymentId().(*PaymentInformation_PaymentOptionId); ok {
return x.PaymentOptionId
}
return ""
}
func (m *PaymentInformation) GetUserPaymentOptionId() string {
if x, ok := m.GetPaymentId().(*PaymentInformation_UserPaymentOptionId); ok {
return x.UserPaymentOptionId
}
return ""
}
func (m *PaymentInformation) GetDeposit() *Deposit {
if m != nil {
return m.Deposit
}
return nil
}
func (m *PaymentInformation) GetNoShowFee() *NoShowFee {
if m != nil {
return m.NoShowFee
}
return nil
}
func (m *PaymentInformation) GetFeesAndTaxes() *Price {
if m != nil {
return m.FeesAndTaxes
}
return nil
}
// XXX_OneofWrappers is for the internal use of the proto package.
func (*PaymentInformation) XXX_OneofWrappers() []interface{} {
return []interface{}{
(*PaymentInformation_PaymentOptionId)(nil),
(*PaymentInformation_UserPaymentOptionId)(nil),
}
}
// The price of a service or a fee.
type Price struct {
// 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)
PriceMicros int64 `protobuf:"varint,1,opt,name=price_micros,json=priceMicros,proto3" json:"price_micros,omitempty"`
// The currency of the price that is defined in ISO 4217. (required)
CurrencyCode string `protobuf:"bytes,2,opt,name=currency_code,json=currencyCode,proto3" json:"currency_code,omitempty"`
// An optional and opaque string that identifies the pricing option that is
// associated with the extended price. (optional)
PricingOptionTag string `protobuf:"bytes,3,opt,name=pricing_option_tag,json=pricingOptionTag,proto3" json:"pricing_option_tag,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Price) Reset() { *m = Price{} }
func (m *Price) String() string { return proto.CompactTextString(m) }
func (*Price) ProtoMessage() {}
func (*Price) Descriptor() ([]byte, []int) {
return fileDescriptor_1820d8e1a9fad753, []int{39}
}
func (m *Price) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Price.Unmarshal(m, b)
}
func (m *Price) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Price.Marshal(b, m, deterministic)
}
func (m *Price) XXX_Merge(src proto.Message) {
xxx_messageInfo_Price.Merge(m, src)
}
func (m *Price) XXX_Size() int {
return xxx_messageInfo_Price.Size(m)
}
func (m *Price) XXX_DiscardUnknown() {
xxx_messageInfo_Price.DiscardUnknown(m)
}
var xxx_messageInfo_Price proto.InternalMessageInfo
func (m *Price) GetPriceMicros() int64 {
if m != nil {
return m.PriceMicros
}
return 0
}
func (m *Price) GetCurrencyCode() string {
if m != nil {
return m.CurrencyCode
}
return ""
}
func (m *Price) GetPricingOptionTag() string {
if m != nil {
return m.PricingOptionTag
}
return ""
}
// A fee that a user may be charged if they have made a booking but do not
// show up.
type NoShowFee struct {
// The amount the user may be charged if they do not show up for their
// reservation.
Fee *Price `protobuf:"bytes,1,opt,name=fee,proto3" json:"fee,omitempty"`
// Defines how the fee is determined from the availability.
FeeType PriceType `protobuf:"varint,3,opt,name=fee_type,json=feeType,proto3,enum=ext.maps.booking.partner.v3.PriceType" json:"fee_type,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *NoShowFee) Reset() { *m = NoShowFee{} }
func (m *NoShowFee) String() string { return proto.CompactTextString(m) }
func (*NoShowFee) ProtoMessage() {}
func (*NoShowFee) Descriptor() ([]byte, []int) {
return fileDescriptor_1820d8e1a9fad753, []int{40}
}
func (m *NoShowFee) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_NoShowFee.Unmarshal(m, b)
}
func (m *NoShowFee) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_NoShowFee.Marshal(b, m, deterministic)
}
func (m *NoShowFee) XXX_Merge(src proto.Message) {
xxx_messageInfo_NoShowFee.Merge(m, src)
}
func (m *NoShowFee) XXX_Size() int {
return xxx_messageInfo_NoShowFee.Size(m)
}
func (m *NoShowFee) XXX_DiscardUnknown() {
xxx_messageInfo_NoShowFee.DiscardUnknown(m)
}
var xxx_messageInfo_NoShowFee proto.InternalMessageInfo
func (m *NoShowFee) GetFee() *Price {
if m != nil {
return m.Fee
}
return nil
}
func (m *NoShowFee) GetFeeType() PriceType {
if m != nil {
return m.FeeType
}
return PriceType_FIXED_RATE_DEFAULT
}
// A deposit that the user may be charged or have a hold on their credit card
// for.
type Deposit struct {
// Deposit amount.
Deposit *Price `protobuf:"bytes,1,opt,name=deposit,proto3" json:"deposit,omitempty"`
// Minimum advance cancellation for the deposit.
MinAdvanceCancellationSec int64 `protobuf:"varint,2,opt,name=min_advance_cancellation_sec,json=minAdvanceCancellationSec,proto3" json:"min_advance_cancellation_sec,omitempty"`
// Defines how the deposit is determined from the availability.
DepositType PriceType `protobuf:"varint,3,opt,name=deposit_type,json=depositType,proto3,enum=ext.maps.booking.partner.v3.PriceType" json:"deposit_type,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Deposit) Reset() { *m = Deposit{} }
func (m *Deposit) String() string { return proto.CompactTextString(m) }
func (*Deposit) ProtoMessage() {}
func (*Deposit) Descriptor() ([]byte, []int) {
return fileDescriptor_1820d8e1a9fad753, []int{41}
}
func (m *Deposit) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Deposit.Unmarshal(m, b)
}
func (m *Deposit) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Deposit.Marshal(b, m, deterministic)
}
func (m *Deposit) XXX_Merge(src proto.Message) {
xxx_messageInfo_Deposit.Merge(m, src)
}
func (m *Deposit) XXX_Size() int {
return xxx_messageInfo_Deposit.Size(m)
}
func (m *Deposit) XXX_DiscardUnknown() {
xxx_messageInfo_Deposit.DiscardUnknown(m)
}
var xxx_messageInfo_Deposit proto.InternalMessageInfo
func (m *Deposit) GetDeposit() *Price {
if m != nil {
return m.Deposit
}
return nil
}
func (m *Deposit) GetMinAdvanceCancellationSec() int64 {
if m != nil {
return m.MinAdvanceCancellationSec
}
return 0
}
func (m *Deposit) GetDepositType() PriceType {
if m != nil {
return m.DepositType
}
return PriceType_FIXED_RATE_DEFAULT
}
// An inventory slot
type Slot struct {
// ID of the merchant for the slot (required)
MerchantId string `protobuf:"bytes,1,opt,name=merchant_id,json=merchantId,proto3" json:"merchant_id,omitempty"`
// ID of the merchant Service (required)
ServiceId string `protobuf:"bytes,2,opt,name=service_id,json=serviceId,proto3" json:"service_id,omitempty"`
// Start time of the appointment slot in seconds of UTC time since Unix epoch.
// (required)
StartSec int64 `protobuf:"varint,3,opt,name=start_sec,json=startSec,proto3" json:"start_sec,omitempty"`
// Duration of the appointment slot (required)
DurationSec int64 `protobuf:"varint,4,opt,name=duration_sec,json=durationSec,proto3" json:"duration_sec,omitempty"`
// Opaque tag that identifies the availability slot and matches the value
// provided in the availability feed (optional)
AvailabilityTag string `protobuf:"bytes,5,opt,name=availability_tag,json=availabilityTag,proto3" json:"availability_tag,omitempty"`
// The set of resources that disambiguates the appointment slot, e.g. by
// indicating the staff member and room selected by the user (optional)
Resources *ResourceIds `protobuf:"bytes,6,opt,name=resources,proto3" json:"resources,omitempty"`
// Indicates whether bookings of this slot will be confirmed
// synchronously or asynchronously. An UNSPECIFIED value will be interpreted
// as synchronous.
ConfirmationMode ConfirmationMode `protobuf:"varint,7,opt,name=confirmation_mode,json=confirmationMode,proto3,enum=ext.maps.booking.partner.v3.ConfirmationMode" json:"confirmation_mode,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Slot) Reset() { *m = Slot{} }
func (m *Slot) String() string { return proto.CompactTextString(m) }
func (*Slot) ProtoMessage() {}
func (*Slot) Descriptor() ([]byte, []int) {
return fileDescriptor_1820d8e1a9fad753, []int{42}
}
func (m *Slot) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Slot.Unmarshal(m, b)
}
func (m *Slot) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Slot.Marshal(b, m, deterministic)
}
func (m *Slot) XXX_Merge(src proto.Message) {
xxx_messageInfo_Slot.Merge(m, src)
}
func (m *Slot) XXX_Size() int {
return xxx_messageInfo_Slot.Size(m)
}
func (m *Slot) XXX_DiscardUnknown() {
xxx_messageInfo_Slot.DiscardUnknown(m)
}
var xxx_messageInfo_Slot proto.InternalMessageInfo
func (m *Slot) GetMerchantId() string {
if m != nil {
return m.MerchantId
}
return ""
}
func (m *Slot) GetServiceId() string {
if m != nil {
return m.ServiceId
}
return ""
}
func (m *Slot) GetStartSec() int64 {
if m != nil {
return m.StartSec
}
return 0
}
func (m *Slot) GetDurationSec() int64 {
if m != nil {
return m.DurationSec
}
return 0
}
func (m *Slot) GetAvailabilityTag() string {
if m != nil {
return m.AvailabilityTag
}
return ""
}
func (m *Slot) GetResources() *ResourceIds {
if m != nil {
return m.Resources
}
return nil
}
func (m *Slot) GetConfirmationMode() ConfirmationMode {
if m != nil {
return m.ConfirmationMode
}
return ConfirmationMode_CONFIRMATION_MODE_UNSPECIFIED
}
// Personal information about the person making a booking
type UserInformation struct {
// Unique ID of the user to the partner, chosen by Reserve with Google.
// (required)
UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
// Given name of the user (maximum 40 characters) (required)
GivenName string `protobuf:"bytes,2,opt,name=given_name,json=givenName,proto3" json:"given_name,omitempty"`
// Family name of the user (maximum 40 characters) (required)
FamilyName string `protobuf:"bytes,3,opt,name=family_name,json=familyName,proto3" json:"family_name,omitempty"`
// Address of the user (optional)
Address *PostalAddress `protobuf:"bytes,4,opt,name=address,proto3" json:"address,omitempty"`
// Phone number of the user (required)
Telephone string `protobuf:"bytes,5,opt,name=telephone,proto3" json:"telephone,omitempty"`
// Email address of the user (required)
Email string `protobuf:"bytes,6,opt,name=email,proto3" json:"email,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *UserInformation) Reset() { *m = UserInformation{} }
func (m *UserInformation) String() string { return proto.CompactTextString(m) }
func (*UserInformation) ProtoMessage() {}
func (*UserInformation) Descriptor() ([]byte, []int) {
return fileDescriptor_1820d8e1a9fad753, []int{43}
}
func (m *UserInformation) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UserInformation.Unmarshal(m, b)
}
func (m *UserInformation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_UserInformation.Marshal(b, m, deterministic)
}
func (m *UserInformation) XXX_Merge(src proto.Message) {
xxx_messageInfo_UserInformation.Merge(m, src)
}
func (m *UserInformation) XXX_Size() int {
return xxx_messageInfo_UserInformation.Size(m)
}
func (m *UserInformation) XXX_DiscardUnknown() {
xxx_messageInfo_UserInformation.DiscardUnknown(m)
}
var xxx_messageInfo_UserInformation proto.InternalMessageInfo
func (m *UserInformation) GetUserId() string {
if m != nil {
return m.UserId
}
return ""
}
func (m *UserInformation) GetGivenName() string {
if m != nil {
return m.GivenName
}
return ""
}
func (m *UserInformation) GetFamilyName() string {
if m != nil {
return m.FamilyName
}
return ""
}
func (m *UserInformation) GetAddress() *PostalAddress {
if m != nil {
return m.Address
}
return nil
}
func (m *UserInformation) GetTelephone() string {
if m != nil {
return m.Telephone
}
return ""
}
func (m *UserInformation) GetEmail() string {
if m != nil {
return m.Email
}
return ""
}
// The postal address for a merchant.
type PostalAddress struct {
// The country, e.g. "USA". (required)
Country string `protobuf:"bytes,1,opt,name=country,proto3" json:"country,omitempty"`
// The locality/city, e.g. "Mountain View". (required)
Locality string `protobuf:"bytes,2,opt,name=locality,proto3" json:"locality,omitempty"`
// The region/state/province, e.g. "CA". (required)
Region string `protobuf:"bytes,3,opt,name=region,proto3" json:"region,omitempty"`
// The postal code, e.g. "94043". (required)
PostalCode string `protobuf:"bytes,4,opt,name=postal_code,json=postalCode,proto3" json:"postal_code,omitempty"`
// The street address, e.g. "1600 Amphitheatre Pkwy". (required)
StreetAddress string `protobuf:"bytes,5,opt,name=street_address,json=streetAddress,proto3" json:"street_address,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *PostalAddress) Reset() { *m = PostalAddress{} }
func (m *PostalAddress) String() string { return proto.CompactTextString(m) }
func (*PostalAddress) ProtoMessage() {}
func (*PostalAddress) Descriptor() ([]byte, []int) {
return fileDescriptor_1820d8e1a9fad753, []int{44}
}
func (m *PostalAddress) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PostalAddress.Unmarshal(m, b)
}
func (m *PostalAddress) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_PostalAddress.Marshal(b, m, deterministic)
}
func (m *PostalAddress) XXX_Merge(src proto.Message) {
xxx_messageInfo_PostalAddress.Merge(m, src)
}
func (m *PostalAddress) XXX_Size() int {
return xxx_messageInfo_PostalAddress.Size(m)
}
func (m *PostalAddress) XXX_DiscardUnknown() {
xxx_messageInfo_PostalAddress.DiscardUnknown(m)
}
var xxx_messageInfo_PostalAddress proto.InternalMessageInfo
func (m *PostalAddress) GetCountry() string {
if m != nil {
return m.Country
}
return ""
}
func (m *PostalAddress) GetLocality() string {
if m != nil {
return m.Locality
}
return ""
}
func (m *PostalAddress) GetRegion() string {
if m != nil {
return m.Region
}
return ""
}
func (m *PostalAddress) GetPostalCode() string {
if m != nil {
return m.PostalCode
}
return ""
}
func (m *PostalAddress) GetStreetAddress() string {
if m != nil {
return m.StreetAddress
}
return ""
}
func init() {
proto.RegisterEnum("ext.maps.booking.partner.v3.BookingStatus", BookingStatus_name, BookingStatus_value)
proto.RegisterEnum("ext.maps.booking.partner.v3.CreditCardType", CreditCardType_name, CreditCardType_value)
proto.RegisterEnum("ext.maps.booking.partner.v3.ConfirmationMode", ConfirmationMode_name, ConfirmationMode_value)
proto.RegisterEnum("ext.maps.booking.partner.v3.PaymentOptionType", PaymentOptionType_name, PaymentOptionType_value)
proto.RegisterEnum("ext.maps.booking.partner.v3.PrepaymentStatus", PrepaymentStatus_name, PrepaymentStatus_value)
proto.RegisterEnum("ext.maps.booking.partner.v3.PriceType", PriceType_name, PriceType_value)
proto.RegisterEnum("ext.maps.booking.partner.v3.CheckAvailabilityResponse_DurationRequirement", CheckAvailabilityResponse_DurationRequirement_name, CheckAvailabilityResponse_DurationRequirement_value)
proto.RegisterEnum("ext.maps.booking.partner.v3.BookingFailure_Cause", BookingFailure_Cause_name, BookingFailure_Cause_value)
proto.RegisterEnum("ext.maps.booking.partner.v3.OrderFailure_Cause", OrderFailure_Cause_name, OrderFailure_Cause_value)
proto.RegisterEnum("ext.maps.booking.partner.v3.OrderFulfillability_OrderFulfillabilityResult", OrderFulfillability_OrderFulfillabilityResult_name, OrderFulfillability_OrderFulfillabilityResult_value)
proto.RegisterEnum("ext.maps.booking.partner.v3.LineItemFulfillability_ItemFulfillabilityResult", LineItemFulfillability_ItemFulfillabilityResult_name, LineItemFulfillability_ItemFulfillabilityResult_value)
proto.RegisterEnum("ext.maps.booking.partner.v3.TokenizationConfig_BillingInformationFormat", TokenizationConfig_BillingInformationFormat_name, TokenizationConfig_BillingInformationFormat_value)
proto.RegisterEnum("ext.maps.booking.partner.v3.PaymentProcessingParameters_PaymentProcessor", PaymentProcessingParameters_PaymentProcessor_name, PaymentProcessingParameters_PaymentProcessor_value)
proto.RegisterEnum("ext.maps.booking.partner.v3.PaymentInformation_PaymentProcessedBy", PaymentInformation_PaymentProcessedBy_name, PaymentInformation_PaymentProcessedBy_value)
proto.RegisterType((*CheckAvailabilityRequest)(nil), "ext.maps.booking.partner.v3.CheckAvailabilityRequest")
proto.RegisterType((*CheckAvailabilityResponse)(nil), "ext.maps.booking.partner.v3.CheckAvailabilityResponse")
proto.RegisterType((*AvailabilityUpdate)(nil), "ext.maps.booking.partner.v3.AvailabilityUpdate")
proto.RegisterType((*SlotAvailability)(nil), "ext.maps.booking.partner.v3.SlotAvailability")
proto.RegisterType((*SlotTime)(nil), "ext.maps.booking.partner.v3.SlotTime")
proto.RegisterType((*SlotTimeAvailability)(nil), "ext.maps.booking.partner.v3.SlotTimeAvailability")
proto.RegisterType((*BatchAvailabilityLookupRequest)(nil), "ext.maps.booking.partner.v3.BatchAvailabilityLookupRequest")
proto.RegisterType((*BatchAvailabilityLookupResponse)(nil), "ext.maps.booking.partner.v3.BatchAvailabilityLookupResponse")
proto.RegisterType((*CheckOrderFulfillabilityRequest)(nil), "ext.maps.booking.partner.v3.CheckOrderFulfillabilityRequest")
proto.RegisterType((*CheckOrderFulfillabilityResponse)(nil), "ext.maps.booking.partner.v3.CheckOrderFulfillabilityResponse")
proto.RegisterType((*GetBookingStatusRequest)(nil), "ext.maps.booking.partner.v3.GetBookingStatusRequest")
proto.RegisterType((*GetBookingStatusResponse)(nil), "ext.maps.booking.partner.v3.GetBookingStatusResponse")
proto.RegisterType((*CreateBookingRequest)(nil), "ext.maps.booking.partner.v3.CreateBookingRequest")
proto.RegisterType((*CreateBookingResponse)(nil), "ext.maps.booking.partner.v3.CreateBookingResponse")
proto.RegisterType((*CreateLeaseRequest)(nil), "ext.maps.booking.partner.v3.CreateLeaseRequest")
proto.RegisterType((*CreateLeaseResponse)(nil), "ext.maps.booking.partner.v3.CreateLeaseResponse")
proto.RegisterType((*Lease)(nil), "ext.maps.booking.partner.v3.Lease")
proto.RegisterType((*LeaseReference)(nil), "ext.maps.booking.partner.v3.LeaseReference")
proto.RegisterType((*CreateOrderRequest)(nil), "ext.maps.booking.partner.v3.CreateOrderRequest")
proto.RegisterType((*CreateOrderResponse)(nil), "ext.maps.booking.partner.v3.CreateOrderResponse")
proto.RegisterType((*ListBookingsRequest)(nil), "ext.maps.booking.partner.v3.ListBookingsRequest")
proto.RegisterType((*ListBookingsResponse)(nil), "ext.maps.booking.partner.v3.ListBookingsResponse")
proto.RegisterType((*ListOrdersRequest)(nil), "ext.maps.booking.partner.v3.ListOrdersRequest")
proto.RegisterType((*ListOrdersRequest_OrderIds)(nil), "ext.maps.booking.partner.v3.ListOrdersRequest.OrderIds")
proto.RegisterType((*ListOrdersResponse)(nil), "ext.maps.booking.partner.v3.ListOrdersResponse")
proto.RegisterType((*UpdateBookingRequest)(nil), "ext.maps.booking.partner.v3.UpdateBookingRequest")
proto.RegisterType((*UpdateBookingResponse)(nil), "ext.maps.booking.partner.v3.UpdateBookingResponse")
proto.RegisterType((*Booking)(nil), "ext.maps.booking.partner.v3.Booking")
proto.RegisterType((*BookingFailure)(nil), "ext.maps.booking.partner.v3.BookingFailure")
proto.RegisterType((*Order)(nil), "ext.maps.booking.partner.v3.Order")
proto.RegisterType((*LineItem)(nil), "ext.maps.booking.partner.v3.LineItem")
proto.RegisterType((*LineItem_OrderedTickets)(nil), "ext.maps.booking.partner.v3.LineItem.OrderedTickets")
proto.RegisterType((*OrderFailure)(nil), "ext.maps.booking.partner.v3.OrderFailure")
proto.RegisterType((*OrderFulfillability)(nil), "ext.maps.booking.partner.v3.OrderFulfillability")
proto.RegisterType((*LineItemFulfillability)(nil), "ext.maps.booking.partner.v3.LineItemFulfillability")
proto.RegisterType((*LineItemFulfillability_UpdatedAvailability)(nil), "ext.maps.booking.partner.v3.LineItemFulfillability.UpdatedAvailability")
proto.RegisterType((*TicketType)(nil), "ext.maps.booking.partner.v3.TicketType")
proto.RegisterType((*ResourceIds)(nil), "ext.maps.booking.partner.v3.ResourceIds")
proto.RegisterType((*TokenizationConfig)(nil), "ext.maps.booking.partner.v3.TokenizationConfig")
proto.RegisterMapType((map[string]string)(nil), "ext.maps.booking.partner.v3.TokenizationConfig.TokenizationParameterEntry")
proto.RegisterType((*PaymentProcessingParameters)(nil), "ext.maps.booking.partner.v3.PaymentProcessingParameters")
proto.RegisterType((*UserPaymentOption)(nil), "ext.maps.booking.partner.v3.UserPaymentOption")
proto.RegisterType((*PaymentInformation)(nil), "ext.maps.booking.partner.v3.PaymentInformation")
proto.RegisterType((*Price)(nil), "ext.maps.booking.partner.v3.Price")
proto.RegisterType((*NoShowFee)(nil), "ext.maps.booking.partner.v3.NoShowFee")
proto.RegisterType((*Deposit)(nil), "ext.maps.booking.partner.v3.Deposit")
proto.RegisterType((*Slot)(nil), "ext.maps.booking.partner.v3.Slot")
proto.RegisterType((*UserInformation)(nil), "ext.maps.booking.partner.v3.UserInformation")
proto.RegisterType((*PostalAddress)(nil), "ext.maps.booking.partner.v3.PostalAddress")
}
func init() { proto.RegisterFile("v3.proto", fileDescriptor_1820d8e1a9fad753) }
var fileDescriptor_1820d8e1a9fad753 = []byte{
// 3760 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x3b, 0x4b, 0x6c, 0x1b, 0x49,
0x76, 0x6e, 0x7e, 0x44, 0xf2, 0xe9, 0xd7, 0x2a, 0x69, 0x64, 0x5a, 0xb6, 0xc7, 0x9a, 0x9e, 0xf1,
0x8c, 0x57, 0x9e, 0xd1, 0x64, 0x6d, 0x2f, 0x32, 0xbb, 0x48, 0x36, 0x69, 0x92, 0x2d, 0xab, 0x3d,
0x54, 0x37, 0xa7, 0xd8, 0x94, 0xed, 0x3d, 0xa4, 0xb7, 0xcd, 0x2e, 0xc9, 0x1d, 0x93, 0x6c, 0x6e,
0x77, 0x53, 0x6b, 0x0d, 0x76, 0x0e, 0x01, 0x82, 0x1c, 0x36, 0xc8, 0x21, 0xa7, 0x00, 0x01, 0x72,
0xdc, 0x5b, 0x72, 0xcb, 0x65, 0x91, 0x4b, 0x80, 0x00, 0x8b, 0x20, 0x40, 0x4e, 0x41, 0x90, 0x9c,
0x02, 0x24, 0xc8, 0x21, 0xa7, 0xdc, 0x03, 0x04, 0x41, 0x50, 0x9f, 0x26, 0xbb, 0x9b, 0x14, 0x45,
0x69, 0x66, 0x72, 0xc9, 0x8d, 0xf5, 0x7e, 0xf5, 0xea, 0xd5, 0xab, 0xf7, 0x5e, 0xbd, 0x2e, 0x42,
0xf9, 0xec, 0xf1, 0xfe, 0x30, 0xf0, 0x23, 0x1f, 0xdd, 0x26, 0x6f, 0xa3, 0xfd, 0xbe, 0x33, 0x0c,
0xf7, 0x5f, 0xf9, 0xfe, 0x1b, 0x6f, 0x70, 0xba, 0x3f, 0x74, 0x82, 0x68, 0x40, 0x82, 0xfd, 0xb3,
0xc7, 0xca, 0x17, 0x50, 0xad, 0xbf, 0x26, 0xdd, 0x37, 0xea, 0x99, 0xe3, 0xf5, 0x9c, 0x57, 0x5e,
0xcf, 0x8b, 0xce, 0x31, 0xf9, 0xc9, 0x88, 0x84, 0x11, 0xfa, 0x1e, 0x14, 0xc2, 0x9e, 0x1f, 0x55,
0xa5, 0x5d, 0xe9, 0xc1, 0xf2, 0xa3, 0xf7, 0xf6, 0xe7, 0xc8, 0xd9, 0x6f, 0xf7, 0xfc, 0x08, 0x33,
0x72, 0xe5, 0xe7, 0x05, 0xb8, 0x35, 0x43, 0x66, 0x38, 0xf4, 0x07, 0x21, 0xb9, 0xa6, 0x50, 0xf4,
0x11, 0xac, 0x77, 0xfd, 0xd1, 0x20, 0xb2, 0x1d, 0x2e, 0xb4, 0x47, 0xaa, 0xb9, 0x5d, 0xe9, 0x41,
0x11, 0xaf, 0x31, 0xb0, 0x1a, 0x43, 0xd1, 0x6f, 0xc2, 0xed, 0x9e, 0x13, 0x46, 0xb6, 0x3f, 0xe8,
0x79, 0x03, 0x62, 0x77, 0x9d, 0x41, 0x97, 0xf4, 0x18, 0xca, 0x0e, 0x49, 0xb7, 0x5a, 0xdc, 0x95,
0x1e, 0xe4, 0x71, 0x95, 0x92, 0x98, 0x8c, 0xa2, 0x3e, 0x21, 0x68, 0x93, 0x2e, 0xfa, 0x0a, 0xb6,
0xdc, 0x51, 0xe0, 0x44, 0x9e, 0x3f, 0xb0, 0x03, 0xf2, 0x93, 0x91, 0x17, 0x90, 0x3e, 0x19, 0x44,
0xd5, 0xfc, 0xae, 0xf4, 0x60, 0xed, 0xd1, 0xb3, 0xb9, 0xea, 0x5e, 0xb8, 0xe8, 0xfd, 0x86, 0x10,
0x89, 0x27, 0x12, 0xf1, 0xa6, 0x3b, 0x0d, 0x44, 0x3f, 0x86, 0x4d, 0x27, 0x21, 0xc0, 0x1e, 0x0d,
0x5d, 0x27, 0x22, 0xd5, 0x02, 0x33, 0xd6, 0xa7, 0x73, 0x67, 0x4f, 0x4e, 0xdc, 0x61, 0x6c, 0x18,
0x39, 0x53, 0x30, 0xa5, 0x0f, 0x9b, 0x33, 0xb4, 0x41, 0x1f, 0xc0, 0x6e, 0xa3, 0x83, 0x55, 0x4b,
0x37, 0x0d, 0x1b, 0x6b, 0x5f, 0x74, 0x74, 0xac, 0x1d, 0x69, 0x86, 0x65, 0x77, 0x8c, 0x76, 0x4b,
0xab, 0xeb, 0x07, 0xba, 0xd6, 0x90, 0x6f, 0xa0, 0x2a, 0x6c, 0x35, 0x4c, 0xdb, 0x30, 0x2d, 0xbb,
0x7d, 0x68, 0x3e, 0xb7, 0x63, 0x0e, 0x59, 0x42, 0xdb, 0x80, 0x8e, 0x3a, 0xed, 0x2c, 0x3c, 0xa7,
0x0c, 0x01, 0x4d, 0x2b, 0x86, 0x7e, 0x04, 0x1b, 0x74, 0x57, 0xed, 0xa4, 0x7e, 0x55, 0x69, 0x37,
0xff, 0x60, 0xf9, 0xd1, 0x27, 0x97, 0x7a, 0x44, 0xca, 0xc2, 0x72, 0x98, 0x81, 0x28, 0x01, 0xc8,
0x59, 0xaa, 0x6f, 0xdb, 0xe9, 0x94, 0x7f, 0x95, 0xa0, 0x4c, 0xf9, 0x2c, 0xaf, 0x4f, 0xd0, 0x5d,
0x80, 0x90, 0x04, 0x67, 0x5e, 0x97, 0xd8, 0x9e, 0xcb, 0x1c, 0xae, 0x82, 0x2b, 0x02, 0xa2, 0xbb,
0xe8, 0x36, 0x54, 0xc2, 0xc8, 0x09, 0x22, 0xe6, 0x8e, 0x12, 0x73, 0xc7, 0x32, 0x03, 0x50, 0xf7,
0x7b, 0x0f, 0x56, 0xc6, 0xee, 0x47, 0xf1, 0x39, 0x86, 0x5f, 0x8e, 0x61, 0x94, 0xe4, 0x3b, 0x20,
0xa7, 0x5c, 0x24, 0x72, 0x4e, 0x99, 0x77, 0x56, 0xf0, 0x7a, 0x12, 0x6e, 0x39, 0xa7, 0xe8, 0x73,
0x58, 0x09, 0x48, 0xe8, 0x8f, 0x02, 0xa6, 0x4a, 0x28, 0xdc, 0xe8, 0xc1, 0xdc, 0xe5, 0x63, 0xc1,
0xa0, 0xbb, 0x21, 0x5e, 0x0e, 0x26, 0x03, 0xe5, 0x2d, 0x6c, 0xc5, 0x4b, 0x4c, 0xd9, 0xb6, 0x06,
0x15, 0xb6, 0x97, 0x91, 0xd7, 0x27, 0xc2, 0xc0, 0xf7, 0x2f, 0x35, 0x30, 0x95, 0x82, 0xcb, 0x61,
0x6c, 0xb2, 0x3b, 0x50, 0x49, 0x9b, 0xb8, 0x8c, 0x27, 0x00, 0xe5, 0x0f, 0x25, 0x78, 0xb7, 0xe6,
0x44, 0xdd, 0xd7, 0xc9, 0x79, 0x9b, 0xbe, 0xff, 0x66, 0x34, 0x8c, 0x43, 0xd5, 0x3d, 0x58, 0xee,
0x93, 0xa0, 0xfb, 0xda, 0x19, 0x44, 0xd4, 0xe8, 0x12, 0xb3, 0x07, 0xc4, 0x20, 0xdd, 0x4d, 0x6b,
0x99, 0x67, 0x9e, 0x76, 0x55, 0x2d, 0x9f, 0x15, 0xca, 0x39, 0x39, 0xaf, 0xfc, 0x5c, 0x82, 0x7b,
0x17, 0x6a, 0x23, 0x82, 0xdc, 0x29, 0x6c, 0x8f, 0x67, 0x9b, 0xe5, 0xe4, 0xdf, 0x5d, 0x68, 0xea,
0x94, 0xa3, 0x6f, 0x85, 0x33, 0xa0, 0xca, 0x57, 0x70, 0x8f, 0x45, 0x1d, 0x33, 0x70, 0x49, 0x70,
0x30, 0xea, 0x9d, 0x78, 0xbd, 0x6c, 0x14, 0xbf, 0xd4, 0x34, 0xdf, 0x87, 0x82, 0x17, 0x91, 0x7e,
0x35, 0xb7, 0x80, 0x55, 0x9a, 0xde, 0x80, 0xe8, 0x11, 0xe9, 0x63, 0xc6, 0xa2, 0xfc, 0x4a, 0x82,
0xdd, 0x8b, 0xe7, 0x17, 0xc6, 0x78, 0x01, 0x6b, 0x27, 0x29, 0x8c, 0xf0, 0x92, 0x5f, 0x9b, 0x3b,
0xd3, 0x2c, 0x89, 0x19, 0x39, 0xe8, 0x10, 0xd6, 0x4e, 0x08, 0x09, 0x6d, 0x67, 0xe0, 0xda, 0x91,
0xf3, 0x96, 0x84, 0xcc, 0x77, 0x96, 0x1f, 0x29, 0x73, 0x25, 0xb7, 0x02, 0xaf, 0x4b, 0xf0, 0x0a,
0xe5, 0x54, 0x07, 0xae, 0x45, 0xf9, 0x94, 0xcf, 0xe0, 0xe6, 0x53, 0x12, 0xd5, 0x38, 0x71, 0x3b,
0x72, 0xa2, 0x51, 0x18, 0xdb, 0xef, 0x2e, 0x80, 0x10, 0x32, 0x31, 0x5f, 0x45, 0x40, 0x74, 0x57,
0xf9, 0x0f, 0x09, 0xaa, 0xd3, 0xac, 0x62, 0xe9, 0xf3, 0x79, 0xd1, 0x17, 0xb0, 0x16, 0xa3, 0x43,
0xc6, 0xc8, 0xf4, 0x5f, 0x7b, 0xb4, 0x37, 0x57, 0xff, 0xf4, 0x54, 0xab, 0xaf, 0x92, 0x43, 0x1a,
0x59, 0x87, 0x01, 0x19, 0x3a, 0xe7, 0x34, 0xaa, 0xc7, 0x52, 0x79, 0xf2, 0xfa, 0xe4, 0x12, 0xab,
0xc4, 0x5c, 0x42, 0xb0, 0x3c, 0xcc, 0x40, 0x94, 0x3f, 0x2f, 0xc0, 0x56, 0x3d, 0x20, 0x4e, 0x44,
0x84, 0x0a, 0x5f, 0xaf, 0x50, 0x40, 0x87, 0x50, 0xe9, 0x11, 0x27, 0x24, 0x76, 0x40, 0x4e, 0xc4,
0xce, 0x3d, 0x9c, 0xef, 0x7d, 0x94, 0x1a, 0x93, 0x13, 0x12, 0x90, 0x41, 0x97, 0xe0, 0x72, 0x4f,
0x8c, 0xd1, 0x73, 0x90, 0x47, 0x21, 0x09, 0x6c, 0x6f, 0x70, 0xe2, 0x07, 0x7d, 0x16, 0x2a, 0xd9,
0xa2, 0x97, 0x1f, 0x7d, 0x3c, 0x57, 0x60, 0x27, 0x24, 0x81, 0x3e, 0xe1, 0xc1, 0xeb, 0xa3, 0x34,
0x80, 0xe6, 0xe3, 0xd8, 0x96, 0x49, 0xd9, 0x8b, 0xe4, 0xe3, 0x16, 0xe7, 0x4b, 0x8a, 0x47, 0xc3,
0x29, 0x18, 0xfa, 0x19, 0xdc, 0x8d, 0x67, 0x18, 0x06, 0x7e, 0x97, 0x84, 0x21, 0x75, 0x87, 0xa1,
0x13, 0x38, 0x7d, 0x12, 0x91, 0x20, 0x64, 0x09, 0x64, 0xf9, 0xd1, 0x67, 0x8b, 0xcc, 0xd5, 0x1a,
0x0b, 0x68, 0x8d, 0xf9, 0xf1, 0xed, 0xe1, 0xc5, 0x48, 0xf4, 0x10, 0x36, 0x3c, 0x97, 0xf4, 0x87,
0x7e, 0x44, 0x06, 0xdd, 0x73, 0x3b, 0xf2, 0xdf, 0x90, 0x41, 0x75, 0x89, 0xf9, 0xa9, 0x9c, 0x40,
0x58, 0x14, 0x8e, 0x3e, 0x01, 0xe4, 0xb8, 0xae, 0x47, 0xd5, 0x76, 0x7a, 0xac, 0x3a, 0x22, 0x61,
0x54, 0x2d, 0x31, 0xea, 0x8d, 0x09, 0x46, 0x78, 0x85, 0xf2, 0x47, 0x39, 0x78, 0x27, 0xe3, 0x2e,
0xe2, 0x58, 0xfc, 0x10, 0x4a, 0x62, 0x11, 0xc2, 0x65, 0x3e, 0x58, 0xc4, 0xe1, 0x71, 0xcc, 0x84,
0x7e, 0x07, 0x36, 0xd9, 0x76, 0xc7, 0x86, 0xf3, 0x87, 0x6c, 0x57, 0xb8, 0x0b, 0xed, 0x5f, 0xba,
0xe3, 0xc2, 0x5a, 0x26, 0xe3, 0xc2, 0x1b, 0xa3, 0x2c, 0x08, 0x59, 0xb0, 0x1e, 0x9f, 0xcb, 0x13,
0xc7, 0xeb, 0x8d, 0x02, 0x22, 0xbc, 0xe9, 0xe1, 0x22, 0x7a, 0x1e, 0x70, 0x16, 0x1c, 0x9f, 0x6d,
0x31, 0x56, 0x0c, 0x40, 0xdc, 0x1c, 0xc2, 0x8d, 0xf9, 0xd9, 0xf9, 0x0c, 0x8a, 0xcc, 0x8d, 0x85,
0x25, 0x94, 0x05, 0x0e, 0x00, 0x67, 0x50, 0x7e, 0x21, 0xc1, 0x66, 0x4a, 0xa0, 0xb0, 0xee, 0xb5,
0x25, 0xce, 0x5a, 0x77, 0xee, 0xeb, 0xaf, 0xfb, 0xaf, 0x24, 0x28, 0xb2, 0x69, 0xd0, 0x2d, 0xe0,
0x47, 0x76, 0x12, 0x0c, 0x4b, 0x6c, 0xac, 0xbb, 0xe3, 0x10, 0x92, 0xbb, 0x5a, 0x08, 0xb9, 0x0f,
0x6b, 0xcc, 0x13, 0x82, 0x38, 0x28, 0x88, 0x52, 0x68, 0x95, 0x42, 0xc7, 0x91, 0x02, 0x7d, 0x1f,
0x6e, 0xf1, 0x89, 0xc9, 0xdb, 0xa1, 0x27, 0xca, 0x2b, 0x96, 0x9b, 0x69, 0x8d, 0x55, 0x60, 0x35,
0xd6, 0x36, 0x23, 0xd0, 0xc6, 0x78, 0x9a, 0x6a, 0xdb, 0xa4, 0xab, 0x3c, 0x84, 0xb5, 0x74, 0xd8,
0x99, 0xb3, 0x0a, 0xe5, 0xbf, 0xa4, 0x78, 0x8f, 0x59, 0xfa, 0x4a, 0xec, 0xb1, 0x4f, 0xc7, 0x0b,
0xed, 0x08, 0xe7, 0xe4, 0x0c, 0x97, 0x47, 0x87, 0xdc, 0xff, 0x79, 0x74, 0xc8, 0xcf, 0x8e, 0x0e,
0xca, 0x5f, 0x8c, 0xdd, 0x51, 0xac, 0x5d, 0xb8, 0xe3, 0x0f, 0xae, 0xbc, 0xf8, 0xc3, 0x1b, 0xf1,
0xf2, 0x5b, 0xb0, 0xca, 0x7e, 0x64, 0xdc, 0xf1, 0x3b, 0x0b, 0x54, 0x0e, 0x9c, 0xe1, 0xf0, 0x06,
0x5e, 0xf1, 0x13, 0xe3, 0x5a, 0x19, 0x96, 0x02, 0x12, 0x8e, 0x7a, 0x91, 0xb2, 0x0f, 0x9b, 0x4d,
0x2f, 0x8c, 0x13, 0xf7, 0x38, 0xdd, 0xdf, 0x84, 0x12, 0x4f, 0x25, 0xf1, 0xe6, 0x2e, 0xb1, 0x9c,
0xe0, 0x2a, 0x2f, 0x60, 0x2b, 0x4d, 0x2f, 0xd6, 0xf7, 0xdb, 0x50, 0x16, 0x4a, 0x84, 0xa2, 0xba,
0x5b, 0x2c, 0x9a, 0x8d, 0xb9, 0x94, 0xbf, 0x94, 0x60, 0x83, 0x8a, 0x66, 0x8a, 0x8f, 0x15, 0xb9,
0x95, 0x51, 0xe4, 0xf0, 0x46, 0xac, 0x0a, 0x3a, 0x86, 0x0a, 0x37, 0x0b, 0x2d, 0xea, 0xb9, 0x49,
0x7e, 0xfd, 0x92, 0xb2, 0x2d, 0x23, 0x9d, 0x1b, 0x49, 0x77, 0xc3, 0xc3, 0x1b, 0xb8, 0xec, 0x8b,
0xdf, 0x3b, 0xf7, 0xa1, 0x1c, 0xc3, 0xa9, 0x97, 0xc7, 0x73, 0xb0, 0x65, 0x55, 0x70, 0x49, 0xd0,
0xd5, 0x8a, 0x90, 0xf7, 0xdc, 0x90, 0xc6, 0xb3, 0xa4, 0xdc, 0x49, 0xf4, 0x89, 0xb7, 0x3b, 0x7f,
0x25, 0x5f, 0x57, 0x8e, 0x61, 0x8b, 0x5f, 0x0f, 0x33, 0xd5, 0xc5, 0xd7, 0xcc, 0x16, 0x2c, 0x0f,
0x65, 0x04, 0xff, 0xbf, 0xce, 0x43, 0xff, 0x92, 0x83, 0x92, 0x20, 0xb9, 0xac, 0x40, 0xbd, 0x66,
0x54, 0xfe, 0xd6, 0xca, 0xb1, 0x1a, 0x2c, 0x89, 0x92, 0xb6, 0x70, 0xe5, 0x42, 0x59, 0x70, 0x5e,
0x54, 0xd2, 0x15, 0xbf, 0xb1, 0x92, 0x4e, 0xf9, 0xa7, 0x02, 0xac, 0xa5, 0xf7, 0x00, 0x3d, 0x85,
0x62, 0xd7, 0x19, 0x89, 0x9c, 0xbc, 0x76, 0xc9, 0xfd, 0x2f, 0xcd, 0xbb, 0x5f, 0xa7, 0x8c, 0x98,
0xf3, 0xa3, 0x97, 0x80, 0x02, 0xf2, 0xbb, 0xa4, 0x1b, 0x11, 0xd7, 0xee, 0x3a, 0x81, 0x6b, 0x47,
0xe7, 0x43, 0x22, 0xae, 0x0d, 0xf3, 0xbd, 0xa2, 0x1e, 0x10, 0xd7, 0x8b, 0xea, 0x4e, 0xe0, 0x5a,
0xe7, 0x43, 0x82, 0xe5, 0x58, 0x4c, 0x0c, 0x41, 0xbb, 0xb0, 0xec, 0x92, 0xb0, 0x1b, 0x78, 0xc3,
0xf1, 0x86, 0x55, 0x70, 0x12, 0xa4, 0xfc, 0x4f, 0x0e, 0x8a, 0x4c, 0x1b, 0xf4, 0x0e, 0x6c, 0xd4,
0xd5, 0x4e, 0x5b, 0xcb, 0xf4, 0x87, 0xb6, 0x40, 0x6e, 0x37, 0x4d, 0xcb, 0xee, 0x18, 0xea, 0xb1,
0xaa, 0x37, 0xd5, 0x5a, 0x53, 0x93, 0x25, 0x74, 0x0f, 0x6e, 0x33, 0xa8, 0xda, 0xc4, 0x9a, 0xda,
0x78, 0x69, 0xd7, 0x4c, 0xf3, 0x73, 0xad, 0x61, 0xd7, 0x5e, 0xda, 0x9d, 0xb6, 0x86, 0xe5, 0x1c,
0xda, 0x80, 0xd5, 0xa6, 0xa6, 0xb6, 0x35, 0x5b, 0x7b, 0xd1, 0xd2, 0xb1, 0xd6, 0x90, 0xf3, 0x94,
0xc7, 0xec, 0x58, 0x6d, 0xbd, 0xa1, 0xd9, 0x75, 0xd5, 0xa8, 0x6b, 0xcd, 0x26, 0xef, 0x4d, 0x3d,
0xd7, 0x8d, 0x86, 0xf9, 0x5c, 0x2e, 0xa0, 0x0f, 0x60, 0xb7, 0xa5, 0xbe, 0x64, 0x3d, 0x2a, 0x0d,
0x63, 0x13, 0xdb, 0x75, 0x15, 0x37, 0x6c, 0xeb, 0x65, 0x4b, 0xb3, 0xb1, 0xf6, 0x4c, 0xab, 0x5b,
0x5a, 0x43, 0x2e, 0x52, 0x31, 0x33, 0xa8, 0x1a, 0x5a, 0xbd, 0xa9, 0x1b, 0x5a, 0x43, 0x5e, 0x42,
0x77, 0xa0, 0x1a, 0x13, 0x98, 0x2d, 0x36, 0x83, 0x61, 0x5a, 0xf6, 0xb1, 0xda, 0xd4, 0x1b, 0x72,
0x89, 0x2a, 0x96, 0x62, 0x97, 0xcb, 0x48, 0x81, 0x77, 0xa9, 0xd6, 0x54, 0x2b, 0x4a, 0x49, 0x6d,
0x90, 0x16, 0x20, 0x57, 0xd0, 0x5d, 0xb8, 0x45, 0xd7, 0xa8, 0x1b, 0x4f, 0xc7, 0x6b, 0x16, 0x8b,
0xd0, 0x1a, 0x32, 0xa0, 0xdb, 0x70, 0x33, 0x46, 0x53, 0x11, 0xf1, 0xfa, 0xa8, 0xb1, 0x96, 0x29,
0xd2, 0x3c, 0xd6, 0x70, 0x53, 0x6d, 0xb5, 0x28, 0x01, 0xd6, 0xda, 0x1a, 0x3e, 0xe6, 0xdd, 0xb4,
0x15, 0xe5, 0x97, 0x39, 0x28, 0xb2, 0x98, 0x99, 0x09, 0xcf, 0x52, 0x22, 0x3c, 0xcf, 0x3c, 0x7d,
0xb9, 0x6f, 0xf1, 0x32, 0x94, 0xff, 0xe6, 0x2e, 0x43, 0x99, 0x5e, 0x45, 0xe1, 0xc2, 0x5e, 0x45,
0xf1, 0xea, 0xbd, 0x8a, 0xff, 0xce, 0x41, 0x39, 0x06, 0x65, 0x7a, 0x74, 0xd2, 0xdc, 0x1e, 0x5d,
0xee, 0x92, 0x1e, 0x5d, 0x7e, 0xba, 0x47, 0x67, 0x40, 0x29, 0xf2, 0xba, 0x6f, 0x48, 0x44, 0x03,
0x15, 0xd5, 0xf4, 0xc9, 0x42, 0x9a, 0xf2, 0x7c, 0x48, 0x5c, 0x8b, 0xf3, 0xe2, 0x58, 0x08, 0x4d,
0xaa, 0xc3, 0xc0, 0xeb, 0x12, 0x11, 0xa5, 0x16, 0xe9, 0x6f, 0x70, 0x86, 0x44, 0xc4, 0x5c, 0xba,
0x6e, 0xc4, 0xdc, 0xa9, 0xc3, 0x5a, 0x5a, 0x31, 0x6a, 0x1f, 0xae, 0xda, 0xc4, 0x7a, 0x65, 0x0e,
0xd0, 0x5d, 0xb4, 0x05, 0x45, 0xd6, 0x1e, 0x15, 0xbd, 0x52, 0x3e, 0x50, 0xfe, 0x3a, 0x0f, 0x2b,
0xc9, 0xca, 0x0c, 0x69, 0xe9, 0x90, 0xf8, 0xe9, 0xc2, 0x35, 0x5d, 0x3a, 0x20, 0x4e, 0x77, 0x97,
0x72, 0xdf, 0x50, 0x77, 0x69, 0x76, 0xa8, 0xcd, 0x7f, 0x0b, 0xa1, 0xb6, 0x30, 0x1d, 0x6a, 0xff,
0x58, 0xba, 0x24, 0xd4, 0xde, 0x84, 0x4d, 0x13, 0x37, 0x34, 0x6c, 0x77, 0x8c, 0x83, 0x4e, 0xf3,
0x40, 0x6f, 0xc6, 0xd1, 0x76, 0x91, 0xc0, 0x98, 0xbb, 0x2c, 0x30, 0xe6, 0xa7, 0x43, 0x5f, 0x41,
0xf9, 0xe7, 0x3c, 0x6c, 0xce, 0x30, 0x1c, 0x7a, 0x15, 0xd7, 0xd4, 0x62, 0x2b, 0x9f, 0x5d, 0xd5,
0xf4, 0xfb, 0xb3, 0xdb, 0x87, 0xa3, 0x5e, 0x84, 0x85, 0x64, 0xe4, 0xc2, 0x26, 0x3d, 0xc5, 0xf6,
0xd4, 0x5e, 0xd3, 0xd3, 0xf5, 0x78, 0xa1, 0xd3, 0x95, 0x91, 0x8f, 0xbc, 0x29, 0x18, 0xfa, 0x2e,
0x6c, 0x8d, 0x06, 0xe3, 0x29, 0x7a, 0xc4, 0x0e, 0x88, 0x13, 0x8e, 0x73, 0xe1, 0x66, 0x0a, 0x87,
0x19, 0x4a, 0xf9, 0x1b, 0x09, 0x6e, 0x5d, 0xa8, 0x3e, 0x7a, 0x08, 0x1f, 0xf1, 0x5d, 0x1a, 0xef,
0x91, 0xde, 0xd4, 0xad, 0x97, 0x34, 0xac, 0x77, 0x9a, 0xd9, 0xaf, 0x2b, 0xeb, 0xb0, 0x5c, 0x57,
0x8d, 0x98, 0x54, 0x96, 0x68, 0x2e, 0x48, 0xed, 0xae, 0x4d, 0x37, 0xc7, 0xd6, 0x2d, 0xed, 0x48,
0xce, 0xa1, 0xfb, 0xf0, 0x5e, 0x1a, 0x49, 0x13, 0x85, 0x5e, 0xd7, 0xec, 0xba, 0x79, 0x54, 0xd3,
0x0d, 0x9e, 0x32, 0xf2, 0xd4, 0x1d, 0x66, 0xf8, 0x89, 0x6d, 0x5a, 0x87, 0x1a, 0xb6, 0xb1, 0xa6,
0xb6, 0x4d, 0x43, 0x2e, 0x28, 0x7f, 0x57, 0x84, 0xed, 0xd9, 0x76, 0x1a, 0x87, 0xdc, 0x45, 0x5a,
0xfb, 0xe9, 0x90, 0x8b, 0xdc, 0xb1, 0x63, 0xf0, 0x02, 0xa5, 0x79, 0x8d, 0x7d, 0xda, 0x9f, 0xb1,
0x75, 0x69, 0xd7, 0xb8, 0xfa, 0xa6, 0xa1, 0x37, 0xb0, 0x92, 0xea, 0xca, 0xf3, 0x7e, 0xde, 0xd3,
0xeb, 0xa8, 0xc7, 0x6f, 0x16, 0x6e, 0xaa, 0x57, 0x9f, 0x12, 0x8e, 0x0e, 0x61, 0x59, 0x04, 0x4b,
0x16, 0x40, 0x78, 0xea, 0xfa, 0x68, 0xee, 0x5c, 0x3c, 0xce, 0xb2, 0xe0, 0x01, 0xd1, 0xf8, 0xf7,
0xce, 0x13, 0xd8, 0x9c, 0x31, 0x1d, 0x4b, 0x66, 0x43, 0x3f, 0x0a, 0x6d, 0x7f, 0x48, 0x06, 0x6c,
0x9f, 0x8a, 0xb8, 0xc2, 0x20, 0xe6, 0x90, 0x0c, 0x94, 0xff, 0x94, 0xa0, 0x7a, 0x91, 0x11, 0xd1,
0x1e, 0x7c, 0x48, 0xfd, 0xe9, 0x7a, 0xfe, 0x39, 0xab, 0xdc, 0x63, 0xa1, 0xa5, 0x7e, 0xa8, 0x37,
0x1b, 0xb6, 0xa5, 0xd7, 0x3f, 0xd7, 0xac, 0xb6, 0xfd, 0x5c, 0xb7, 0x0e, 0xcd, 0x8e, 0x65, 0xab,
0x8d, 0x4e, 0xd3, 0x92, 0x97, 0xa8, 0x4b, 0xa6, 0x9d, 0x91, 0x13, 0x66, 0x1c, 0x77, 0x13, 0xd6,
0x75, 0xa3, 0x6e, 0x62, 0xac, 0xd5, 0x2d, 0xbb, 0x85, 0xf5, 0xba, 0x26, 0x17, 0xd0, 0xfb, 0x70,
0x8f, 0xa9, 0x3b, 0xc7, 0x99, 0x8b, 0xca, 0xdf, 0x4a, 0x00, 0x13, 0x0b, 0xa2, 0x0f, 0x60, 0x2d,
0x61, 0xff, 0x49, 0xc6, 0x5a, 0x99, 0x58, 0x56, 0x77, 0xd1, 0x43, 0xd8, 0x08, 0x5f, 0xfb, 0x41,
0x64, 0x27, 0x03, 0x73, 0x8e, 0xf7, 0x3a, 0x18, 0xa2, 0x31, 0x81, 0x4f, 0xf2, 0x71, 0xfe, 0xaa,
0xf9, 0xf8, 0x13, 0x40, 0xfc, 0x96, 0x68, 0x4f, 0x27, 0x80, 0x0d, 0x8e, 0x49, 0x4c, 0xa4, 0xfc,
0x18, 0x96, 0x13, 0x1f, 0xe4, 0x68, 0xd5, 0x17, 0x46, 0xce, 0xc9, 0x49, 0xa2, 0xea, 0x63, 0x63,
0xdd, 0x45, 0x37, 0xa1, 0x14, 0xf8, 0x7e, 0x9f, 0x62, 0xb8, 0xd6, 0x4b, 0x74, 0xa8, 0xbb, 0xd4,
0x3b, 0xa8, 0x32, 0xe7, 0x76, 0xe8, 0x7d, 0xc9, 0x15, 0x2e, 0xe2, 0x0a, 0x83, 0xb4, 0xbd, 0x2f,
0x89, 0xf2, 0xab, 0x3c, 0x20, 0xd6, 0xc0, 0xf1, 0xbe, 0x64, 0xe5, 0x4b, 0xdd, 0x1f, 0x9c, 0x78,
0xa7, 0xe8, 0xf7, 0x24, 0xd8, 0x8e, 0x12, 0xe0, 0x49, 0xcf, 0x49, 0x5c, 0xec, 0xe7, 0x07, 0xf9,
0x69, 0x89, 0x29, 0xd0, 0xb8, 0xc7, 0xa4, 0x0d, 0xa2, 0xe0, 0x1c, 0xbf, 0x13, 0xcd, 0xc2, 0xa1,
0x3f, 0x90, 0x60, 0xe7, 0x95, 0xd7, 0xeb, 0xb1, 0xdb, 0xe9, 0xa4, 0x4a, 0xb4, 0xf9, 0x2f, 0x11,
0x53, 0x0e, 0xaf, 0xaa, 0x47, 0x8d, 0x4b, 0x4c, 0x94, 0x9d, 0x07, 0xec, 0x07, 0xae, 0xbe, 0xba,
0x00, 0xb3, 0x73, 0x08, 0x3b, 0x17, 0x6b, 0x8f, 0x64, 0xc8, 0xbf, 0x21, 0xe7, 0x62, 0x3f, 0xe8,
0x4f, 0x5a, 0x01, 0x9d, 0x39, 0xbd, 0x11, 0x11, 0x3b, 0xc1, 0x07, 0x3f, 0xc8, 0x7d, 0x26, 0x29,
0x2f, 0xa1, 0x7a, 0xd1, 0xfc, 0xf4, 0x28, 0xd6, 0xf4, 0x66, 0x93, 0x56, 0xfd, 0xba, 0x71, 0x60,
0xe2, 0x23, 0x7e, 0xe3, 0xe1, 0xbf, 0x32, 0x47, 0xb1, 0x04, 0xf9, 0x23, 0xdd, 0x90, 0x25, 0x54,
0x86, 0xc2, 0x41, 0xa7, 0xd9, 0x94, 0x73, 0xca, 0x9f, 0x16, 0xe0, 0xf6, 0x9c, 0x4e, 0x1f, 0x7a,
0x03, 0x15, 0xd1, 0x42, 0xf4, 0x03, 0x91, 0xa8, 0xf5, 0xeb, 0xb6, 0x0d, 0x33, 0x38, 0x3f, 0xa8,
0xe5, 0xaa, 0x12, 0x9e, 0xc8, 0x47, 0x4f, 0x60, 0x2b, 0xbe, 0x2a, 0xf4, 0x49, 0xf4, 0xda, 0x77,
0x45, 0xf3, 0x90, 0x19, 0x84, 0x11, 0xc7, 0xe5, 0xff, 0x11, 0x43, 0xf3, 0x0f, 0x0c, 0x2a, 0xdc,
0x1d, 0x0d, 0x86, 0x4e, 0x10, 0x12, 0xd7, 0x9e, 0xc9, 0xce, 0x3f, 0xa6, 0xef, 0xc4, 0x44, 0xad,
0x69, 0x11, 0x77, 0xa0, 0x74, 0x46, 0x82, 0x70, 0x7c, 0x81, 0x65, 0x73, 0xc5, 0x20, 0xf4, 0x29,
0x6c, 0x64, 0xda, 0xa9, 0x7e, 0xc0, 0x0f, 0x1f, 0xa3, 0x93, 0x87, 0x99, 0x65, 0xd1, 0x2b, 0x4f,
0xea, 0x14, 0x74, 0x99, 0x0f, 0xb1, 0x5a, 0xfa, 0xb2, 0x2b, 0xcf, 0xb4, 0xeb, 0x61, 0x14, 0x4d,
0xc1, 0x14, 0x17, 0xe4, 0xac, 0x31, 0xd1, 0x7b, 0x70, 0x37, 0xae, 0xbd, 0x5a, 0xd8, 0xac, 0x6b,
0xed, 0xb6, 0x89, 0xa7, 0x6f, 0xda, 0x13, 0x54, 0xdb, 0xc2, 0x7a, 0x8b, 0xd6, 0x7e, 0x37, 0x61,
0x73, 0x02, 0xad, 0x61, 0x55, 0x37, 0x2c, 0xac, 0x69, 0x72, 0x4e, 0xf9, 0xb7, 0x1c, 0x6c, 0x4c,
0xb5, 0x9c, 0xd0, 0x63, 0xd8, 0x9e, 0xd1, 0xbf, 0x9a, 0x04, 0x97, 0xcd, 0xa9, 0x96, 0x94, 0xee,
0xa2, 0x4f, 0x61, 0xeb, 0xcc, 0xe9, 0x79, 0xae, 0xcd, 0x6f, 0x48, 0xe3, 0x36, 0x3a, 0xbf, 0x26,
0x6d, 0x30, 0x5c, 0x9b, 0xa2, 0x44, 0x07, 0x1d, 0x3d, 0x04, 0xc4, 0x19, 0xc8, 0xc0, 0x9d, 0x90,
0xf3, 0x5b, 0xd3, 0x3a, 0xc3, 0x68, 0x03, 0x37, 0x26, 0xae, 0x41, 0x81, 0x65, 0x49, 0xde, 0xdf,
0xd9, 0x5f, 0xc4, 0x41, 0xb9, 0x66, 0x2c, 0x59, 0x32, 0x5e, 0x74, 0x1f, 0xd6, 0xfc, 0xc0, 0x3b,
0xf5, 0x06, 0x4e, 0xcf, 0xe6, 0x37, 0x91, 0x22, 0x8b, 0x7a, 0xab, 0x31, 0xb4, 0x4e, 0x81, 0xe8,
0x7d, 0x58, 0xed, 0x8e, 0x82, 0x80, 0x2e, 0x9c, 0x53, 0x2d, 0x31, 0xaa, 0x15, 0x01, 0xe4, 0x44,
0x7b, 0x13, 0x8f, 0x99, 0x58, 0x87, 0x7f, 0xf2, 0x5a, 0x1f, 0xa6, 0x2d, 0xa3, 0xfc, 0xfd, 0x12,
0xa0, 0xe9, 0x8b, 0xee, 0xec, 0x4f, 0xb2, 0xd2, 0x37, 0xf2, 0x49, 0x16, 0x3d, 0x81, 0xed, 0x58,
0x70, 0x14, 0x38, 0x83, 0xd0, 0xe9, 0xc6, 0x3a, 0xf2, 0xd0, 0x13, 0x9f, 0x42, 0x6b, 0x82, 0xd4,
0xdd, 0xaf, 0x91, 0xbe, 0x54, 0x80, 0xc8, 0x79, 0x6b, 0x3b, 0x7d, 0x66, 0xb0, 0xc2, 0xc2, 0xec,
0x95, 0xc8, 0x79, 0xab, 0x32, 0x26, 0x14, 0x4d, 0x42, 0x83, 0x38, 0x83, 0xc4, 0xb5, 0x5f, 0x9d,
0xb3, 0x3d, 0x5a, 0x7b, 0x54, 0xbb, 0x62, 0x1b, 0x21, 0x13, 0x89, 0x88, 0x5b, 0x3b, 0x1f, 0x87,
0x96, 0x04, 0x0c, 0x7d, 0x3c, 0x6b, 0x1f, 0x97, 0x44, 0x5f, 0x3d, 0xbb, 0x93, 0xe8, 0x7b, 0x17,
0x1e, 0x8c, 0x92, 0x60, 0x99, 0x79, 0x34, 0x7e, 0x08, 0x25, 0x97, 0x0c, 0xfd, 0xd0, 0x8b, 0xaa,
0xe5, 0x05, 0xfa, 0xc9, 0x0d, 0x4e, 0x8b, 0x63, 0x26, 0x74, 0x00, 0xcb, 0x03, 0xdf, 0x0e, 0x5f,
0xfb, 0x3f, 0xb5, 0x4f, 0x08, 0xa9, 0x56, 0x98, 0x8c, 0x0f, 0xe7, 0xca, 0x30, 0xfc, 0xf6, 0x6b,
0xff, 0xa7, 0x07, 0x84, 0xe0, 0xca, 0x20, 0xfe, 0x39, 0xe3, 0x5d, 0x04, 0x5c, 0xf3, 0x5d, 0x44,
0x7f, 0xec, 0xd1, 0x49, 0x63, 0x26, 0xae, 0x98, 0x22, 0xdc, 0x88, 0x76, 0x5e, 0xf6, 0x86, 0x9a,
0xc2, 0x3e, 0x35, 0xcd, 0xa7, 0xec, 0x86, 0x5a, 0x85, 0xad, 0x14, 0xa2, 0xa5, 0x62, 0xcb, 0xd0,
0xb0, 0x9c, 0xab, 0xad, 0xd0, 0x5a, 0x45, 0x74, 0x98, 0x5c, 0xe5, 0x2b, 0x28, 0x32, 0x9d, 0xd0,
0x7b, 0xb0, 0xc2, 0xdc, 0xcf, 0xee, 0x7b, 0xdd, 0xc0, 0x0f, 0xc5, 0xab, 0xa9, 0x65, 0x06, 0x3b,
0x62, 0xa0, 0xc9, 0x61, 0xee, 0x9e, 0xdb, 0x5d, 0xdf, 0x8d, 0x53, 0xef, 0x4a, 0x0c, 0xac, 0xfb,
0x2e, 0x41, 0x1f, 0x03, 0xa2, 0x3c, 0xb4, 0x9e, 0x10, 0x3b, 0x3a, 0x79, 0x3c, 0x25, 0x0b, 0x8c,
0x88, 0x26, 0xce, 0xa9, 0xf2, 0xfb, 0x12, 0x54, 0xc6, 0xe6, 0x45, 0x4f, 0x20, 0x4f, 0xf7, 0x44,
0x5a, 0xd8, 0x90, 0x94, 0x1c, 0xa9, 0x50, 0x3e, 0x21, 0x24, 0xd9, 0x39, 0xf8, 0xf0, 0x72, 0x56,
0x16, 0xca, 0x4a, 0x27, 0x84, 0xfd, 0x50, 0xfe, 0x41, 0x82, 0x92, 0xf0, 0x14, 0xf4, 0x1b, 0x13,
0x07, 0x5b, 0x5c, 0x91, 0xb1, 0x7b, 0xfd, 0x16, 0xdc, 0xe9, 0x7b, 0x03, 0xdb, 0x71, 0xcf, 0x9c,
0x41, 0x77, 0xf2, 0x34, 0x32, 0xf3, 0xd8, 0xec, 0x56, 0xdf, 0x1b, 0xa8, 0x9c, 0xa4, 0x9e, 0xa0,
0xa0, 0xc1, 0x59, 0x87, 0x15, 0x21, 0xeb, 0x3a, 0x2b, 0x5a, 0x16, 0xbc, 0x6c, 0x55, 0xff, 0x98,
0x83, 0x42, 0xbb, 0xe7, 0x2f, 0xf0, 0x3c, 0x29, 0xdd, 0xaa, 0xcb, 0xcd, 0x6d, 0xd5, 0xe5, 0x2f,
0x69, 0xd5, 0x15, 0x16, 0x7b, 0x4e, 0x57, 0x9c, 0xfd, 0x9c, 0xee, 0x00, 0x2a, 0xf1, 0x83, 0xb8,
0x50, 0x94, 0x00, 0x8b, 0xbf, 0xa5, 0x9b, 0xb0, 0xd2, 0x84, 0xc0, 0xea, 0x88, 0xb8, 0x9e, 0xed,
0x53, 0x7f, 0x2d, 0x2d, 0x90, 0x10, 0xea, 0x09, 0xae, 0x23, 0xdf, 0x25, 0x58, 0xee, 0x66, 0x20,
0xca, 0xbf, 0x4b, 0xb0, 0x9e, 0x69, 0xe4, 0x5e, 0xf8, 0x49, 0x93, 0x9a, 0xf6, 0xd4, 0x3b, 0x23,
0x03, 0x7b, 0xe0, 0xf4, 0xe3, 0x13, 0x53, 0x61, 0x10, 0xc3, 0xe9, 0x13, 0xba, 0x35, 0x27, 0x4e,
0xdf, 0xeb, 0x9d, 0x73, 0x3c, 0x3f, 0x27, 0xc0, 0x41, 0x8c, 0xa0, 0x01, 0x25, 0xc7, 0x75, 0x03,
0x12, 0xc6, 0x4f, 0x0b, 0xe7, 0x77, 0x17, 0x5b, 0x7e, 0x18, 0x39, 0x3d, 0x95, 0x73, 0xe0, 0x98,
0x15, 0xdd, 0x81, 0x4a, 0x44, 0x7a, 0x64, 0xf8, 0xda, 0x1f, 0x90, 0xf8, 0xb9, 0xe4, 0x18, 0x40,
0x6b, 0x69, 0xd2, 0x77, 0xbc, 0x9e, 0x78, 0x95, 0xc2, 0x07, 0xca, 0x2f, 0x24, 0x58, 0x4d, 0x89,
0x43, 0x55, 0x28, 0xb1, 0x2c, 0x1e, 0xc4, 0x95, 0x78, 0x3c, 0x44, 0x3b, 0x50, 0xee, 0xf9, 0x5d,
0x67, 0xdc, 0x1b, 0xac, 0xe0, 0xf1, 0x18, 0x6d, 0xc3, 0x52, 0x40, 0x4e, 0x27, 0x9f, 0x3b, 0xc4,
0x88, 0x2e, 0x7d, 0xc8, 0xc4, 0xf3, 0x60, 0x22, 0x1a, 0xd1, 0x1c, 0xc4, 0x42, 0xc9, 0x7d, 0x58,
0x0b, 0xa3, 0x80, 0x90, 0xc8, 0x8e, 0x2d, 0xc0, 0x35, 0x5f, 0xe5, 0x50, 0xa1, 0xd5, 0xde, 0x2f,
0x25, 0x58, 0x4d, 0x35, 0x55, 0xd1, 0xbb, 0xb0, 0x13, 0x37, 0xff, 0xdb, 0x96, 0x6a, 0x75, 0xda,
0x99, 0xa8, 0xb9, 0x0a, 0x95, 0xba, 0x69, 0x1c, 0xe8, 0xf8, 0x48, 0x6b, 0xc8, 0x12, 0x2b, 0x05,
0x35, 0xa3, 0x41, 0xc9, 0x8f, 0x34, 0x5c, 0x3f, 0x54, 0x0d, 0x7a, 0x4f, 0x66, 0x78, 0xf1, 0xc4,
0x16, 0xad, 0x40, 0x99, 0x7f, 0x42, 0x60, 0x7d, 0xbb, 0x65, 0x28, 0x19, 0x26, 0x7b, 0x86, 0x2b,
0x17, 0xd0, 0x3b, 0xb0, 0x21, 0x06, 0x76, 0x4b, 0x33, 0xd4, 0xa6, 0xfe, 0x23, 0xf6, 0x55, 0x04,
0x60, 0xe9, 0x40, 0xd5, 0x9b, 0xec, 0x03, 0x48, 0x15, 0xb6, 0xe2, 0xae, 0x1f, 0x8d, 0xc5, 0xf1,
0x24, 0x72, 0x69, 0xef, 0x1c, 0xd6, 0xd2, 0x8d, 0x4c, 0xb4, 0x0b, 0x77, 0xea, 0x58, 0x6b, 0xe8,
0x56, 0xa2, 0xa7, 0x98, 0xd6, 0xbe, 0x0c, 0x85, 0x63, 0xbd, 0xad, 0xca, 0x12, 0x5a, 0x03, 0x38,
0x52, 0xdb, 0x96, 0x86, 0x29, 0xa9, 0x9c, 0xa3, 0x05, 0xab, 0x7a, 0xa4, 0x61, 0xbd, 0xae, 0x1a,
0xb6, 0xf6, 0xa2, 0x85, 0xb5, 0x76, 0x5b, 0xce, 0x53, 0xdd, 0x1b, 0x7a, 0xbb, 0x6e, 0x1e, 0x6b,
0x58, 0x2e, 0xd0, 0x5b, 0xcd, 0xb3, 0x7a, 0x4d, 0x2e, 0xee, 0xfd, 0x0c, 0xe4, 0xac, 0xaf, 0x53,
0x4b, 0x24, 0x17, 0x6e, 0x1f, 0x99, 0x8d, 0xec, 0xec, 0x33, 0x49, 0xda, 0x2f, 0x8d, 0xfa, 0x21,
0x36, 0x0d, 0xb3, 0xd3, 0x96, 0x25, 0xa4, 0xc0, 0xbb, 0xd3, 0x24, 0x6a, 0x92, 0x26, 0xb7, 0xf7,
0x27, 0x12, 0x6c, 0x4c, 0xd5, 0x96, 0xe8, 0x7d, 0xb8, 0x97, 0xf9, 0x52, 0x34, 0x63, 0xfd, 0x77,
0xe1, 0x56, 0x86, 0xa8, 0xad, 0x1b, 0x4f, 0x9b, 0x9a, 0xdd, 0x69, 0xd3, 0xcc, 0x37, 0xfd, 0xb5,
0xe9, 0xa8, 0xd3, 0xb4, 0x74, 0x86, 0xcd, 0x51, 0xf3, 0x66, 0xb0, 0x1d, 0xa3, 0xa9, 0x1f, 0xe9,
0x96, 0xd6, 0x60, 0x14, 0xf9, 0xbd, 0x3f, 0x93, 0x40, 0xce, 0x56, 0x85, 0xcc, 0x45, 0xb0, 0x16,
0x73, 0xce, 0x74, 0x2a, 0x96, 0x8a, 0xb5, 0x44, 0xce, 0x3e, 0xd6, 0x1b, 0xcc, 0xbd, 0x6e, 0xc3,
0xcd, 0x04, 0xc2, 0x30, 0x13, 0xc8, 0x5c, 0x86, 0x0b, 0x6b, 0x07, 0x1d, 0xa3, 0xc1, 0x7c, 0x2c,
0x8d, 0xe0, 0x2e, 0xa1, 0x35, 0xe4, 0xc2, 0xde, 0x63, 0xa8, 0x8c, 0xe3, 0x3d, 0xda, 0x06, 0x74,
0xa0, 0xbf, 0xd0, 0x1a, 0x36, 0x56, 0x2d, 0xcd, 0x6e, 0x68, 0x07, 0x6a, 0xa7, 0x69, 0xc9, 0x37,
0xa8, 0x67, 0xb4, 0x34, 0x6c, 0xb7, 0x34, 0xdc, 0x36, 0x0d, 0x59, 0x7a, 0xb5, 0xc4, 0xfe, 0xa6,
0xf0, 0xf8, 0x7f, 0x03, 0x00, 0x00, 0xff, 0xff, 0x3f, 0x74, 0xd9, 0x82, 0xb2, 0x30, 0x00, 0x00,
}