Offer

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

JSON-Darstellung
{
  "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
}
Felder
offerId

string

Eindeutige ID des Angebots. Erforderlich.

entityIds[]

string

Liste der Händler, die an diesem Angebot teilnehmen.

addOnOfferApplicableToAllEntities

boolean

Wenn „true“, gilt dieses Angebot für alle Rechtssubjekte unter dem Aggregator. Gilt nur für Add-on-Angebote.

offerSource

enum (OfferSource)

Ein Angebot kann vom Aggregator, einem einzelnen Händler oder sogar von einem Drittanbieter als Add-on bereitgestellt werden. Erforderlich.

actionType

enum (ActionType)

Der Dienst, der das Angebot bereitstellt. Eine offerId kann nur zu einem actionType gehören. Wenn ein Angebot für mehrere Diensttypen freigegeben werden kann, müssen für jeden Diensttyp doppelte Angebote mit eindeutigen IDs erstellt werden. Erforderlich.

offerModes[]

enum (OfferMode)

Die Methoden, mit denen das Angebot genutzt werden kann – z. B. ohne Reservierung, mit Reservierung, online usw. Erforderlich.

offerCategory

enum (OfferCategory)

Die Kategorie des Angebots. Erforderlich.

sourceAssignedPriority

integer

Nicht negative Ganzzahl ([1–100], wobei 1 die höchste Priorität darstellt), die das von der Quelle zugewiesene Prioritätsniveau des Angebots angibt. Wenn mehrere Angebote für denselben Händler verfügbar sind, ist dies ein Signal für das Ranking von Angeboten. Der Wert 0 gibt an, dass die Priorität nicht festgelegt ist.

offerDetails

object (OfferDetails)

Details zum Angebot, z. B. Rabatt, Buchungskosten usw. Erforderlich.

offerRestrictions

object (OfferRestrictions)

Beschreibt, wie das Angebot eingeschränkt ist, z.B. ob ein Abo oder Zahlungsmittel erforderlich ist, ob dieses Angebot mit anderen Angeboten kombiniert werden kann (und mit welchen Typen) usw. Erforderlich.

coupon

object (Coupon)

Details zu einem Gutschein. Erforderlich für offerCategory: OFFER_CATEGORY_ADD_ON_COUPON_OFFER.

paymentInstrument

object (PaymentInstrument)

Details zu einem Zahlungsmittel. Erforderlich für offerCategory: OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER.

subscription

object (Subscription)

Details eines Abos. Erforderlich für offerCategory: OFFER_CATEGORY_ADD_ON_SUBSCRIPTION_OFFER.

terms

object (Terms)

Nutzungsbedingungen des Angebots. Erforderlich.

validityPeriods[]

object (ValidityPeriod)

Der Gültigkeitszeitraum des Angebots. Beschreibt den Zeitraum, für den das Angebot gilt, einschließlich Start- und Endzeit, Wochentage usw. Erforderlich.

offerUrl

string

URL zur Angebotsseite des Händlers. Erforderlich für offerCategory: OFFER_CATEGORY_BASE_OFFER.

imageUrl

string

URL zum Angebotsbild des Händlers.

tags[]

enum (OfferTag)

Spezielle Tags, die mit dem Angebot verknüpft sind. Damit werden Sonderangebote wie „Festlich“, „Bestseller“ oder „Am häufigsten gebucht“ identifiziert.

brandId

string

Erforderlich für Geschenkkartenangebote, um die Marke zu identifizieren, die das Angebot anbietet.

OfferDetails

[START offer_details_definition] Nächstes Tag: 15

JSON-Darstellung
{
  "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.
}
Felder
offerDisplayText

string

Der Angebotstext, den der Angebotsanbieter Kunden auf der Suchergebnisseite präsentieren möchte. Erforderlich.

maxDiscountValue

object (Money)

Der maximale Rabatt, der in Anspruch genommen werden kann. Beispiel: 10% Rabatt auf bis zu 100 $.

minSpendValue

object (Money)

Der Mindestbetrag, der ausgegeben werden muss, um den Rabatt zu erhalten. Beispiel: 10% Rabatt ab einem Gesamtpreis von 100 $.

bookingCost

object (Money)

Die Kosten für die Buchung dieses Angebots. Beispiel: 100 $ Rabatt auf die Endabrechnung, wenn ein Tisch für 15 $reserviert wird.

bookingCostUnit

enum (FeeUnit)

Die Einheit der Buchungskosten. Zum Beispiel pro Person und pro Transaktion.

convenienceFee

object (Fee)

bookingCostAdjustable

boolean

Gibt an, ob die Buchungskosten anpassbar sind, d.h., ob sie von der Endabrechnung abgezogen werden. Beispiel: 30% Rabatt auf das Abendessen mit Reservierung. Die Reservierung kostet 15 $, die auf die endgültige Rechnung angerechnet werden. Die endgültige Rechnung sieht also so aus: Gesamtausgaben – 30 % – 15 $

additionalFees[]

object (AdditionalFee)

Zusätzliche Gebühren, die dem Nutzer in Rechnung gestellt werden. Beispiele: Gebühren für Komfort, Bearbeitung, Lieferung, Verpackung, Service usw.

giftCardInfo

object (GiftCardInfo)

Details speziell für Geschenkkartenangebote.

Union-Feld offer_specification. Der Rabatt kann ein Prozentsatz oder ein fester Wert sein, der vom Gesamtwert abgezogen wird. Beispiel: 1. 10% Rabatt auf die Endabrechnung. 2. 15 $ Rabatt auf eine Bestellung. Händler können auch benutzerdefinierte Rabatte wie „Zwei zum Preis von einem“ über die entsprechenden Spezifikationsfelder anbieten. Erforderlich. Für offer_specification ist nur einer der folgenden Werte zulässig:
discountPercent

