Order

Pesanan mewakili konten pesanan pengguna yang sedang diproses atau telah selesai.

Representasi JSON
{
  "items": [
    {
      object (OrderItem)
    }
  ],
  "metadata": {
    object (OrderMetadata)
  },
  "fulfillment": {
    object (OrderFulfillment)
  },
  "priceInfo": {
    object (OrderPriceInfo)
  },
  "externalOrderId": string,
  "orderPayment": {
    object (OrderPayment)
  }
}
Kolom
items[]

object (OrderItem)

Opsional. Item dalam pesanan.

metadata

object (OrderMetadata)

Opsional. Metadata lain yang dikumpulkan atau disimpulkan selama pesanan.

fulfillment

object (OrderFulfillment)

Opsional. Informasi pemenuhan untuk pesanan.

priceInfo

object (OrderPriceInfo)

Opsional. Informasi harga untuk pesanan.

externalOrderId

string

Hanya output. ID eksternal untuk pesanan ini. Diisi hanya jika integrasi point-of-sale diaktifkan.

orderPayment

object (OrderPayment)

Opsional. Status pembayaran yang terkait dengan pesanan ini.

OrderItem

OrderItem menentukan status Item yang merupakan bagian dari Pesanan.

Representasi 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
  ]
}
Kolom
uid

string

Opsional. ID unik yang ditetapkan sistem untuk item ini.

itemId

string

Wajib. ID untuk Item dalam Menu, unik dalam Menunya.

displayName

string

Hanya output. Nama item baris yang dapat dibaca manusia untuk ditampilkan di antarmuka pengguna.

image

object (Image)

Hanya output. Gambar yang akan ditampilkan untuk item ini di UI.

basePrice

object (Money)

Hanya output. Harga dasar item. Hal ini dapat dipengaruhi oleh pengubah yang dipilih. Ini adalah harga per unit item.

integrationAttributes

object (ItemIntegrationAttributes)

Hanya output. Metadata yang terkait dengan entity ini digunakan untuk integrasi hilir.

modifierGroups[]

object (OrderModifierGroup)

Opsional. ModifierGroups yang diterapkan ke item ini.

quantity

integer

Opsional. Jumlah item ini dalam pesanan.

totalPrice

object (Money)

Hanya output. Total harga untuk item baris ini, termasuk pengubah yang dipilih dan mencerminkan jumlah item, sebelum pajak. Digunakan untuk tampilan tas per item.

categoryIds[]

string

Hanya output. ID kategori yang menjadi bagian dari item menu pokok. Mencerminkan Item.category_ids menu sehingga klien dapat mengelompokkan item yang dipesan menurut kategori menu.

OrderModifierGroup

OrderModifierGroup menentukan status ModifierGroup yang merupakan bagian dari OrderItem.

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

string

Wajib. ID untuk grup pengubah ini, unik dalam menunya.

displayName

string

Hanya output. Nama grup pengubah -- misalnya, "Topping (Sandwich)" atau "Side untuk Combo Medium".

integrationAttributes

object (ModifierGroupIntegrationAttributes)

Hanya output. Metadata yang terkait dengan entity ini digunakan untuk integrasi hilir.

modifiers[]

object (OrderModifier)

Opsional. Pengubah yang diterapkan ke grup pengubah ini.

OrderModifier

OrderModifier menentukan status Pengubah yang merupakan bagian dari OrderModifierGroup.

Representasi 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
}
Kolom
uid

string

Opsional. ID unik yang ditetapkan sistem untuk pengubah ini.

modifierId

string

Wajib. ID untuk pengubah ini, unik dalam menu.

displayName

string

Hanya output. Nama tampilan pengubah yang akan ditampilkan di antarmuka pengguna.

priceAdjustment

object (Money)

Hanya output. Penyesuaian harga yang terkait dengan pengubah ini, jika ada. Ini adalah harga per unit pengubah.

quantity

integer

Opsional. Jumlah tindakan pengubah ini diterapkan.

modifierAction

object (OrderModifierAction)

Opsional. Tindakan pengubah yang diterapkan ke pengubah ini.

image

object (Image)

Hanya output. Gambar yang akan ditampilkan untuk pengubah ini di UI.

integrationAttributes

object (ModifierIntegrationAttributes)

Hanya output. Metadata yang terkait dengan entity ini digunakan untuk integrasi hilir.

modifierGroups[]

object (OrderModifierGroup)

Opsional. Grup pengubah bertingkat yang diterapkan pada pengubah ini.

isDefault

boolean

Hanya output. Apakah pengubah ini merupakan pilihan default untuk grup pengubahnya. Diperlukan agar klien dapat menghitung perbedaan pilihan yang akurat.

OrderModifierAction

OrderModifierAction menentukan ModifierAction yang terkait dengan OrderModifier yang diterapkan.

Representasi JSON
{
  "name": string
}
Kolom
name

string

Opsional. Nama tindakan pengubah -- misalnya, "NO", "SIDE", "ADD", "EXTRA".

OrderMetadata

OrderMetadata berisi metadata lain yang dikumpulkan atau disimpulkan selama pesanan.

Representasi JSON
{
  "collectedCustomerName": string,
  "callerPhoneNumber": string,
  "deliveryAddress": {
    object (DeliveryAddress)
  }
}
Kolom
collectedCustomerName

string

Opsional. Nama pelanggan, dikumpulkan saat menerima pesanan. Hanya diisi jika agen dikonfigurasi untuk mengumpulkan nama pelanggan. Informasi ini dapat dikumpulkan secara lisan dan dapat berisi kesalahan ejaan atau kesalahan transkripsi, jadi Anda harus berhati-hati saat menampilkannya kepada pengguna, dan informasi ini tidak boleh dipercaya seperti informasi pembayaran.

