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,
  "orderPayment": {
    object (OrderPayment)
  }
}
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.

orderPayment

object (OrderPayment)

Facoltativo. Lo stato del pagamento associato a questo ordine.

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

OrderPayment

Le informazioni relative al pagamento di un ordine.

Rappresentazione JSON
{
  "tippingInfo": {
    object (TippingInfo)
  },
  "loyaltyConsumed": {
    object (LoyaltyAmount)
  },
  "paymentInfo": {
    object (PaymentInfo)
  }
}
Campi
tippingInfo

object (TippingInfo)

Facoltativo. Informazioni sulle mance.

loyaltyConsumed

object (LoyaltyAmount)

Facoltativo. Importo del programma fedeltà utilizzato per il pagamento.

paymentInfo

object (PaymentInfo)

Facoltativo. Informazioni sul metodo di pagamento utilizzato.

TippingInfo

Informazioni sulle mance.

Rappresentazione JSON
{

  // 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.
}
Campi
Campo unione tip_type. L'importo o la percentuale della mancia. tip_type può essere solo uno dei seguenti tipi:
amount

object (Money)

Facoltativo. Un importo specifico per la mancia.

percentageBps

integer

Facoltativo. Percentuale in punti base, ad es. 450 = 4,5%.

LoyaltyAmount

Rappresenta l'importo fedeltà di un cliente.

Rappresentazione JSON
{
  "units": string
}
Campi
units

string (int64 format)

Obbligatorio. I punti fedeltà.

PaymentInfo

Dati di pagamento dell'utente.

Rappresentazione JSON
{
  "creditCardLastFourDigits": string,
  "creditCardCvv": string,
  "paymentMethod": enum (PaymentMethod)
}
Campi
creditCardLastFourDigits

string

Facoltativo. Le ultime quattro cifre della carta di credito. Viene utilizzato per verificare il numero carta nella fase di pagamento.

creditCardCvv

string

Facoltativo. CVV della carta di credito.

paymentMethod

enum (PaymentMethod)

Facoltativo. Il tipo di metodo di pagamento utilizzato.

PaymentMethod

Il tipo di metodo di pagamento.

Enum
PAYMENT_METHOD_UNSPECIFIED Metodo di pagamento non specificato.
PAYMENT_METHOD_CREDIT_CARD Carta di credito.
PAYMENT_METHOD_CASH Contanti.