Offer

LINT.IfChange(offer_definition) [START offer_definition] 다음 태그: 26

JSON 표현
{
  "offerId": string,
  "entityIds": [
    string
  ],
  "addOnOfferApplicableToAllEntities": boolean,
  "offerSource": enum (OfferSource),
  "actionType": enum (ActionType),
  "offerModes": [
    enum (OfferMode)
  ],
  "offerCategory": enum (OfferCategory),
  "sourceAssignedPriority": integer,
  "offerDetails": {
    object (OfferDetails)
  },
  "offerRestrictions": {
    object (OfferRestrictions)
  },
  "coupon": {
    object (Coupon)
  },
  "paymentInstrument": {
    object (PaymentInstrument)
  },
  "subscription": {
    object (Subscription)
  },
  "terms": {
    object (Terms)
  },
  "validityPeriods": [
    {
      object (ValidityPeriod)
    }
  ],
  "offerUrl": string,
  "imageUrl": string,
  "tags": [
    enum (OfferTag)
  ],
  "brandId": string
}
필드
offerId

string

혜택의 고유 ID입니다. 필수 항목입니다.

entityIds[]

string

이 혜택에 참여하는 판매자 목록입니다.

addOnOfferApplicableToAllEntities

boolean

true인 경우 이 혜택은 애그리게이터의 모든 항목에 적용됩니다. 부가기능 혜택에만 적용됩니다.

offerSource

enum (OfferSource)

혜택은 애그리게이터, 개별 판매자 또는 서드 파티가 부가기능으로 제공할 수 있습니다. 필수 항목입니다.

actionType

enum (ActionType)

혜택을 제공하는 서비스입니다. offerId는 하나의 actionType에만 속할 수 있습니다. 혜택을 여러 서비스 유형에서 공유할 수 있는 경우 각 서비스 유형에 대해 고유한 ID가 있는 중복 혜택이 생성되어야 합니다. 필수 항목입니다.

offerModes[]

enum (OfferMode)

혜택을 이용할 수 있는 방법(예: 방문, 예약, 온라인)입니다. 필수입니다.

offerCategory

enum (OfferCategory)

혜택의 카테고리입니다. 필수 항목입니다.

sourceAssignedPriority

integer

소스에서 할당한 혜택의 우선순위 수준을 나타내는 음수가 아닌 정수 ([1~100], 1이 가장 높은 우선순위)입니다. 동일한 판매자에 대해 여러 혜택이 제공되는 경우 이는 혜택 순위 지정의 신호가 됩니다. 0은 우선순위가 설정되지 않았음을 나타냅니다.

offerDetails

object (OfferDetails)

할인, 예약 비용 등 혜택의 세부정보입니다. 필수입니다.

offerRestrictions

object (OfferRestrictions)

혜택이 제한되는 방식을 설명합니다(예: 정기 결제/결제 수단이 필요한지, 이 혜택을 다른 혜택과 결합할 수 있는지(및 어떤 유형인지) 등). 필수입니다.

coupon

object (Coupon)

쿠폰의 세부정보입니다. offerCategory가 OFFER_CATEGORY_ADD_ON_COUPON_OFFER인 경우 필수입니다.

paymentInstrument

object (PaymentInstrument)

결제 수단의 세부정보입니다. offerCategory가 OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER인 경우 필수입니다.

subscription

object (Subscription)

정기 결제의 세부정보입니다. offerCategory가 OFFER_CATEGORY_ADD_ON_SUBSCRIPTION_OFFER인 경우 필수입니다.

terms

object (Terms)

혜택 이용약관입니다. 필수 항목입니다.

validityPeriods[]

object (ValidityPeriod)

혜택의 유효 기간입니다. 시작 시간, 종료 시간, 요일 등 혜택이 유효한 기간을 설명합니다. 필수입니다.

offerUrl

string

판매자의 혜택 페이지 URL입니다. offerCategory가 OFFER_CATEGORY_BASE_OFFER인 경우 필수입니다.

imageUrl

string

판매자의 혜택 이미지 URL입니다.

tags[]

enum (OfferTag)

혜택과 연결된 특수 태그입니다. '연말연시', '인기', '가장 많이 예약됨'과 같은 특별 혜택을 식별하는 데 사용됩니다.

brandId

