Order

„Order“ stellt den Inhalt einer laufenden oder abgeschlossenen Bestellung eines Nutzers dar.

JSON-Darstellung
{
  "items": [
    {
      object (OrderItem)
    }
  ],
  "metadata": {
    object (OrderMetadata)
  },
  "fulfillment": {
    object (OrderFulfillment)
  },
  "priceInfo": {
    object (OrderPriceInfo)
  },
  "externalOrderId": string,
  "orderPayment": {
    object (OrderPayment)
  }
}
Felder
items[]

object (OrderItem)

Optional. Die Artikel in der Bestellung.

metadata

object (OrderMetadata)

Optional. Andere Metadaten, die während der Bestellung erhoben oder abgeleitet wurden.

fulfillment

object (OrderFulfillment)

Optional. Die Ausführungsinformationen für die Bestellung.

priceInfo

object (OrderPriceInfo)

Optional. Preisinformationen für die Bestellung.

externalOrderId

string

Nur Ausgabe. Die externe Kennung für diese Bestellung. Wird nur ausgefüllt, wenn eine Point-of-Sale-Integration aktiviert ist.

orderPayment

object (OrderPayment)

Optional. Der Zahlungsstatus, der mit dieser Bestellung verknüpft ist.

OrderItem

OrderItem gibt den Status eines Artikels an, der Teil einer Bestellung ist.

JSON-Darstellung
{
  "uid": string,
  "itemId": string,
  "displayName": string,
  "image": {
    object (Image)
  },
  "basePrice": {
    object (Money)
  },
  "integrationAttributes": {
    object (ItemIntegrationAttributes)
  },
  "modifierGroups": [
    {
      object (OrderModifierGroup)
    }
  ],
  "quantity": integer,
  "totalPrice": {
    object (Money)
  },
  "categoryIds": [
    string
  ]
}
Felder
uid

string

Optional. Eine vom System zugewiesene eindeutige Kennung für dieses Element.

itemId

string

Erforderlich. Kennung für einen Artikel auf der Speisekarte, die innerhalb der Speisekarte eindeutig ist.

displayName

string

Nur Ausgabe. Menschenlesbarer Name für diese Werbebuchung, der auf Benutzeroberflächen angezeigt werden soll.

image

object (Image)

Nur Ausgabe. Bild, das für diesen Artikel in der Benutzeroberfläche angezeigt werden soll.

basePrice

object (Money)

Nur Ausgabe. Der Basispreis des Artikels. Dies kann durch die ausgewählten Modifikatoren beeinflusst werden. Dies ist der Preis pro Einheit des Artikels.

integrationAttributes

object (ItemIntegrationAttributes)

Nur Ausgabe. Metadaten, die mit dieser Entität verknüpft sind und für nachgelagerte Integrationen verwendet werden.

modifierGroups[]

object (OrderModifierGroup)

Optional. ModifierGroups, die auf diesen Artikel angewendet werden.

quantity

integer

Optional. Die Menge dieses Artikels in der Bestellung.

totalPrice

object (Money)

Nur Ausgabe. Der Gesamtpreis für diese Position, einschließlich ausgewählter Modifikatoren und unter Berücksichtigung der Artikelmenge, vor Steuern. Wird für die Anzeige von Taschen pro Artikel verwendet.

categoryIds[]

string

Nur Ausgabe. Kategorie-IDs, zu denen der zugrunde liegende Menüpunkt gehört. Spiegelt die Item.category_ids des Menüs wider, damit Kunden bestellte Artikel nach Menükategorie gruppieren können.

OrderModifierGroup

„OrderModifierGroup“ gibt den Status einer ModifierGroup an, die Teil eines OrderItem ist.

JSON-Darstellung
{
  "modifierGroupId": string,
  "displayName": string,
  "integrationAttributes": {
    object (ModifierGroupIntegrationAttributes)
  },
  "modifiers": [
    {
      object (OrderModifier)
    }
  ]
}
Felder
modifierGroupId

string

Erforderlich. ID für diese Modifikatorgruppe, die innerhalb des Menüs eindeutig ist.

displayName

string

Nur Ausgabe. Der Name der Modifikatorgruppe, z.B. „Toppings (Sandwich)“ oder „Beilage für mittleres Menü“.

integrationAttributes

object (ModifierGroupIntegrationAttributes)

Nur Ausgabe. Metadaten, die mit dieser Entität verknüpft sind und für nachgelagerte Integrationen verwendet werden.

modifiers[]

object (OrderModifier)

Optional. Die auf diese Modifikatorgruppe angewendeten Modifikatoren.

OrderModifier

„OrderModifier“ gibt den Status eines Modifikators an, der Teil einer „OrderModifierGroup“ ist.

