Order

L'ordine rappresenta i contenuti di un ordine in corso o completato di un utente.

Rappresentazione JSON
{
  "items": [
    {
      object (OrderItem)
    }
  ],
  "metadata": {
    object (OrderMetadata)
  },
  "fulfillment": {
    object (OrderFulfillment)
  },
  "priceInfo": {
    object (OrderPriceInfo)
  },
  "externalOrderId": string
}
Campi
items[]

object (OrderItem)

Facoltativo. Gli articoli nell'ordine.

metadata

object (OrderMetadata)

Facoltativo. Altri metadati raccolti o dedotti durante l'ordine.

fulfillment

object (OrderFulfillment)

Facoltativo. Le informazioni sull'evasione dell'ordine.

priceInfo

object (OrderPriceInfo)

Facoltativo. Informazioni sul prezzo dell'ordine.

externalOrderId

string

Solo output. L'identificatore esterno per questo ordine. Compilato solo se è attivata un'integrazione del punto vendita.

OrderItem

OrderItem specifica lo stato di un articolo che fa parte di un ordine.

Rappresentazione JSON
{
  "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
  ]
}
Campi
uid

string

Facoltativo. Un identificatore univoco assegnato dal sistema per questo elemento.

itemId

string

Obbligatorio. Identificatore di un elemento nel menu, univoco all'interno del menu.

displayName

string

Solo output. Nome leggibile per questo elemento pubblicitario da mostrare nelle interfacce utente.

image

object (Image)

Solo output. Immagine da visualizzare per questo elemento nella UI.

basePrice

object (Money)

Solo output. Il prezzo base dell'articolo. Questo valore potrebbe essere influenzato dai modificatori selezionati. È il prezzo per unità dell'articolo.

integrationAttributes

object (ItemIntegrationAttributes)

Solo output. Metadati associati a questa entità utilizzati per le integrazioni downstream.

modifierGroups[]

object (OrderModifierGroup)

Facoltativo. ModifierGroups applicati a questo elemento.

quantity

integer

Facoltativo. La quantità di questo articolo nell'ordine.

totalPrice

object (Money)

Solo output. Il prezzo totale di questa voce, inclusi i modificatori selezionati e la quantità dell'articolo, al netto delle imposte. Utilizzato per la visualizzazione della borsa per articolo.

categoryIds[]

string

Solo output. Gli ID categoria a cui appartiene la voce di menu sottostante. Rispecchia Item.category_ids del menu in modo che i clienti possano raggruppare gli articoli ordinati per categoria di menu.

OrderModifierGroup

OrderModifierGroup specifica lo stato di un ModifierGroup che fa parte di un OrderItem.

Rappresentazione JSON
{
  "modifierGroupId": string,
  "displayName": string,
  "integrationAttributes": {
    object (ModifierGroupIntegrationAttributes)
  },
  "modifiers": [
    {
      object (OrderModifier)
    }
  ]
}
Campi
modifierGroupId

string

Obbligatorio. Identificatore di questo gruppo di modificatori, univoco all'interno del menu.

displayName

string

Solo output. Il nome del gruppo di modificatori, ad esempio "Condimenti (panino)" o "Contorno per combo medio".

integrationAttributes

object (ModifierGroupIntegrationAttributes)

Solo output. Metadati associati a questa entità utilizzati per le integrazioni downstream.

modifiers[]

object (OrderModifier)

Facoltativo. I modificatori applicati a questo gruppo di modificatori.

OrderModifier

OrderModifier specifica lo stato di un modificatore che fa parte di un OrderModifierGroup.

Rappresentazione JSON
{
  "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
}
Campi
uid

string

Facoltativo. Un identificatore univoco assegnato dal sistema per questo modificatore.

modifierId

string

Obbligatorio. Identificatore di questo modificatore, univoco all'interno del menu.

displayName

string

Solo output. Il nome visualizzato del modificatore da mostrare nelle interfacce utente.

priceAdjustment

object (Money)

Solo output. L'aggiustamento del prezzo associato a questo modificatore, se presente. È il prezzo per unità del modificatore.

quantity

integer

Facoltativo. La quantità di questa azione di modifica applicata.

modifierAction

object (OrderModifierAction)

Facoltativo. L'azione del modificatore applicata a questo modificatore.

image

object (Image)

Solo output. Immagine da visualizzare per questo modificatore nell'interfaccia utente.

integrationAttributes

object (ModifierIntegrationAttributes)

Solo output. Metadati associati a questa entità utilizzati per le integrazioni downstream.

modifierGroups[]

object (OrderModifierGroup)

Facoltativo. Gruppi di modificatori nidificati applicati a questo modificatore.

isDefault

boolean

Solo output. Indica se questo modificatore è una selezione predefinita per il suo gruppo di modificatori. Necessario per consentire ai clienti di calcolare una differenza accurata tra le selezioni.

