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 Zusatzangebote.

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 die Prioritätsstufe des von der Quelle zugewiesenen Angebots angibt. Wenn für denselben Händler mehrere Angebote verfügbar sind, ist dies ein Signal für das Ranking der Angebote. Der Wert 0 bedeutet, dass die Priorität nicht festgelegt ist.

offerDetails

object (OfferDetails)

Details des Angebots, z. B. Rabatt, Buchungskosten usw. Erforderlich.

offerRestrictions

object (OfferRestrictions)

Beschreibt, wie das Angebot eingeschränkt ist, z.B. ob ein Abo/Zahlungsmittel erforderlich ist, ob dieses Angebot mit anderen Angeboten kombiniert werden kann (und mit welchen Arten) 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 zu einem Abo. Erforderlich für offerCategory: OFFER_CATEGORY_ADD_ON_SUBSCRIPTION_OFFER.

terms

object (Terms)

Nutzungsbedingungen für das Angebot. Erforderlich.

validityPeriods[]

object (ValidityPeriod)

Der Gültigkeitszeitraum des Angebots. Beschreibt, für welchen Zeitraum das Angebot gültig ist, 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 Angebote wie „Festlich“, „Am besten bewertet“ oder „Am häufigsten gebucht“ gekennzeichnet.

brandId

string

Gibt die Marke an, die mit dem Angebot verknüpft ist. Wenn nichts festgelegt ist, wird die Standardmarke verwendet.

OfferDetails

[START offer_details_definition] Next 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 bis zu 100 €.

minSpendValue

object (Money)

Der Mindestausgabenwert, um den Rabatt in Anspruch zu nehmen. 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 oder pro Transaktion.

convenienceFee

object (Fee)

bookingCostAdjustable

boolean

Gibt an, ob die Buchungskosten anpassbar sind, d.h., ob sie von der endgültigen Rechnung abgezogen werden. Beispiel: 30% Rabatt auf das Abendessen bei Reservierung. Die Reservierung kostet 15 $, die auf die endgültige Rechnung angerechnet werden. Die endgültige Rechnung lautet also: 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, Servicegebühr 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 Gesamtbetrag abgezogen wird. Beispiel: 1. 10% Rabatt auf die Endabrechnung. 2. 15 $ Rabatt auf eine Bestellung. Händler können über die entsprechenden Spezifikationsfelder auch benutzerdefinierte Rabatte wie „Zwei zum Preis von einem“ anbieten. Erforderlich. Für offer_specification ist nur einer der folgenden Werte zulässig:
discountPercent

number

Prozentsatz der Rechnung, der rabattiert wird. [0, 100] Bei 1+1- oder 50 %-Rabattangeboten, die für das gesamte Essen gelten (z.B. 1+1-Buffet, 1+1 auf die gesamte Rechnung, 1+1 auf das Menü), kann dieser Wert auf 50 gesetzt werden.

discountValue

object (Money)

Fester Wert des Rabatts.

otherOfferDetailText

string

Freitext zur Beschreibung des Rabatts. Spezifische 1+1-Angebote (z.B. 1+1 Getränke, +1 Hauptgericht, 1+1 ausgewählte Menüpunkte) sollten 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, kann jedes Angebot, das eine der oben genannten Bedingungen erfüllt, kombiniert werden.

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 Angebots-IDs, mit denen dieses Angebot kombiniert werden kann. Einige Angebote können nur mit bestimmten anderen offer_ids kombiniert werden (können als übergeordnete Angebote betrachtet 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 speziell für Lebensmittelangebote.

specialConditions[]

string

Besondere Bedingungen für dieses Angebot, die dem Nutzer angezeigt werden müssen. Beispiele: „Nur gültig für Zahlungen in [Bereich]“ oder „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 zum Einlösen des Angebots 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. Beispiel: 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)

Gibt an, wie lange das Abo zum angegebenen Abopreis [subscription_cost] 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 Nutzungsbedingungen des Partners, die für dieses Abo relevant sind.

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

Vom Partner bereitgestellter Text der primären Nutzungsbedingungen.

additionalTermsAndConditions[]

string

Nutzungsbedingungen zusätzlich zu den primären Nutzungsbedingungen des Partners.