Offer

LINT.IfChange(offer_definition) [START offer_definition] Next tag: 26

Zapis 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
}
Pola
offerId

string

Unikalny identyfikator oferty. Wymagane.

entityIds[]

string

Lista sprzedawców, którzy biorą udział w tej ofercie.

addOnOfferApplicableToAllEntities

boolean

Jeśli wartość to prawda, oferta dotyczy wszystkich podmiotów należących do agregatora. Dotyczy tylko ofert dodatkowych.

offerSource

enum (OfferSource)

Oferta może być dostarczana przez pośrednika, pojedynczego sprzedawcę lub nawet osobę trzecią jako dodatek. Wymagane.

actionType

enum (ActionType)

Usługa, która udostępnia ofertę. Identyfikator oferty może należeć tylko do jednego typu działania. Jeśli oferta może być udostępniana w ramach wielu typów usług, dla każdego z nich należy utworzyć zduplikowane oferty z unikalnymi identyfikatorami. Wymagane.

offerModes[]

enum (OfferMode)

Metody skorzystania z oferty – wizyta bez rezerwacji, rezerwacja, online itp. Wymagane.

offerCategory

enum (OfferCategory)

Kategoria oferty. Wymagane.

sourceAssignedPriority

integer

Nieujemna liczba całkowita ([1–100], gdzie 1 oznacza najwyższy priorytet) wskazująca poziom priorytetu oferty przypisany przez źródło. Gdy dla tego samego sprzedawcy dostępnych jest wiele ofert, będzie to sygnał do określania rankingu ofert. Wartość 0 oznacza, że priorytet nie jest ustawiony.

offerDetails

object (OfferDetails)

Szczegóły oferty, takie jak rabat, koszt rezerwacji itp. Wymagane.

offerRestrictions

object (OfferRestrictions)

Opisuje ograniczenia oferty, np. czy wymagana jest subskrypcja lub instrument płatniczy, czy ofertę można łączyć z innymi ofertami (i jakimi), itp. Wymagany.

coupon

object (Coupon)

Szczegóły kuponu. Wymagany w przypadku offerCategory: OFFER_CATEGORY_ADD_ON_COUPON_OFFER.

paymentInstrument

object (PaymentInstrument)

Szczegóły instrumentu płatniczego. Wymagany w przypadku offerCategory: OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER.

subscription

object (Subscription)

Szczegóły subskrypcji. Wymagany w przypadku kategorii oferty: OFFER_CATEGORY_ADD_ON_SUBSCRIPTION_OFFER.

terms

object (Terms)

Warunki oferty. Wymagane.

validityPeriods[]

object (ValidityPeriod)

Okres ważności oferty. Opisuje okres, w którym oferta jest ważna, w tym godziny rozpoczęcia i zakończenia, dni tygodnia itp. Wymagany.

offerUrl

string

Adres URL strony oferty sprzedawcy. Wymagany w przypadku atrybutu offerCategory: OFFER_CATEGORY_BASE_OFFER.

imageUrl

string

Adres URL obrazu oferty sprzedawcy.

tags[]

enum (OfferTag)

Tagi specjalne powiązane z ofertą. Służy do identyfikowania ofert specjalnych, takich jak „Świąteczna”, „Najwyżej oceniana”, „Najczęściej rezerwowana” itp.

brandId

string

Wymagany w przypadku ofert dotyczących kart podarunkowych, aby zidentyfikować markę oferującą daną ofertę.

OfferDetails

[START offer_details_definition] Następny tag: 15

Zapis 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.
}
Pola
offerDisplayText

string

Tekst oferty, który dostawca chce wyświetlać klientom na stronie wyników wyszukiwania. Wymagane.

maxDiscountValue

object (Money)

Maksymalna zniżka, z której można skorzystać. Na przykład rabat 10% do 100 PLN.

minSpendValue

object (Money)

Minimalna wartość wydatków, aby skorzystać ze zniżki. Na przykład 10% zniżki, gdy łączna cena wynosi co najmniej 100 PLN.

bookingCost

object (Money)

Koszt rezerwacji tej oferty. Na przykład 100 zł zniżki na rachunek końcowy, gdy stolik zostanie zarezerwowany za 15 zł.

bookingCostUnit

enum (FeeUnit)

Jednostka kosztu rezerwacji. np. na osobę lub na transakcję.

convenienceFee

object (Fee)

bookingCostAdjustable

boolean

Czy koszt rezerwacji można odliczyć, tzn. czy koszt rezerwacji jest odejmowany od rachunku końcowego. Na przykład: 30% taniej na kolację po dokonaniu rezerwacji. Koszt rezerwacji wynosi 15 USD i zostanie odliczony od ostatecznej płatności. Ostateczny rachunek: wydana kwota – 30% – 15 PLN

additionalFees[]

object (AdditionalFee)

Dodatkowe opłaty pobierane od użytkownika. Przykłady: opłata za wygodę, opłata manipulacyjna, opłata za dostawę, opłata za opakowanie, opłata za obsługę itp.

giftCardInfo

object (GiftCardInfo)

Szczegóły dotyczące ofert kart podarunkowych.