JSON-Darstellung
{
  "uid": string,
  "modifierId": string,
  "displayName": string,
  "priceAdjustment": {
    object (Money)
  },
  "quantity": integer,
  "modifierAction": {
    object (OrderModifierAction)
  },
  "image": {
    object (Image)
  },
  "integrationAttributes": {
    object (ModifierIntegrationAttributes)
  },
  "modifierGroups": [
    {
      object (OrderModifierGroup)
    }
  ],
  "isDefault": boolean
}
Felder
uid

string

Optional. Eine vom System zugewiesene eindeutige Kennung für diesen Modifikator.

modifierId

string

Erforderlich. ID für diesen Modifikator, die innerhalb des Menüs eindeutig ist.

displayName

string

Nur Ausgabe. Der Anzeigename des Modifikators, der auf Benutzeroberflächen angezeigt werden soll.

priceAdjustment

object (Money)

Nur Ausgabe. Die mit diesem Modifikator verknüpfte Preisanpassung, falls vorhanden. Dies ist der Preis pro Einheit des Modifikators.

quantity

integer

Optional. Die Anzahl der angewendeten Modifikatoraktionen.

modifierAction

object (OrderModifierAction)

Optional. Die auf diesen Modifikator angewendete Modifikatoraktion.

image

object (Image)

Nur Ausgabe. Bild, das für diesen Modifikator in der Benutzeroberfläche angezeigt werden soll.

integrationAttributes

object (ModifierIntegrationAttributes)

Nur Ausgabe. Metadaten, die mit dieser Entität verknüpft sind und für nachgelagerte Integrationen verwendet werden.

modifierGroups[]

object (OrderModifierGroup)

Optional. Verschachtelte Modifikatorgruppen, die auf diesen Modifikator angewendet werden.

isDefault

boolean

Nur Ausgabe. Gibt an, ob dieser Modifikator eine Standardauswahl für seine Modifikatorgruppe ist. Erforderlich, damit Clients eine genaue Auswahl-Diff berechnen können.

OrderModifierAction

OrderModifierAction gibt die ModifierAction an, die mit einem angewendeten OrderModifier verknüpft ist.

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

string

Optional. Der Name der Modifikatoraktion, z.B. „NO“, „SIDE“, „ADD“, „EXTRA“.

OrderMetadata

„OrderMetadata“ enthält weitere Metadaten, die während der Bestellung erfasst oder abgeleitet wurden.

JSON-Darstellung
{
  "collectedCustomerName": string,
  "callerPhoneNumber": string,
  "deliveryAddress": {
    object (DeliveryAddress)
  }
}
Felder
collectedCustomerName

string

Optional. Name des Kunden, der bei der Bestellung erfasst wurde. Wird nur ausgefüllt, wenn der Agent so konfiguriert ist, dass er den Namen des Kunden erfasst. Diese werden möglicherweise mündlich erfasst und können Rechtschreib- oder Transkriptionsfehler enthalten. Sie sollten daher mit Vorsicht angezeigt und nicht als Zahlungsinformationen verwendet werden.

callerPhoneNumber

string

Optional. Die Telefonnummer des Kunden, der die Bestellung aufgibt.

deliveryAddress

object (DeliveryAddress)

Optional. Die Lieferadresse, wenn es sich um eine Lieferbestellung handelt.

DeliveryAddress

Die Lieferadresse einer Bestellung. Es kann sich um eine vorhandene gespeicherte oder erfasste Adresse handeln.

JSON-Darstellung
{
  "address": {
    object (PostalAddress)
  },
  "validationStatus": enum (ValidationStatus),
  "coordinates": {
    object (LatLng)
  }
}
Felder
address

object (PostalAddress)

Optional. Die Lieferadresse.

validationStatus

enum (ValidationStatus)

Optional. Der Validierungsstatus der Adresse.

coordinates

object (LatLng)

Optional. Die geografischen Koordinaten der Adresse. Wird verwendet, um zu prüfen, ob die Adresse im Liefergebiet des Geschäfts liegt.

ValidationStatus

Der Validierungsstatus der Lieferadresse. Sie wird durch eine kundenspezifische Validierungslogik bestimmt.

Enums
VALIDATION_STATUS_UNSPECIFIED Die Adresse wurde noch nicht bestätigt.
VALIDATION_STATUS_VALID Die Adresse ist gültig.
VALIDATION_STATUS_INVALID Die Adresse ist ungültig (nicht vorhanden, kann nicht geparst werden usw.).
VALIDATION_STATUS_OUT_OF_RANGE Die Adresse existiert und wurde aufgelöst, liegt aber außerhalb des Einzugsgebiets des Geschäfts.
VALIDATION_STATUS_INCOMPLETE_ADDRESS In der Adresse fehlen Pflichtfelder (Hausnummer/Straßenname, Ort, Bundesland, Postleitzahl usw.).

