
URL 템플릿을 설정한 후 다음 단계를 완료하여 시간대에 결제를 추가할 수 있습니다.
- 유료 시간대 식별
- 시간대 가격 설정
- 선불 설정
- 예약 불이행 또는 취소 수수료 설정
- 보증금 설정
- 신용카드 필요 설정
1. 유료 시간대 식별
서비스 피드 또는 이용 가능 여부 피드를 사용하여 가격을 정의할 수 있습니다. 서비스 수준에서 가격을 정의하면 해당 서비스 또는 식당 내의 모든 이용 가능 시간대가 고정 가격으로 설정됩니다. 반면 이용 가능 여부에서 가격을 정의하면 특정 시간대의 가격이 설정됩니다. 예를 들어 다음과 같은 상황은 이용 가능 여부 수준에서 가격 또는 수수료를 설정하여 처리할 수 있습니다.
- 화요일에는 가격이 인하되고 토요일에는 가격이 인상됩니다.
- 오후 5시부터 7시까지의 이용 가능 여부에 예약 불이행 수수료가 적용됩니다.
- 6명 초과 파티에는 보증금이 필요합니다.
- 특정 객실의 예약에는 신용카드가 필요합니다.
2. 시간대 가격 설정
선불
이 구성은 예약 시 서비스 금액을 전액 지불해야 함을 지정하는 데 사용됩니다. 선불은 Avaibility 피드의 payment 필드를 통해 이용 가능 여부 수준에서 지정됩니다.
선불 샘플
{ "availability": [{ "merchant_id": "dining-A", "service_id": "reservation", "start_sec": 1535853600, "duration_sec": 2700, "spots_total": 2, "spots_open": 2, "resources": { "room_id": "A-dining-room", "room_name": "Wine Tasting Room", "party_size": 2, "prepayment": { "price_info": { "price": { "price_micros": 200000000, "currency_code": "USD" }, "price_type": "PER_PERSON" } } } }] }
이용 가능 여부 피드
message Availability {
...
// Optional prepayment information for this availability. Prepayment is only
// available through the Payment Redirect Add-on
Prepayment prepayment = 20;
}선불 정의
// A payment the user may be charged as part of their reservation. message Prepayment { PriceInfo price_info = 1; }
예약 불이행 또는 취소 수수료
예약 불이행 또는 취소 수수료는 사용자가 예약에 참석하지 않거나 취소 기간이 지난 후 취소하는 경우 사용자에게 청구할 수 있습니다. 취소 기간이 지정되지 않은 경우 시간대의 시작 시간이 기본값으로 설정됩니다.
예약 불이행 수수료를 지정하려면 서비스 피드에 다음 예와 같이 no_show_fee 필드를 포함해야 합니다.
예약 불이행 / 취소 수수료 샘플
설명:
이 예에서 파트너 또는 판매자는 예약자가 예약에 참석하지 않는 경우 `no_show_fee.fee.price_micros` 필드에 지정된 대로 고정 요금 인 $25를 청구할 수 있습니다. 이 수수료는 `scheduling_rules.min_advance_online_canceling` 필드에 지정된 대로 예약 4시간 (14,400초) 이내에 사용자가 취소하는 경우에도 청구될 수 있습니다.{ "merchant_id": "merchant-1", "service_id": "service-2-b", "name": "Reservation", "description": "A dining reservation", "price": { "price_micros": 200000000, "currency_code": "USD" }, "scheduling_rules": { "min_advance_online_canceling": 14400 }, "no_show_fee": { "fee": { "price_micros": 25000000, "currency_code": "USD" }, "fee_type": "FIXED_RATE_DEFAULT" } }
서비스 피드
message Service {
...
// Defines a no show fee that may be charged to the user. Can be overridden
// at the availability level. (optional)
NoShowFee no_show_fee = 12;
}이용 가능 여부 피드
message Availability {
...
// Defines a no show fee that may be charged to the user. Overrides the
// service no show fee if one was specified. Setting this to an empty
// NoShowFee message removes any service-level no show fee. (optional)
NoShowFee no_show_fee = 13;
}예약 불이행 수수료 정의
// A fee that a user may be charged if they have made a booking but do not // show up. message NoShowFee { // The amount the user may be charged if they do not show up for their // reservation. Price fee = 1; // Defines how the fee is determined from the availability. PriceType fee_type = 3; }
보증금
보증금은 예약을 위한 요구사항으로 초기 요금을 징수하는 데 사용됩니다. 보증금은 예약 시 또는 나중에 청구할 수 있습니다. 보증금이 환불되는 조건과 온라인으로 예약을 취소할 수 있는 시점을 정의해야 합니다.
보증금을 지정하려면 서비스 피드에 다음 예와 같이 deposit 필드를 포함해야 합니다.
보증금 샘플
설명:
`min_advance_online_canceling` `deposit.min_advance_cancellation_sec`은 보증금이 환불되는 시점을 정의합니다. 이 예에서 보증금은 환불 조건과 별도로 취소 시간을 지정할 수 있습니다. 이 경우 사용자는 최대 24시간 (86, 400초) 전에 온라인으로 서비스를 취소할 수 있습니다. 이렇게 하면 판매자에게 늦은 취소에 관해 직접 알릴 수 있습니다. 하지만 사용자는 예약 4시간(14,400초) 전까지 보증금을 환불받을 수 있습니다 (취소를 위해 개발자 또는 판매자에게 문의). 이는 결제 시 약관 및 확인 이메일에 표시됩니다.{ "merchant_id": "merchant-1", "service_id": "service-2-b", "name": "Reservation", "description": "A dining reservation", "price": { "price_micros": 200000000, "currency_code": "USD" }, "scheduling_rules": { "min_advance_online_canceling": 86400, }, "deposit": { "deposit": { "price_micros": 25000000, "currency_code": "USD" }, "min_advance_cancellation_sec": 14400, "deposit_type": "FIXED_RATE_DEFAULT" } }
서비스 피드
message Service {
...
// Defines how a deposit may be charged to the user. Can be overridden at the
// availability level. (optional)
Deposit deposit = 11;
}이용 가능 여부 피드
message Availability {
...
// Defines how a deposit may be charged to the user. Overrides the service
// deposit if one was specified. Setting this to an empty Deposit message
// removes any service-level deposit. (optional)
Deposit deposit = 12;
}보증금 정의
// A deposit that the user may be charged or have a hold on their credit card // for. message Deposit { // Deposit amount. Price deposit = 1; // Minimum advance cancellation for the deposit. int64 min_advance_cancellation_sec = 2; // Defines how the deposit is determined from the availability. PriceType deposit_type = 3; }
신용카드 필요
서비스는 신원 확인을 위한 추가 방법으로 신용카드를 요구할 수 있습니다. 하지만 선불, 보증금 또는 예약 불이행 수수료에는 사용해서는 안 됩니다. 이러한 사용 사례가 필요한 경우 명시적으로 구성해야 합니다. 신용카드를 요구하면 이 서비스의 예약이 크게 감소하는 경우가 많습니다.
결제 시 신용카드를 제공하도록 요구하려면 require_credit_card 필드를 REQUIRE_CREDIT_CARD_ALWAYS로 설정해야 합니다.
신용카드 필요 샘플
{
"merchant_id": "merchant-1",
"service_id": "reservation",
"name": "reservation",
"description": "Food reservation",
"require_credit_card": "REQUIRE_CREDIT_CARD_ALWAYS"
}서비스 피드
message Service {
...
// Indicates whether the user must provide a credit card in order to book this
// service.
// This value can be overridden at the availability level. (optional)
RequireCreditCard require_credit_card = 13;
}이용 가능 여부 피드
message Availability {
...
// Indicates whether the user must provide a credit card in order to book this
// availability slot.
// If the value is not set, it is inherited from the service level if it's set
// there. (optional)
RequireCreditCard require_credit_card = 14;
}신용카드 필요 정의
// Defines whether a credit card is required in order to book an appointment. enum RequireCreditCard { // The credit card requirement is not explicitly specified and the // behaviour is identical to the one specified for CONDITIONAL. REQUIRE_CREDIT_CARD_UNSPECIFIED = 0; // Google will require a credit card for the booking if any of the following // conditions are met: // * the availability has a price and the prepayment_type is REQUIRED // * the no_show_fee is set // * the deposit field is set. REQUIRE_CREDIT_CARD_CONDITIONAL = 1; // A credit card is always required in order to book this availability // regardless of other field values. REQUIRE_CREDIT_CARD_ALWAYS = 2; }
추가 정의
가격 범위 정의
// Wrapper for a range of monetary amount treated as unbounded unless both // values are set. At least one of min_amount and max_amount is required. message PriceRange { // Minimum amount. Price min_price = 1; // Maximum amount. Should always be > min_price. Price max_price = 2; }
가격 정보 정의
// Container for price details. message PriceInfo { oneof price_options { Price price = 1; // The upper and/or lower bound PriceRange price_range = 2 ; } // Defines how price or price range is applied (per person or fixed) PriceType price_type = 3; }
가격 유형 정의
// Defines how a total price is determined from an availability. enum PriceType { // The price is for a fixed amount. This is the default value if the field is // not set. // // Examples: // $50 deposit to reserve a table; $20 no show fee for a yoga class FIXED_RATE_DEFAULT = 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. // // Examples: // $10 each for tickets to a museum PER_PERSON = 1; }