Order

El pedido representa el contenido de un pedido en curso o completado de un usuario.

Representación JSON
{
  "items": [
    {
      object (OrderItem)
    }
  ],
  "metadata": {
    object (OrderMetadata)
  },
  "fulfillment": {
    object (OrderFulfillment)
  },
  "priceInfo": {
    object (OrderPriceInfo)
  },
  "externalOrderId": string,
  "orderPayment": {
    object (OrderPayment)
  }
}
Campos
items[]

object (OrderItem)

Es opcional. Son los artículos del pedido.

metadata

object (OrderMetadata)

Es opcional. Otros metadatos recopilados o inferidos durante el pedido.

fulfillment

object (OrderFulfillment)

Es opcional. Es la información de cumplimiento del pedido.

priceInfo

object (OrderPriceInfo)

Es opcional. Es la información del precio del pedido.

externalOrderId

string

Solo salida. Es el identificador externo de este pedido. Se propaga solo si se habilita una integración de punto de venta.

orderPayment

object (OrderPayment)

Es opcional. Es el estado de pago asociado a este pedido.

OrderItem

OrderItem especifica el estado de un elemento que forma parte de un pedido.

Representación JSON
{
  "uid": string,
  "itemId": string,
  "displayName": string,
  "image": {
    object (Image)
  },
  "basePrice": {
    object (Money)
  },
  "integrationAttributes": {
    object (ItemIntegrationAttributes)
  },
  "modifierGroups": [
    {
      object (OrderModifierGroup)
    }
  ],
  "quantity": integer
}
Campos
uid

string

Es opcional. Es un identificador único asignado por el sistema para este elemento.

itemId

string

Obligatorio. Es el identificador de un elemento del menú, que es único dentro de su menú.

displayName

string

Solo salida. Nombre legible por humanos de este concepto que se mostrará en las interfaces de usuario.

image

object (Image)

Solo salida. Imagen que se mostrará para este elemento en la IU.

basePrice

object (Money)

Solo salida. Es el precio base del artículo. Esto puede verse afectado por los modificadores seleccionados. Es el precio por unidad del artículo.

integrationAttributes

object (ItemIntegrationAttributes)

Solo salida. Son los metadatos asociados a esta entidad que se usan para las integraciones posteriores.

modifierGroups[]

object (OrderModifierGroup)

Es opcional. Son los ModifierGroups aplicados a este elemento.

quantity

integer

Es opcional. Es la cantidad de este artículo en el pedido.

OrderModifierGroup

OrderModifierGroup especifica el estado de un ModifierGroup que forma parte de un OrderItem.

Representación JSON
{
  "modifierGroupId": string,
  "displayName": string,
  "integrationAttributes": {
    object (ModifierGroupIntegrationAttributes)
  },
  "modifiers": [
    {
      object (OrderModifier)
    }
  ]
}
Campos
modifierGroupId

string

Obligatorio. Es el identificador de este grupo de modificadores, que es único dentro de su menú.

displayName

string

Solo salida. Nombre del grupo de modificadores, p.ej., "Coberturas (sándwich)" o "Guarnición para combo mediano".

integrationAttributes

object (ModifierGroupIntegrationAttributes)

Solo salida. Son los metadatos asociados a esta entidad que se usan para las integraciones posteriores.

modifiers[]

object (OrderModifier)

Es opcional. Son los modificadores aplicados a este grupo de modificadores.

OrderModifier

OrderModifier especifica el estado de un modificador que forma parte de un OrderModifierGroup.

Representación JSON
{
  "uid": string,
  "modifierId": string,
  "displayName": string,
  "priceAdjustment": {
    object (Money)
  },
  "quantity": integer,
  "modifierAction": {
    object (OrderModifierAction)
  },
  "image": {
    object (Image)
  },
  "integrationAttributes": {
    object (ModifierIntegrationAttributes)
  },
  "modifierGroups": [
    {
      object (OrderModifierGroup)
    }
  ]
}
Campos
uid

string

Es opcional. Es un identificador único asignado por el sistema para este modificador.

modifierId

string

Obligatorio. Identificador de este modificador, que es único dentro del menú.

displayName

string

Solo salida. Es el nombre visible del modificador que se mostrará en las interfaces de usuario.

priceAdjustment

object (Money)

Solo salida. Es el ajuste de precio asociado a este modificador, si corresponde. Es el precio por unidad del modificador.

quantity

integer

Es opcional. Es la cantidad de esta acción del modificador que se aplicó.

modifierAction

object (OrderModifierAction)

Es opcional. Es la acción del modificador que se aplica a este modificador.

image

object (Image)

Solo salida. Es la imagen que se mostrará para este modificador en la IU.

integrationAttributes