OrderFulfillment

„OrderFulfillment“ enthält Informationen zur Auftragsabwicklung.

JSON-Darstellung
{
  "fulfillmentMethod": enum (FulfillmentMethod),
  "createTime": string,
  "targetFulfillmentTime": string
}
Felder
fulfillmentMethod

enum (FulfillmentMethod)

Optional. Die Erfüllungsmethode der Bestellung.

createTime

string (Timestamp format)

Nur Ausgabe. Der Zeitpunkt, zu dem die Bestellung erstellt wurde.

Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" oder "2014-10-02T15:01:23+05:30".

targetFulfillmentTime

string (Timestamp format)

Optional. Der Zeitpunkt, zu dem die Bestellung ausgeführt werden soll, wird für „Vorbestellung“ verwendet. Wenn keine Angabe gemacht wird, wird davon ausgegangen, dass die Bestellung „so schnell wie möglich“ geliefert werden soll.

Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" oder "2014-10-02T15:01:23+05:30".

OrderPriceInfo

„OrderPriceInfo“ enthält die verschiedenen Preiskomponenten einer Bestellung.

JSON-Darstellung
{
  "totalPrice": {
    object (Money)
  },
  "subtotalPrice": {
    object (Money)
  },
  "taxPrice": {
    object (Money)
  },
  "discount": {
    object (Money)
  },
  "saving": {
    object (Money)
  },
  "fees": {
    object (Money)
  }
}
Felder
totalPrice

object (Money)

Optional. Der endgültige Gesamtpreis nach Anwendung aller Steuern, Gebühren und Rabatte.

subtotalPrice

object (Money)

Optional. Der Zwischensummenpreis aller Artikel und Modifikatoren vor Steuern und Rabatten.

taxPrice

object (Money)

Optional. Der Steuerbetrag, der auf die Bestellung angewendet wird.

discount

object (Money)

Optional. Auf die Bestellung angewendeter Gesamtrabatt

saving

object (Money)

Optional. Auf die Bestellung angewendete Ersparnisse aus dem Deal

fees

object (Money)

Optional. Gesamtgebühren für die Bestellung

OrderPayment

Die zahlungsbezogenen Informationen für eine Bestellung.

JSON-Darstellung
{
  "tippingInfo": {
    object (TippingInfo)
  },
  "loyaltyConsumed": {
    object (LoyaltyAmount)
  },
  "paymentInfo": {
    object (PaymentInfo)
  }
}
Felder
tippingInfo

object (TippingInfo)

Optional. Informationen zu Trinkgeldern.

loyaltyConsumed

object (LoyaltyAmount)

Optional. Für die Zahlung verwendeter Treuebetrag.

paymentInfo

object (PaymentInfo)

Optional. Informationen zur verwendeten Zahlungsmethode.

TippingInfo

Informationen zum Trinkgeld.

JSON-Darstellung
{

  // Union field tip_type can be only one of the following:
  "amount": {
    object (Money)
  },
  "percentageBps": integer
  // End of list of possible types for union field tip_type.
}
Felder
Union-Feld tip_type. Der Betrag oder Prozentsatz des Trinkgelds. Für tip_type ist nur einer der folgenden Werte zulässig:
amount

object (Money)

Optional. Ein bestimmter Geldbetrag für das Trinkgeld.

percentageBps

integer

Optional. Prozentsatz in Basispunkten, z. B. 450 = 4,5 %.

LoyaltyAmount

Stellt den Treuebetrag eines Kunden dar.

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

string (int64 format)

Erforderlich. Die Treuepunkte.

PaymentInfo

Zahlungsinformationen des Nutzers.

JSON-Darstellung
{
  "creditCardLastFourDigits": string,
  "creditCardCvv": string,
  "paymentMethod": enum (PaymentMethod)
}
Felder
creditCardLastFourDigits

string

Optional. Die letzten vier Ziffern der Kreditkarte. Damit wird die Kreditkartennummer bei der Zahlung überprüft.

creditCardCvv

string

Optional. CVV der Kreditkarte.

paymentMethod

enum (PaymentMethod)

Optional. Die verwendete Zahlungsmethode

Zahlungsmethode

Die Art der Zahlungsmethode.

Enums
PAYMENT_METHOD_UNSPECIFIED Nicht angegebene Zahlungsmethode.
PAYMENT_METHOD_CREDIT_CARD Kreditkarte
PAYMENT_METHOD_CASH Bargeld.