string

기프트 카드 거래에서 거래를 제공하는 브랜드를 식별하는 데 필요합니다.

OfferDetails

[START offer_details_definition] 다음 태그: 15

JSON 표현
{
  "offerDisplayText": string,
  "maxDiscountValue": {
    object (Money)
  },
  "minSpendValue": {
    object (Money)
  },
  "bookingCost": {
    object (Money)
  },
  "bookingCostUnit": enum (FeeUnit),
  "convenienceFee": {
    object (Fee)
  },
  "bookingCostAdjustable": boolean,
  "additionalFees": [
    {
      object (AdditionalFee)
    }
  ],
  "giftCardInfo": {
    object (GiftCardInfo)
  },

  // Union field offer_specification can be only one of the following:
  "discountPercent": number,
  "discountValue": {
    object (Money)
  },
  "otherOfferDetailText": string
  // End of list of possible types for union field offer_specification.
}
필드
offerDisplayText

string

상품 제공업체가 검색 결과 페이지에 고객에게 표시하고자 하는 상품 텍스트입니다. 필수 항목입니다.

maxDiscountValue

object (Money)

이용할 수 있는 최대 할인입니다. 예를 들어 최대 100달러까지 10% 할인됩니다.

minSpendValue

object (Money)

할인을 받기 위한 최소 지출 금액입니다. 예를 들어 총 가격이 100달러 이상인 경우 10% 할인됩니다.

bookingCost

object (Money)

이 혜택을 예약하는 데 드는 비용입니다. 예를 들어 테이블을 $15에 예약하면 최종 청구액에서 $100 할인됩니다.

bookingCostUnit

enum (FeeUnit)

예약 비용의 단위입니다. 예를 들어 사용자별, 거래별로 설정할 수 있습니다.

convenienceFee

object (Fee)

bookingCostAdjustable

boolean

예약 비용이 조정 가능한지 여부입니다. 즉, 예약 비용이 최종 청구서에서 차감됩니다. 예: 예약 시 저녁 식사 30% 할인 예약 비용은 $15이며 최종 청구서에 적용됩니다. 따라서 최종 청구액은 총 지출액 - 30% - $15입니다.

additionalFees[]

object (AdditionalFee)

사용자에게 청구되는 추가 수수료입니다. 예: 편의, 취급, 배송, 포장, 서비스 수수료 등

giftCardInfo

object (GiftCardInfo)

기프트 카드 할인에 대한 세부정보입니다.

통합 필드 offer_specification. 할인은 총 금액에서 차감되는 비율 또는 고정 금액일 수 있습니다. 예: 1. 최종 청구서 10% 할인 2. 주문 시 15달러 할인 판매자는 관련 사양 필드를 통해 '하나 구매 시 하나 무료'와 같은 맞춤 할인을 제공할 수도 있습니다. 필수 항목입니다. offer_specification은 다음 중 하나여야 합니다.
discountPercent

number

할인된 청구서의 비율입니다. [0, 100] 전체 식사에 적용되는 1+1 또는 50% 할인 혜택 (예: 1+1 뷔페, 전체 청구서 1+1, 세트 메뉴 1+1)의 경우 이 값을 50으로 설정할 수 있습니다.

discountValue

object (Money)

할인의 고정 값입니다.

otherOfferDetailText

string

할인을 설명하는 자유 형식 텍스트입니다. 특정 1+1 혜택 (예: 1+1 음료, +1 메인 요리, 1+1 선택 메뉴 항목)의 경우 세부정보를 여기에 설명해야 합니다.

OfferRestrictions

[START offer_restrictions_definition] 다음 태그: 11

JSON 표현
{
  "combinableWithOtherOffers": boolean,
  "combinableOfferCategories": [
    enum (OfferCategory)
  ],
  "combinableOfferIds": [
    string
  ],
  "inclusions": [
    {
      object (OfferCondition)
    }
  ],
  "exclusions": [
    {
      object (OfferCondition)
    }
  ],
  "minGuest": integer,
  "foodOfferRestrictions": {
    object (FoodOfferRestrictions)
  },
  "specialConditions": [
    string
  ]
}
필드
combinableWithOtherOffers

boolean