OrderModifierAction

OrderModifierAction specifica ModifierAction associato a un OrderModifier applicato.

Rappresentazione JSON
{
  "name": string
}
Campi
name

string

Facoltativo. Il nome dell'azione del modificatore, ad esempio "NO", "LATO", "AGGIUNGI", "EXTRA".

OrderMetadata

OrderMetadata contiene altri metadati raccolti o dedotti durante l'ordine.

Rappresentazione JSON
{
  "collectedCustomerName": string,
  "callerPhoneNumber": string,
  "deliveryAddress": {
    object (DeliveryAddress)
  }
}
Campi
collectedCustomerName

string

Facoltativo. Nome del cliente, raccolto durante l'acquisizione dell'ordine. Viene compilato solo quando l'agente è configurato per raccogliere il nome del cliente. Queste informazioni potrebbero essere raccolte verbalmente e contenere errori ortografici o di trascrizione, pertanto è necessario prestare attenzione quando vengono mostrate agli utenti e non devono essere considerate attendibili come, ad esempio, i dati di pagamento.

callerPhoneNumber

string

Facoltativo. Il numero di telefono del cliente che effettua l'ordine.

deliveryAddress

object (DeliveryAddress)

Facoltativo. L'indirizzo di consegna, se l'ordine prevede la consegna.

DeliveryAddress

L'indirizzo di consegna di un ordine. Potrebbe trattarsi di un indirizzo salvato o raccolto esistente.

Rappresentazione JSON
{
  "address": {
    object (PostalAddress)
  },
  "validationStatus": enum (ValidationStatus),
  "coordinates": {
    object (LatLng)
  }
}
Campi
address

object (PostalAddress)

Facoltativo. L'indirizzo di consegna.

validationStatus

enum (ValidationStatus)

Facoltativo. Lo stato di convalida dell'indirizzo.

coordinates

object (LatLng)

Facoltativo. Le coordinate geografiche dell'indirizzo. Utilizzato per verificare se l'indirizzo rientra nel raggio di consegna del negozio.

ValidationStatus

Lo stato di convalida dell'indirizzo di consegna. È determinato dalla logica di convalida specifica del cliente.

Enum
VALIDATION_STATUS_UNSPECIFIED L'indirizzo non è ancora stato convalidato.
VALIDATION_STATUS_VALID L'indirizzo è valido.
VALIDATION_STATUS_INVALID L'indirizzo non è valido (non esiste, non può essere analizzato e così via)
VALIDATION_STATUS_OUT_OF_RANGE L'indirizzo esiste ed è risolto, ma non rientra nell'intervallo del negozio.
VALIDATION_STATUS_INCOMPLETE_ADDRESS Nell'indirizzo mancano i campi obbligatori (numero/nome della via, città, provincia, codice postale ecc.)

OrderFulfillment

OrderFulfillment contiene informazioni sull'evasione degli ordini.

Rappresentazione JSON
{
  "fulfillmentMethod": enum (FulfillmentMethod),
  "createTime": string,
  "targetFulfillmentTime": string
}
Campi
fulfillmentMethod

enum (FulfillmentMethod)

Facoltativo. Il metodo di evasione dell'ordine.

createTime

string (Timestamp format)

Solo output. L'ora in cui è stato creato l'ordine.

Utilizza RFC 3339, in cui l'output generato è sempre con normalizzazione Z e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

targetFulfillmentTime

string (Timestamp format)

Facoltativo. L'ora in cui è prevista l'evasione dell'ordine, utilizzata per l'ordine anticipato. Se non viene fornito, si presume che l'ordine sia per "il prima possibile".

Utilizza RFC 3339, in cui l'output generato è sempre con normalizzazione Z e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

OrderPriceInfo

OrderPriceInfo contiene i vari componenti di prezzo di un ordine.

Rappresentazione JSON
{
  "totalPrice": {
    object (Money)
  },
  "subtotalPrice": {
    object (Money)
  },
  "taxPrice": {
    object (Money)
  },
  "discount": {
    object (Money)
  },
  "saving": {
    object (Money)
  },
  "fees": {
    object (Money)
  }
}
Campi
totalPrice

object (Money)

Facoltativo. Il prezzo totale finale dopo l'applicazione di tutte le imposte, le commissioni e gli sconti.

subtotalPrice

object (Money)

Facoltativo. Il prezzo del totale parziale di tutti gli articoli e modificatori, prima di tasse e sconti.

taxPrice

object (Money)

Facoltativo. L'importo delle imposte applicate all'ordine.

discount

object (Money)

Facoltativo. Sconto totale applicato all'ordine

saving

object (Money)

Facoltativo. Risparmio dell'offerta applicato all'ordine

fees

object (Money)

Facoltativo. Commissioni totali applicate all'ordine