Pole zbiorcze offer_specification. Rabat może być wyrażony w procentach lub jako stała wartość odjęta od łącznej wartości. Na przykład: 1. 10% zniżki na rachunek końcowy. 2. 15 USD zniżki na zamówienie. Sprzedawcy mogą też oferować rabaty niestandardowe, np. „kup jeden produkt, a drugi otrzymasz bezpłatnie”, za pomocą odpowiednich pól specyfikacji. Wymagane. offer_specification może mieć tylko jedną z tych wartości:
discountPercent

number

Procent rachunku, który jest objęty rabatem. [0, 100] W przypadku ofert typu 1+1 lub 50% zniżki na cały posiłek (np. 1+1 na bufet, 1+1 na cały rachunek, 1+1 na zestaw) tę wartość można ustawić na 50.

discountValue

object (Money)

Stała wartość rabatu.

otherOfferDetailText

string

Dowolny tekst opisujący rabat. W przypadku konkretnych ofert 1+1 (np. 1+1 napoje, +1 danie główne, 1+1 wybrane pozycje w menu) należy podać tutaj szczegóły.

OfferRestrictions

[START offer_restrictions_definition] Następny tag: 11

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

boolean

Czy tę ofertę można łączyć z innymi ofertami. Jeśli ta wartość jest prawdziwa, partnerzy mogą określić, z jakimi ofertami można łączyć tę ofertę. Jeśli ustawione są zarówno combinableOfferCategories, jak i combinableOfferIds, można łączyć każdą ofertę spełniającą jeden z powyższych warunków.

combinableOfferCategories[]

enum (OfferCategory)

Lista typów ofert, z którymi można połączyć tę ofertę. Na przykład tę ofertę można łączyć z innymi kuponami. Jeśli wartość combinableWithOtherOffers to „true”, a to pole nie jest skonfigurowane, wszystkie typy będą mogły być łączone.

combinableOfferIds[]

string

Lista identyfikatorów ofert, z którymi można połączyć tę ofertę. Niektóre oferty można łączyć tylko z określonymi identyfikatorami innych ofert (można je uznać za oferty nadrzędne). Jeśli wartość combinableWithOtherOffers to „true”, a to pole nie jest ustawione, wszystkie identyfikatory ofert można łączyć.

inclusions[]

object (OfferCondition)

Lista warunków, które muszą być spełnione, aby oferta była ważna (np. napoje bezalkoholowe, jedzenie).

exclusions[]

object (OfferCondition)

Lista warunków, które unieważniają ofertę (np. bufet, oferty łączone i koktajle).

minGuest

integer

Minimalna liczba osób wymagana do skorzystania z oferty.

foodOfferRestrictions

object (FoodOfferRestrictions)

Ograniczenia dotyczące ofert żywności.

specialConditions[]

string

Specjalne warunki tej oferty, które muszą być wyświetlane użytkownikowi. Przykłady: „Tylko w przypadku płatności w [obszar]”, „Nie obejmuje płatności online”.

OfferCondition

[START offer_condition_definition]

Zapis JSON
{
  "description": string
}
Pola
description

string

PaymentInstrument

[START payment_instrument_definition]

Zapis JSON
{
  "items": [
    {
      object (PaymentInstrumentItem)
    }
  ],
  "providerName": string
}
Pola
items[]

object (PaymentInstrumentItem)

Lista instrumentów płatniczych, których można użyć, aby skorzystać z oferty. Wymagane.

providerName

string

Nazwa dostawcy instrumentu płatniczego. Może to być partner bankowy, nazwa banku itp. Na przykład: American Express, HDFC, ICICI.

PaymentInstrumentItem

[START payment_instrument_item_definition]

Zapis JSON
{
  "type": enum (PaymentInstrumentType),
  "name": string
}
Pola
type

enum (PaymentInstrumentType)

Rodzaj instrumentu płatniczego. Wymagane.

name

string

Nazwa elementu instrumentu płatniczego, np. nazwa karty kredytowej. Na przykład: HDFC Infinia, American Express Platinum. Wymagane.

Subskrypcja

[START subscription_definition]

Zapis JSON
{
  "name": string,
  "subscriptionAutoAdded": boolean,
  "cost": {
    object (Money)
  },
  "subscriptionDuration": string,
  "termsAndConditionsUrl": string
}
Pola
name

string

Nazwa subskrypcji. Wymagane.

subscriptionAutoAdded

boolean

Czy subskrypcja jest dodawana automatycznie, gdy użytkownik skorzysta z tej oferty.

cost

object (Money)

Koszt subskrypcji. Wymagane.

subscriptionDuration

string (Duration format)

Jak długo subskrypcja jest ważna w przypadku kosztu abonamentu. Wymagane.

Czas trwania w sekundach z maksymalnie 9 miejscami po przecinku, zakończony znakiem „s”. Przykład: "3.5s".

termsAndConditionsUrl

string

Adres URL warunków partnera dotyczących tej subskrypcji.

Warunki

[START terms_definition]

Zapis JSON
{
  "url": string,
  "restrictedToCertainUsers": boolean,
  "termsAndConditions": string,
  "additionalTermsAndConditions": [
    string
  ]
}
Pola
url

string

Adres URL warunków partnera.

restrictedToCertainUsers

boolean

Czy oferta jest ograniczona do określonych użytkowników.

termsAndConditions

string

Główny tekst warunków dostarczony przez partnera.

additionalTermsAndConditions[]

string

Warunki dodatkowe do głównych warunków partnera.