callerPhoneNumber

string

Opsional. Nomor telepon pelanggan yang melakukan pemesanan.

deliveryAddress

object (DeliveryAddress)

Opsional. Alamat pengiriman, jika pesanan adalah pesanan pengiriman.

DeliveryAddress

Alamat pengiriman pesanan. Alamat tersebut bisa berupa alamat yang tersimpan atau dikumpulkan yang sudah ada.

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

object (PostalAddress)

Opsional. Alamat pengiriman.

validationStatus

enum (ValidationStatus)

Opsional. Status validasi alamat.

coordinates

object (LatLng)

Opsional. Koordinat geografis alamat. Digunakan untuk memvalidasi apakah alamat berada dalam rentang pengiriman toko.

ValidationStatus

Status validasi alamat pengiriman. Hal ini ditentukan oleh logika validasi khusus klien.

Enum
VALIDATION_STATUS_UNSPECIFIED Alamat belum divalidasi.
VALIDATION_STATUS_VALID Alamat valid.
VALIDATION_STATUS_INVALID Alamat tidak valid (tidak ada, tidak dapat diuraikan, dll.)
VALIDATION_STATUS_OUT_OF_RANGE Alamat ada dan diselesaikan, tetapi di luar jangkauan toko.
VALIDATION_STATUS_INCOMPLETE_ADDRESS Alamat tidak memiliki kolom wajib diisi (tidak ada nomor/nama jalan, kota, negara bagian, kode pos, dll.)

OrderFulfillment

OrderFulfillment berisi informasi tentang pemenuhan pesanan.

Representasi JSON
{
  "fulfillmentMethod": enum (FulfillmentMethod),
  "createTime": string,
  "targetFulfillmentTime": string
}
Kolom
fulfillmentMethod

enum (FulfillmentMethod)

Opsional. Metode pemenuhan pesanan.

createTime

string (Timestamp format)

Hanya output. Waktu saat pesanan dibuat.

Menggunakan RFC 3339 yang outputnya akan selalu dinormalisasi Z dan menggunakan 0, 3, 6, atau 9 digit pecahan. Offset selain "Z" juga diterima. Contoh: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z", atau "2014-10-02T15:01:23+05:30".

targetFulfillmentTime

string (Timestamp format)

Opsional. Waktu pesanan dijadwalkan untuk dipenuhi, digunakan untuk 'pesan lebih awal'. Jika tidak diberikan, pesanan diasumsikan untuk 'sesegera mungkin'.

Menggunakan RFC 3339 yang outputnya akan selalu dinormalisasi Z dan menggunakan 0, 3, 6, atau 9 digit pecahan. Offset selain "Z" juga diterima. Contoh: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z", atau "2014-10-02T15:01:23+05:30".

OrderPriceInfo

OrderPriceInfo merangkum berbagai komponen harga pesanan.

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

object (Money)

Opsional. Total harga akhir setelah semua pajak, biaya, dan diskon diterapkan.

subtotalPrice

object (Money)

Opsional. Harga subtotal semua item dan pengubah, sebelum pajak, diskon.

taxPrice

object (Money)

Opsional. Jumlah pajak yang diterapkan pada pesanan.

discount

object (Money)

Opsional. Total diskon yang diterapkan pada pesanan

saving

object (Money)

Opsional. Penghematan promo diterapkan pada pesanan

fees

object (Money)

Opsional. Total biaya yang diterapkan pada pesanan

OrderPayment

Informasi terkait pembayaran untuk pesanan.

Representasi JSON
{
  "tippingInfo": {
    object (TippingInfo)
  },
  "loyaltyConsumed": {
    object (LoyaltyAmount)
  },
  "paymentInfo": {
    object (PaymentInfo)
  }
}
Kolom
tippingInfo

object (TippingInfo)

Opsional. Informasi pemberian tip.

loyaltyConsumed

object (LoyaltyAmount)

Opsional. Jumlah loyalitas yang digunakan untuk pembayaran.

paymentInfo

object (PaymentInfo)

Opsional. Informasi tentang metode pembayaran yang digunakan.

TippingInfo

Informasi tentang pemberian tip.

Representasi 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.
}
Kolom
Kolom union tip_type. Jumlah atau persentase tip. tip_type hanya ada berupa salah satu diantara berikut:
amount

object (Money)

Opsional. Jumlah uang tertentu untuk tips.

percentageBps

integer

Opsional. Persentase dalam poin dasar, misalnya, 450 = 4,5%.

LoyaltyAmount

Mewakili jumlah loyalitas pelanggan.

Representasi JSON
{
  "units": string
}
Kolom
units

string (int64 format)

Wajib. Poin loyalitas.

PaymentInfo

Informasi pembayaran pengguna.

Representasi JSON
{
  "creditCardLastFourDigits": string,
  "creditCardCvv": string,
  "paymentMethod": enum (PaymentMethod)
}
Kolom
creditCardLastFourDigits

string

Opsional. Empat digit terakhir kartu kredit. Informasi ini digunakan untuk memverifikasi nomor kartu kredit pada tahap pembayaran.

creditCardCvv

string

Opsional. CVV kartu kredit.

paymentMethod

enum (PaymentMethod)

Opsional. Jenis metode pembayaran yang digunakan.

PaymentMethod

Jenis metode pembayaran.

Enum
PAYMENT_METHOD_UNSPECIFIED Metode pembayaran tidak ditentukan.
PAYMENT_METHOD_CREDIT_CARD Kartu kredit.
PAYMENT_METHOD_CASH Tunai.