Order

„Order“ (Bestellung) steht für den Inhalt einer laufenden oder abgeschlossenen Bestellung eines Nutzers.

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

fulfillment

object (OrderFulfillment)

Optional. Die Informationen zur Ausführung der Bestellung.

priceInfo

object (OrderPriceInfo)

Optional. Preisinformationen für den Auftrag.

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 diesem Auftrag zugeordnet 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 im Menü, die innerhalb des Menüs 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 dieses Element 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. Das ist der Preis pro Einheit des Artikels.

integrationAttributes

object (ItemIntegrationAttributes)

Nur Ausgabe. Metadaten, die dieser Entität zugeordnet sind und für Downstream-Integrationen verwendet werden.

modifierGroups[]

object (OrderModifierGroup)

Optional. Auf dieses Element angewendete ModifierGroups.

quantity

integer

Optional. Die Menge dieses Artikels in der Bestellung.

totalPrice

object (Money)

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

categoryIds[]

string

Nur Ausgabe. Kategorie-IDs, zu denen das zugrunde liegende Menüelement gehört. Entspricht den Item.category_ids des Menüs, damit Clients 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. Kennung für diese Modifikatorgruppe, die innerhalb des zugehörigen Menüs eindeutig ist.

displayName

string

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

integrationAttributes

object (ModifierGroupIntegrationAttributes)

Nur Ausgabe. Metadaten, die dieser Entität zugeordnet sind und für Downstream-Integrationen verwendet werden.

modifiers[]

object (OrderModifier)

Optional. Die auf diese Modifikatorgruppe angewendeten Modifikatoren.

OrderModifier

OrderModifier gibt den Status eines Attributs an, das 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. Eindeutige Kennung für diesen Modifikator innerhalb des Menüs.

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. Das ist der Preis pro Einheit des Modifikators.

quantity

integer

Optional. Die Menge der angewendeten Modifier-Aktion.

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 dieser Entität zugeordnet sind und für Downstream-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 Kunden eine genaue Differenz bei den Auswahlmöglichkeiten berechnen können.

OrderModifierAction

OrderModifierAction gibt die ModifierAction an, die einem angewendeten OrderModifier zugeordnet ist.

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

string

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

OrderMetadata

OrderMetadata enthält andere Metadaten, die während der Bestellung erhoben 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 Daten können mündlich erhoben werden und Rechtschreibfehler oder Falschabschriften enthalten.Daher ist Vorsicht geboten, wenn sie Nutzern angezeigt werden. Sie sollten nicht als Zahlungsinformationen betrachtet werden.

callerPhoneNumber

string

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

deliveryAddress

object (DeliveryAddress)

Optional. Die Lieferadresse, wenn es sich bei der Bestellung 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 sich die Adresse im Liefergebiet des Geschäfts befindet.

ValidationStatus

Der Bestätigungsstatus der Lieferadresse. Sie wird durch clientspezifische 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 ist vorhanden und wird aufgelöst, liegt aber außerhalb des Liefergebiets des Geschäfts.
VALIDATION_STATUS_INCOMPLETE_ADDRESS Bei der Adresse fehlen Pflichtfelder (Hausnummer/Straßenname, Ort, Bundesstaat, Postleitzahl usw.).

OrderFulfillment

„OrderFulfillment“ enthält Informationen zur Auftragsabwicklung.

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

enum (FulfillmentMethod)

Optional. Die Art der Auftragsabwicklung.

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. Die Zeit, zu der die Bestellung ausgeführt werden soll. Wird für „Vorbestellung“ verwendet. Wenn nichts angegeben ist, wird davon ausgegangen, dass die Bestellung „so schnell wie möglich“ erfolgen 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 fasst die verschiedenen Preiskomponenten einer Bestellung zusammen.

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

discount

object (Money)

Optional. Gesamtrabatt, der auf die Bestellung angewendet wurde

saving

object (Money)

Optional. Auf die Bestellung angewendete Ersparnisse durch Angebote

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 zum Trinkgeld.

loyaltyConsumed

object (LoyaltyAmount)

Optional. Der für die Zahlung verwendete Treuepunktebetrag.

paymentInfo

object (PaymentInfo)

Optional. Informationen zur verwendeten Zahlungsmethode.

TippingInfo

Informationen zum Geben von 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

Represents a customer's loyalty amount.

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. Kartenprüfnummer (CVV) der Kreditkarte

paymentMethod

enum (PaymentMethod)

Optional. Die verwendete Zahlungsmethode.

Zahlungsmethode

Die Art der Zahlungsmethode.

Enums
PAYMENT_METHOD_UNSPECIFIED Zahlungsmethode nicht angegeben.
PAYMENT_METHOD_CREDIT_CARD Kreditkarte
PAYMENT_METHOD_CASH Barzahlung