Order

주문은 사용자의 진행 중 또는 완료된 주문의 콘텐츠를 나타냅니다.

JSON 표현
{
  "items": [
    {
      object (OrderItem)
    }
  ],
  "metadata": {
    object (OrderMetadata)
  },
  "fulfillment": {
    object (OrderFulfillment)
  },
  "priceInfo": {
    object (OrderPriceInfo)
  },
  "externalOrderId": string
}
필드
items[]

object (OrderItem)

선택사항입니다. 주문에 포함된 상품입니다.

metadata

object (OrderMetadata)

선택사항입니다. 주문 중에 수집되거나 추론된 기타 메타데이터입니다.

fulfillment

object (OrderFulfillment)

선택사항입니다. 주문의 이행 정보입니다.

priceInfo

object (OrderPriceInfo)

선택사항입니다. 주문의 가격 정보입니다.

externalOrderId

string

출력 전용입니다. 이 주문의 외부 식별자입니다. 판매 시점 통합이 사용 설정된 경우에만 채워집니다.

OrderItem

OrderItem은 주문에 포함된 상품의 상태를 지정합니다.

JSON 표현
{
  "uid": string,
  "itemId": string,
  "displayName": string,
  "image": {
    object (Image)
  },
  "basePrice": {
    object (Money)
  },
  "integrationAttributes": {
    object (ItemIntegrationAttributes)
  },
  "modifierGroups": [
    {
      object (OrderModifierGroup)
    }
  ],
  "quantity": integer
}
필드
uid

string

선택사항입니다. 이 항목에 대해 시스템에서 할당한 고유 식별자입니다.

itemId

string

필수 항목입니다. 메뉴의 항목 식별자로, 메뉴 내에서 고유합니다.

displayName

string

출력 전용입니다. 사용자 인터페이스에 표시될 이 광고 항목의 사람이 읽을 수 있는 이름입니다.

image

object (Image)

출력 전용입니다. UI에 이 항목에 대해 표시할 이미지입니다.

basePrice

object (Money)

출력 전용입니다. 상품의 기본 가격입니다. 이는 선택한 수정자에 따라 달라질 수 있습니다. 상품의 단위당 가격입니다.

integrationAttributes

object (ItemIntegrationAttributes)

출력 전용입니다. 다운스트림 통합에 사용되는 이 항목과 관련된 메타데이터입니다.

modifierGroups[]

object (OrderModifierGroup)

선택사항입니다. 이 항목에 적용된 ModifierGroups입니다.

quantity

integer

선택사항입니다. 주문 내 이 상품의 수량입니다.

OrderModifierGroup

OrderModifierGroup은 OrderItem의 일부인 ModifierGroup의 상태를 지정합니다.

JSON 표현
{
  "modifierGroupId": string,
  "displayName": string,
  "integrationAttributes": {
    object (ModifierGroupIntegrationAttributes)
  },
  "modifiers": [
    {
      object (OrderModifier)
    }
  ]
}
필드
modifierGroupId

string

필수 항목입니다. 이 수정자 그룹의 식별자로, 메뉴 내에서 고유합니다.

displayName

string

출력 전용입니다. 수정자 그룹 이름(예: '토핑(샌드위치)' 또는 '미디엄 콤보의 사이드')입니다.

integrationAttributes

object (ModifierGroupIntegrationAttributes)

출력 전용입니다. 다운스트림 통합에 사용되는 이 항목과 관련된 메타데이터입니다.

modifiers[]

object (OrderModifier)

선택사항입니다. 이 수정자 그룹에 적용된 수정자입니다.

OrderModifier

OrderModifier는 OrderModifierGroup에 속한 Modifier의 상태를 지정합니다.

JSON 표현
{
  "uid": string,
  "modifierId": string,
  "displayName": string,
  "priceAdjustment": {
    object (Money)
  },
  "quantity": integer,
  "modifierAction": {
    object (OrderModifierAction)
  },
  "image": {
    object (Image)
  },
  "integrationAttributes": {
    object (ModifierIntegrationAttributes)
  },
  "modifierGroups": [
    {
      object (OrderModifierGroup)
    }
  ]
}
필드
uid

