Указание типов платежей,Определение типов платежей

варианты оплаты

Настроив шаблон URL-адреса, вы можете добавлять платежи в свои слоты, выполнив следующие шаги.

  1. Определите платные слоты
  2. Установить цены на слоты
    • Установить предоплату
    • Установите плату за неявку или отмену бронирования
    • Установить депозиты
    • Установить обязательную кредитную карту

1. Определите платные слоты

Вы можете определить свои цены с помощью фида услуг или фида доступности . Определяя цену на уровне сервиса, вы устанавливаете фиксированную цену для всех слотов доступности в рамках этого сервиса или столовой. Тогда как, определяя цену при наличии, вы устанавливаете цену на конкретный слот. Например, следующие ситуации можно решить, установив цены или сборы на уровне доступности:

  • Цены снижаются по вторникам и повышаются по субботам.
  • Плата за показ не взимается при наличии мест с 17:00 до 19:00.
  • Требуйте залога для партий, превышающих 6 человек.
  • Для бронирования определенного номера требуется кредитная карта.

2. Установите цены на слоты

Предоплата

Эта конфигурация используется для указания того, что сумма за услугу должна быть оплачена полностью во время бронирования. Предоплата указывается на уровне доступности через поле payment в фиде Avaibility .

Образец предоплаты

{
  "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 , как показано в следующем примере:

Образец платы за неявку/аннулирование

Описание:
В этом примере партнер или продавец имеет право взимать фиксированную плату в размере 25 долларов США, как указано в поле `no_show_fee.fee.price_micros`, если владелец встречи не присутствует на встрече. Эта плата также может взиматься, если пользователь отменяет встречу в течение 4 часов (14 400 секунд) до встречи, как указано в поле `scheduling_rules.min_advance_online_canceling`.
{
  "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 часа (86400 секунд). Это гарантирует, что продавец будет напрямую проинформирован о любых поздних аннулированиях. Тем не менее, пользователь по-прежнему может иметь право на возврат своего депозита не позднее, чем за 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;
}