object (ModifierIntegrationAttributes)

Solo salida. Son los metadatos asociados a esta entidad que se usan para las integraciones posteriores.

modifierGroups[]

object (OrderModifierGroup)

Es opcional. Son los grupos de modificadores anidados que se aplican a este modificador.

OrderModifierAction

OrderModifierAction especifica el ModifierAction asociado a un OrderModifier aplicado.

Representación JSON
{
  "name": string
}
Campos
name

string

Es opcional. Nombre de la acción del modificador, p.ej., "NO", "SIDE", "ADD", "EXTRA".

OrderMetadata

OrderMetadata contiene otros metadatos recopilados o inferidos durante el pedido.

Representación JSON
{
  "collectedCustomerName": string,
  "callerPhoneNumber": string
}
Campos
collectedCustomerName

string

Es opcional. Nombre del cliente, recopilado durante la toma del pedido. Solo se completa cuando el agente está configurado para recopilar el nombre del cliente. Esta información se puede recopilar de forma verbal y podría contener errores ortográficos o de transcripción, por lo que se debe tener cuidado al mostrarla a los usuarios y no se debe confiar en ella como, por ejemplo, información de pago.

callerPhoneNumber

string

Es opcional. Es el número de teléfono del cliente que realiza el pedido.

OrderFulfillment

OrderFulfillment contiene información sobre el cumplimiento del pedido.

Representación JSON
{
  "fulfillmentMethod": enum (FulfillmentMethod),
  "createTime": string,
  "targetFulfillmentTime": string
}
Campos
fulfillmentMethod

enum (FulfillmentMethod)

Es opcional. Es el método de cumplimiento del pedido.

createTime

string (Timestamp format)

Solo salida. Fecha y hora en que se creó el pedido.

Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

targetFulfillmentTime

string (Timestamp format)

Es opcional. Es la fecha y hora en que se programó el cumplimiento del pedido, que se usa para la función "Pedir por adelantado". Si no se proporciona, se supone que el pedido es para "lo antes posible".

Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

OrderPriceInfo

OrderPriceInfo encapsula los distintos componentes de precio de un pedido.

Representación JSON
{
  "totalPrice": {
    object (Money)
  },
  "subtotalPrice": {
    object (Money)
  },
  "taxPrice": {
    object (Money)
  }
}
Campos
totalPrice

object (Money)

Es opcional. Es el precio total final después de que se aplican todos los impuestos, las comisiones y los descuentos.

subtotalPrice

object (Money)

Es opcional. Es el precio del subtotal de todos los artículos y modificadores, antes de los impuestos y los descuentos.

taxPrice

object (Money)

Es opcional. Es el importe de impuestos aplicado al pedido.

OrderPayment

Es la información relacionada con el pago de un pedido.

Representación JSON
{
  "tippingInfo": {
    object (TippingInfo)
  },
  "loyaltyConsumed": {
    object (LoyaltyAmount)
  },
  "paymentInfo": {
    object (PaymentInfo)
  }
}
Campos
tippingInfo

object (TippingInfo)

Es opcional. Información sobre propinas

loyaltyConsumed

object (LoyaltyAmount)

Es opcional. Es el importe de lealtad que se consumió para el pago.

paymentInfo

object (PaymentInfo)

Es opcional. Es la información sobre la forma de pago utilizada.

TippingInfo

Es información sobre las propinas.

Representación 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.
}
Campos
Campo de unión tip_type. Es el importe o el porcentaje de la propina. tip_type puede ser solo uno de los parámetros siguientes:
amount

object (Money)

Es opcional. Es una cantidad de dinero específica para la propina.

percentageBps

integer

Es opcional. Es el porcentaje en puntos básicos, p.ej., 450 = 4.5%.

LoyaltyAmount

Representa el importe de lealtad de un cliente.

Representación JSON
{
  "units": string
}
Campos
units

string (int64 format)

Obligatorio. Son los puntos de lealtad.

PaymentInfo

Es la información de pago del usuario.

Representación JSON
{
  "creditCardLastFourDigits": string,
  "creditCardCvv": string,
  "paymentMethod": enum (PaymentMethod)
}
Campos
creditCardLastFourDigits

string

Es opcional. Los últimos cuatro dígitos de la tarjeta de crédito Se usa para verificar el número de tarjeta de crédito en la etapa de pago.

creditCardCvv

string

Es opcional. Es el CVV de la tarjeta de crédito.

paymentMethod

enum (PaymentMethod)

Es opcional. Es el tipo de forma de pago que se usó.

PaymentMethod

Es el tipo de forma de pago.

Enums
PAYMENT_METHOD_UNSPECIFIED Forma de pago sin especificar.
PAYMENT_METHOD_CREDIT_CARD Tarjeta de crédito