number

Prozentsatz der Rechnung, auf den ein Rabatt gewährt wird. [0, 100] Bei 1+1- oder 50 %-Rabattangeboten, die für das gesamte Menü gelten (z.B. 1+1-Buffet, 1+1 auf die gesamte Rechnung, 1+1 auf das Menü), kann dieser Wert auf 50 festgelegt werden.

discountValue

object (Money)

Fester Wert des Rabatts.

otherOfferDetailText

string

Freitext zur Beschreibung des Rabatts. Bei bestimmten 1+1-Angeboten (z.B. 1+1 Getränke, +1 Hauptgericht, 1+1 ausgewählte Menüpunkte) sollten diese Details hier beschrieben werden.

OfferRestrictions

[START offer_restrictions_definition] Nächstes Tag: 11

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

boolean

Ob dieses Angebot mit anderen Angeboten kombiniert werden kann. Wenn „true“, können Partner angeben, mit welchen Angeboten dieses Angebot kombiniert werden kann. Wenn sowohl „combinableOfferCategories“ als auch „combinableOfferIds“ festgelegt sind, ist jedes Angebot, das einer der oben genannten Bedingungen entspricht, kombinierbar.

combinableOfferCategories[]

enum (OfferCategory)

Liste der Angebotstypen, mit denen dieses Angebot kombiniert werden kann. Dieses Angebot kann beispielsweise mit anderen Gutscheinen kombiniert werden. Wenn „combinableWithOtherOffers“ auf „true“ gesetzt ist und dieses Feld nicht festgelegt ist, können alle Typen kombiniert werden.

combinableOfferIds[]

string

Liste der offer_ids, mit denen dieses Angebot kombiniert werden kann. Einige Angebote können nur mit bestimmten anderen offer_ids (übergeordnete Angebote) kombiniert werden. Wenn „combinableWithOtherOffers“ auf „true“ gesetzt ist und dieses Feld nicht festgelegt ist, können alle Angebots-IDs kombiniert werden.

inclusions[]

object (OfferCondition)

Liste der Bedingungen, die erfüllt sein müssen, damit das Angebot gültig ist (z.B. alkoholfreie Getränke, Speisen).

exclusions[]

object (OfferCondition)

Liste der Bedingungen, die das Angebot ungültig machen (z.B. Buffet, Kombiangebote und Cocktails).

minGuest

integer

Die Mindestanzahl an Personen, die erforderlich ist, um das Angebot in Anspruch zu nehmen.

foodOfferRestrictions

object (FoodOfferRestrictions)

Einschränkungen für Essensangebote

specialConditions[]

string

Besondere Bedingungen für dieses Angebot, die dem Nutzer angezeigt werden müssen. Beispiele: „Nur gültig für Zahlungen in [Bereich]“, „Gilt nicht für Onlinezahlungen“

OfferCondition

[START offer_condition_definition]

JSON-Darstellung
{
  "description": string
}
Felder
description

string

PaymentInstrument

[START payment_instrument_definition]

JSON-Darstellung
{
  "items": [
    {
      object (PaymentInstrumentItem)
    }
  ],
  "providerName": string
}
Felder
items[]

object (PaymentInstrumentItem)

Liste der Zahlungsmittel, die für das Angebot verwendet werden können. Erforderlich.

providerName

string

Name des Anbieters des Zahlungsmittels. Das kann ein Bankpartner oder der Name einer Bank sein, z. B. American Express, HDFC oder ICICI.

PaymentInstrumentItem

[START payment_instrument_item_definition]

JSON-Darstellung
{
  "type": enum (PaymentInstrumentType),
  "name": string
}
Felder
type

enum (PaymentInstrumentType)

Typ des Zahlungsmittels. Erforderlich.

name

string

Name des Zahlungsmittels, z. B. der Name der Kreditkarte. Beispiele: HDFC Infinia, American Express Platinum. Erforderlich.

Abo

[START subscription_definition]

JSON-Darstellung
{
  "name": string,
  "subscriptionAutoAdded": boolean,
  "cost": {
    object (Money)
  },
  "subscriptionDuration": string,
  "termsAndConditionsUrl": string
}
Felder
name

string

Der Name des Abos. Erforderlich.

subscriptionAutoAdded

boolean

Gibt an, ob das Abo automatisch hinzugefügt wird, wenn ein Nutzer dieses Angebot in Anspruch nimmt.

cost

object (Money)

Die Kosten des Abos. Erforderlich.

subscriptionDuration

string (Duration format)

Wie lange das Abo zum angegebenen Abopreis gültig ist. Erforderlich.

Die Dauer in Sekunden mit bis zu neun Nachkommastellen und am Ende mit „s“. Beispiel: "3.5s".

termsAndConditionsUrl

string

URL zu den für dieses Abo relevanten Nutzungsbedingungen des Partners.

Nutzungsbedingungen

[START terms_definition]

JSON-Darstellung
{
  "url": string,
  "restrictedToCertainUsers": boolean,
  "termsAndConditions": string,
  "additionalTermsAndConditions": [
    string
  ]
}
Felder
url

string

URL zu den Nutzungsbedingungen des Partners.

restrictedToCertainUsers

boolean

Gibt an, ob das Angebot auf bestimmte Nutzer beschränkt ist.

termsAndConditions

string

Primärer Nutzungsbedingungen-Text, der vom Partner bereitgestellt wird.

additionalTermsAndConditions[]

string

Zusätzliche Nutzungsbedingungen des Partners.