string

선택사항입니다. 이 수정자에 대해 시스템에서 할당한 고유 식별자입니다.

modifierId

string

필수 항목입니다. 이 수정자의 식별자입니다. 메뉴 내에서 고유합니다.

displayName

string

출력 전용입니다. 사용자 인터페이스에 표시할 수정자 표시 이름입니다.

priceAdjustment

object (Money)

출력 전용입니다. 이 수정자와 연결된 가격 조정입니다(있는 경우). 수정자의 단위당 가격입니다.

quantity

integer

선택사항입니다. 적용된 이 수정자 작업의 수량입니다.

modifierAction

object (OrderModifierAction)

선택사항입니다. 이 수정자에 적용된 수정자 작업입니다.

image

object (Image)

출력 전용입니다. UI에서 이 수정자에 대해 표시할 이미지입니다.

integrationAttributes

object (ModifierIntegrationAttributes)

출력 전용입니다. 다운스트림 통합에 사용되는 이 항목과 관련된 메타데이터입니다.

modifierGroups[]

object (OrderModifierGroup)

선택사항입니다. 이 수정자에 적용된 중첩된 수정자 그룹입니다.

OrderModifierAction

OrderModifierAction은 적용된 OrderModifier와 연결된 ModifierAction을 지정합니다.

JSON 표현
{
  "name": string
}
필드
name

string

선택사항입니다. 수정자 작업 이름입니다(예: 'NO', 'SIDE', 'ADD', 'EXTRA').

OrderMetadata

OrderMetadata에는 주문 중에 수집되거나 추론된 기타 메타데이터가 포함됩니다.

JSON 표현
{
  "collectedCustomerName": string,
  "callerPhoneNumber": string
}
필드
collectedCustomerName

string

선택사항입니다. 주문을 받는 동안 수집된 고객의 이름입니다. 상담사가 고객 이름을 수집하도록 구성된 경우에만 채워집니다. 이 정보는 구두로 수집될 수 있으며 맞춤법 오류나 잘못된 전사가 포함될 수 있으므로 사용자에게 표시할 때 주의해야 하며 결제 정보와 같은 정보로 신뢰해서는 안 됩니다.

callerPhoneNumber

string

선택사항입니다. 주문을 하는 고객의 전화번호입니다.

OrderFulfillment

OrderFulfillment에는 주문 처리에 관한 정보가 포함됩니다.

JSON 표현
{
  "fulfillmentMethod": enum (FulfillmentMethod),
  "createTime": string,
  "targetFulfillmentTime": string
}
필드
fulfillmentMethod

enum (FulfillmentMethod)

선택사항입니다. 주문의 처리 방법입니다.

createTime

string (Timestamp format)

출력 전용입니다. 주문이 생성된 시간입니다.

생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30"입니다.

targetFulfillmentTime

string (Timestamp format)

선택사항입니다. 주문이 처리되도록 예약된 시간입니다. '사전 주문'에 사용됩니다. 제공되지 않으면 주문이 '최대한 빨리' 이루어지는 것으로 간주됩니다.

생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30"입니다.

OrderPriceInfo

OrderPriceInfo는 주문의 다양한 가격 구성요소를 캡슐화합니다.

JSON 표현
{
  "totalPrice": {
    object (Money)
  },
  "subtotalPrice": {
    object (Money)
  },
  "taxPrice": {
    object (Money)
  }
}
필드
totalPrice

object (Money)

선택사항입니다. 모든 세금, 수수료, 할인이 적용된 최종 총 가격입니다.

subtotalPrice

object (Money)

선택사항입니다. 세금, 할인이 적용되기 전 모든 상품 및 수정자의 소계 가격입니다.

taxPrice

object (Money)

선택사항입니다. 주문에 적용된 세액입니다.