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 di evasione dell'ordine.

priceInfo

object (OrderPriceInfo)

Facoltativo. Informazioni sui prezzi dell'ordine.

externalOrderId

string

Solo output. L'identificatore esterno di questo ordine. Compilato solo se è attivata un'integrazione con il 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 di questo elemento pubblicitario da mostrare nelle interfacce utente.

image

object (Image)

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

basePrice

object (Money)

Solo output. Il prezzo base dell'articolo. Questo valore potrebbe essere influenzato dai modificatori selezionati. Questo è 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 articolo.

quantity

integer

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

totalPrice

object (Money)

Solo output. Il prezzo totale di questo elemento, inclusi i modificatori selezionati e che riflette la quantità dell'elemento, tasse escluse. Utilizzato per la visualizzazione della borsa per articolo.

categoryIds[]

string

Solo output. ID delle categorie 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 menu 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. Questo è 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 relativo gruppo di modificatori. Necessario per consentire ai client di calcolare una differenza di selezione accurata.

OrderModifierAction

OrderModifierAction specifica il ModifierAction associato a un OrderModifier applicato.

Rappresentazione JSON
{
  "name": string
}
Campi
name

string

Facoltativo. Il nome dell'azione del modificatore, ad esempio "NO", "SIDE", "ADD", "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 al momento dell'ordine. Compilato solo quando l'agente è configurato per raccogliere il nome del cliente. Queste informazioni possono essere raccolte verbalmente e potrebbero contenere errori di ortografia o di trascrizione, pertanto è necessario prestare attenzione quando vengono mostrate agli utenti e non devono essere considerate attendibili, ad esempio come 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 è un ordine con consegna.

DeliveryAddress

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

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 nell'intervallo di consegna del negozio.

ValidationStatus

Lo stato di convalida dell'indirizzo di consegna. Viene determinata dalla logica di convalida specifica del client.

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 è stato risolto, ma non rientra nell'intervallo del negozio.
VALIDATION_STATUS_INCOMPLETE_ADDRESS Nell'indirizzo mancano i campi obbligatori (numero civico/nome della via, città, provincia, codice postale e così via)

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 "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 incapsula i vari componenti del 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 tasse, le commissioni e gli sconti.

subtotalPrice

object (Money)

Facoltativo. Il prezzo parziale di tutti gli articoli e i modificatori, al netto delle imposte e degli sconti.

taxPrice

object (Money)

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

discount

object (Money)

Facoltativo. Sconto totale applicato all'ordine

saving

object (Money)

Facoltativo. Risparmio 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 esempio 450 = 4,5%.

LoyaltyAmount

Rappresenta l'importo della 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. Questo valore viene utilizzato per verificare il numero della carta di credito 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.