이 혜택을 다른 혜택과 함께 사용할 수 있는지 여부입니다. true인 경우 파트너는 이 혜택과 결합할 수 있는 혜택을 지정할 수 있습니다. combinableOfferCategories와 combinableOfferIds가 모두 설정된 경우 위의 조건 중 하나와 일치하는 혜택은 조합 가능합니다.

combinableOfferCategories[]

enum (OfferCategory)

이 혜택과 결합할 수 있는 혜택 유형 목록입니다. 예를 들어 이 혜택은 다른 쿠폰과 함께 사용할 수 있습니다. combinableWithOtherOffers가 true이고 이 필드가 설정되지 않은 경우 모든 유형을 결합할 수 있습니다.

combinableOfferIds[]

string

이 혜택과 함께 사용할 수 있는 offer_id 목록입니다. 일부 혜택은 특정 다른 offer_id (상위 혜택으로 간주될 수 있음)와만 결합할 수 있습니다. combinableWithOtherOffers가 true이고 이 필드가 설정되지 않은 경우 모든 혜택 ID를 결합할 수 있습니다.

inclusions[]

object (OfferCondition)

혜택이 유효하려면 충족해야 하는 조건 목록 (예: 무알코올 음료, 음식)

exclusions[]

object (OfferCondition)

혜택을 무효화하는 조건 목록 (예: 뷔페, 콤보 혜택, 칵테일)

minGuest

integer

혜택을 이용하는 데 필요한 최소 인원수입니다.

foodOfferRestrictions

object (FoodOfferRestrictions)

음식 혜택에 적용되는 제한사항입니다.

specialConditions[]

string

사용자에게 표시해야 하는 이 혜택의 특별 조건입니다. 예: '[지역]에서만 결제 가능', '온라인 결제 제외'

OfferCondition

[START offer_condition_definition]

JSON 표현
{
  "description": string
}
필드
description

string

PaymentInstrument

[START payment_instrument_definition]

JSON 표현
{
  "items": [
    {
      object (PaymentInstrumentItem)
    }
  ],
  "providerName": string
}
필드
items[]

object (PaymentInstrumentItem)

혜택을 이용하는 데 사용할 수 있는 결제 수단 목록입니다. 필수 항목입니다.

providerName

string

결제 수단 제공업체의 이름입니다. 은행 파트너, 은행 이름 등이 될 수 있습니다. 예를 들면 American Express, HDFC, ICICI가 있습니다.

PaymentInstrumentItem

[START payment_instrument_item_definition]

JSON 표현
{
  "type": enum (PaymentInstrumentType),
  "name": string
}
필드
type

enum (PaymentInstrumentType)

결제 수단의 유형입니다. 필수 항목입니다.

name

string

신용카드 이름과 같은 결제 수단 항목의 이름입니다. 예: HDFC Infinia, American Express Platinum 필수 항목입니다.

구독

[START subscription_definition]

JSON 표현
{
  "name": string,
  "subscriptionAutoAdded": boolean,
  "cost": {
    object (Money)
  },
  "subscriptionDuration": string,
  "termsAndConditionsUrl": string
}
필드
name

string

구독 이름입니다. 필수 항목입니다.

subscriptionAutoAdded

boolean

사용자가 이 혜택을 이용할 때 정기 결제가 자동으로 추가되는지 여부입니다.

cost

object (Money)

구독 비용입니다. 필수 항목입니다.

subscriptionDuration

string (Duration format)

구독이 subscription_cost로 유효한 기간입니다. 필수 항목입니다.

소수점 아래가 최대 9자리까지이고 's'로 끝나는 초 단위 기간입니다. 예를 들면 "3.5s"입니다.

termsAndConditionsUrl

string

이 정기 결제와 관련된 파트너의 이용약관 URL입니다.

약관

[START terms_definition]

JSON 표현
{
  "url": string,
  "restrictedToCertainUsers": boolean,
  "termsAndConditions": string,
  "additionalTermsAndConditions": [
    string
  ]
}
필드
url

string

파트너의 이용약관 URL입니다.

restrictedToCertainUsers

boolean

혜택이 특정 사용자에게만 제공되는지 여부입니다.

termsAndConditions

string

파트너가 제공한 기본 T&C 텍스트입니다.

additionalTermsAndConditions[]

string

파트너의 기본 이용약관 외에 적용되는 이용약관