Data dictionary
OrderItem
Field | Data type | Required | Description | Example |
storeId | String | Yes | Indicates the unique ID assigned by the SaaS provider or ISV to identify a store, such as a hawker or a restaurant. Maximum length: 255 characters | - |
itemId | String | Yes | Indicates the unique ID assigned by the SaaS provider or ISV to identify an item. Maximum length: 255 characters | "12334545" |
categoryId | String | No | Indicates the ID assigned by the SaaS provider or ISV to identify the category to which the item belongs. Specify this parameter if the item is a single item, for which the value of store.menus.categories.items.saleType parameter is Maximum length: 255 characters | "30000000ca12" |
requestSubOrderId | String | No | Indicates the unique ID assigned by our server to identify an item in the order.
Note:
| "2022050400311864775" |
notAvailableOption | String | No | Indicates the option for the user to choose when the item is not available. For example, remove the item from the order or cancel the entire order. | - |
modifierGroupDetails | String | No | Indicates the user's choices of the modifier group. Note: This parameter is in JSON format containing an Array<ModifierGroupDetail> object (Maximum size: 20 elements). | "[{\"groupId\":\"MG_fd374195e_1abe\",\"itemDetail\":[{\"itemId\":\"M_fe5f-4c34-a2ec-b4261bf9ce06\",\"priceInfo\":{\"currency\":\"SGD\",\"saleAmount\":9},\"quantity\":1,\"requestSubOrderId\":\"\",\"storeId\":\"fd37af44-90ed-48a1-84ba-****\"}]}]" |
skuId | String | No | Indicates the unique ID assigned by the SaaS provider or ISV to identify the SKU that the user selects. Maximum length: 255 characters | "2423423423" |
priceInfo | Yes | Indicates the price information of the item. Note:
| - | |
quantity | Integer | Yes | Indicates the quantity of the item. Value range: 0-unlimited | 1 |
memo | String | No | Indicates the special notes left by the user regarding the item. Maximum length: 2048 characters | "No ice, please" |
ModifierGroupDetail
Field | Data type | Required | Description | Example |
groupId | String | Yes | Indicates the ID assigned by the SaaS provider or ISV to identify a modifier group. Maximum length: 255 characters | "123,456" |
itemDetail | Array<OrderItem> | Yes | Indicates the user's choices of the modifier group. Maximum size: 20 elements | [{\"itemId\":\"M_fe5f-4c34-a2ec-b4261bf9ce06\",\"priceInfo\":{\"currency\":\"SGD\",\"saleAmount\":9},\"quantity\":1,\"requestSubOrderId\":\"\",\"storeId\":\"fd37af44-90ed-48a1-84ba-****\"}] |
DeliveryDetail
For createOrder
Field | Data type | Required | Description | Example |
addressInfo | Yes | Indicates the address details of the user. | - | |
expectedDeliveryTimeStart | Datetime | Yes | Indicates the earliest time that the user expects to receive the order. The value follows the ISO 8601 standard format. | "2022-04-27T12:01:01+08:30" |
expectedDeliveryTimeEnd | Datetime | Yes | Indicates the latest time that the user expects to receive the order. The value follows the ISO 8601 standard format. | "2022-04-27T12:01:01+08:30" |
memoToDeliverymen | String | No | Indicates the user's special instructions for delivery. Maximum length: 2048 characters | - |
For notifyOrderChange
Field | Data type | Required | Description | Example |
expectedDeliveryTimeStart | Datetime | No | Indicates the earliest time that the user expects to receive the order, which is modified after consultation between the user and the merchant. The value follows the ISO 8601 standard format. Note: This field is applicable when the value of orderStatus is | "2022-04-27T12:01:01+08:30" |
expectedDeliveryTimeEnd | Datetime | No | Indicates the latest time that the user expects to receive the order, which is modified after consultation between the user and the merchant. The value follows the ISO 8601 standard format. Note: This field is applicable when the value of orderStatus is | "2022-04-27T12:01:01+08:30" |
estimatedDeliveryTimeStart | Datetime | No | Indicates the earliest time of arrival estimated by the delivery person. The value follows the ISO 8601 standard format. Note: This field is applicable when the value of orderStatus is | "2022-04-27T12:01:01+08:30" |
estimatedDeliveryTimeEnd | Datetime | No | Indicates the latest time of arrival estimated by the delivery person. The value follows the ISO 8601 standard format. Note: This field is applicable when the value of orderStatus is | "2022-04-27T12:01:01+08:30" |
delayReason | String | No | Indicates the reason why the order may be delayed. Valid values are:
Note: This field is applicable when the value of orderStatus is | "WEATHER" |
AddressInfo
Field | Data type | Required | Description | Example |
addressDetail | String | Yes | Indicates the user's address. Maximum length: 255 characters | "Road X, Geyland, Singapore" |
postCode | String | No | Indicates the postcode of the user's address. You can use this parameter to calculate delivery distance and time. Maximum length: 6 characters Notes:
| "311023" |
blockNo | String | No | Indicates the block number. Maximum length: 255 characters | "1212" |
floorNo | String | No | Indicates the floor number. Maximum length: 255 characters | "6" |
unitNo | String | No | Indicates the unit number. Maximum length: 255 characters | "1" |
additionalInformation | String | No | Indicates the additional address information. Maximum length: 255 characters | - |
latitude | String | No | Indicates the latitude of the user's address. You can use this parameter and longitude to calculate delivery distance and time. Value range: -180.000000-180.000000 Notes:
| "11.3548791" |
longitude | String | No | Indicates the longitude of the user's address. You can use this parameter and latitude to calculate delivery distance and time. Value range: -90.000000-90.000000 Notes:
| "13.8308643" |
OrderAmountDetail
Field | Data type | Required | Description | Example |
takeawayFeeAmount | Integer | Yes | Indicates the takeaway charge, which is in the currency's smallest unit. For example, Value range: 0-2147483647 | 10 |
itemFeeAmount | Integer | Yes | Indicates the cost of the items ordered, which is in the currency's smallest unit. For example, Value range: 0-2147483647 Note: To learn how itemFeeAmount is calculated, see itemFeeAmount. | 10 |
smallOrderFeeAmount | Integer | Yes | Indicates the fee to be charged on orders less than the minimum order amount. This field is in the currency's smallest unit. For example, Value range: 0-2147483647 Note: To learn how smallOrderFeeAmount is calculated, see smallOrderFeeAmount. | 10 |
deliveryFeeAmount | Integer | Yes | Indicates the delivery fee, which is in the currency's smallest unit. For example, Value range: 0-2147483647 | 10 |
convenienceFeeAmount | Integer | Yes | Indicates the convenience fee, which is in the currency's smallest unit. For example, Value range: 0-2147483647 | 10 |
PromoDetail
Property | Data type | Required | Description | Example |
promoId | String | Yes | Indicates the unique ID assigned by our server to identify a promotion. Maximum length: 64 characters | - |
promoType | String | Yes | Indicates the type of promotion. Valid values are:
| "COUPON" |
promoName | String | No | Indicates the name of the promotion. Maximum length: 256 characters | - |
discountAmount | Yes | Indicates the amount that is reduced. | - | |
extendInfo | String | No | Indicates the extended information about the promotion.
Note: Pass the promoInvestorType parameter to specify the investor who funds the marketing promotions. Valid values are:
| "{\"promoInvestorType\":\"PLATFORM\"}" |
PriceInfo
Field | Data type | Required | Description | Example |
originAmount | Integer | No | Indicates the original sale price, which is in the currency's smallest unit. For example, Value range: 0-2147483647 Note:
| 10000 |
saleAmount | Integer | Yes | Indicates the actual sale price, which is in the currency's smallest unit. For example, Value range: 0-2147483647 | 9999 |
currency | String | Yes | The 3-character currency code that follows ISO-4217. For example, SGD, USD, or CNY. | "SGD" |
Amount (1)
Note: This data model is used in the following parameters:
- The createOrder API
- promoDetails.discountAmount
- extendInfo.paymentMethodAmountDetails
- The notifyOrderChange API
- extendInfo.rebatedAssets
- The inquireOrderDetail API
- extendInfo.rebatedAssets
- The consult API
- extendInfo.merchantPromotions.discountAmount
For other parameters using the Amount object, refer to Amount (2).
Field | Data type | Required | Description | Example |
currency | String | Yes | Indicates the 3-letter currency code that follows the ISO 4217 standard. For example, SGD, USD, CNY. | "SGD" |
amountValue | Integer | Yes | Indicates the amount to charge, which is in the smallest currency unit. For example, Value range: 0-2147483647 | 9999 |
Amount (2)
Field | Data type | Required | Description | Example |
value | Integer | Yes | Indicates the value of the amount which is in the currency's smallest unit. For example, 10000 means 100.00 in SGD.
| 10000 |
currency | String | Yes | Indicates the 3-character currency code that follows ISO-4217. For example, SGD, USD, or CNY.
| "SGD" |
Result
Field | Data type | Required | Description | Example |
resultStatus | String | Yes | Indicates the result status. Valid values are:
| "S" |
resultCode | String | No | Indicates the result code.
| - |
resultMessage | String | No | Indicates the result messages that describe the result code in detail.
| - |
OrderStoreSnapshot
Field | Data type | Required | Description | Example |
id | String | No | Indicates the unique ID assigned by D-store Platform to identify a store. Maximum length: 255 characters | "2102010113769***" |
image | Array<String> | No | Indicates the image URLs of the store. Maximum size: 5 elements Element maximum length: 255 characters | - |
title | String | No | Indicates the title of the store. Maximum length: 255 characters | "Sample *** @ Braddell" |
tpId | String | No | Indicates the unique ID assigned by the SaaS provider or ISV to identify a store. Maximum length: 255 characters | "fd37af44-90ed-48a***********" |
timeZone | String | No | Indicates the time zone where the store is located. | "GMT+08:00" |
address | String | No | Indicates the address of the store. Maximum length: 255 characters | - |
mccCodeType | String | No | Indicates the merchant category code, for example, | - |
contactPhoneNos | Array<String> | No | Indicates the contact numbers of the store. Maximum size: 3 elements Element maximum length: 64 characters | - |
locationDomain | No | Indicates the geographical location of the store. | {\"latitude\":\"1.33****\",\"longitude\":\"103.858****\"} |
LocationDomain
Field | Data type | Required | Description | Example |
latitude | String | No | Indicates the latitude of the location. Value range: -180.000000 - 180.000000 | "40.659569" |
longitude | String | No | Indicates the longitude of the location. Value range: -90.000000 - 90.000000 | "-73.851524 |
postCode | String | No | Indicates the postcode of the location.
| "310000" |
UserInfo
Field | Data type | Required | Description | Example |
userName | String | No | Indicates the user's name. Maximum length: 64 characters | "John Doe" |
userPhone | String | No | Indicates the user's phone number.
The value follows the [+][country code][area code without leading 0][local phone number] format, for example, | "+86156****721" |
userEmail | String | No | Indicates the user's email address. Maximum length: 64 characters | "email@example.com" |
userAddress | String | No | Indicates the user's address. Maximum length: 255 characters Note: This parameter is required when the value of orderType is | - |
userLatitude | String | No | Indicates the latitude of the user's location. You can use this parameter and userLongitude to calculate delivery distance and time. Value range: -180.000000-180.000000 Notes:
| "11.3548791" |
userLongitude | String | No | Indicates the longitude of the user's location. You can use this parameter and userLatitude to calculate delivery distance and time. Value range: -90.000000-90.000000 Notes:
| "13.8308643" |
userPostCode | String | No | Indicates the postcode of the user's location. You can use this parameter to calculate delivery distance and time.
Notes:
| "574408" |
cardNo | String | No | Indicates the unique card number generated by the SaaS provider or ISV to identify a card.
| - |
SellerInfo
Field | Data type | Required | Description | Example |
sellerStoreId | String | Yes | Indicates the unique ID assigned by the SaaS provider or ISV to identify a merchant's store. Maximum length: 255 characters | "2022120611151100021000620064****" |
sellerName | String | Yes | Indicates the merchant's name. Maximum length: 255 characters | "1206_01store" |
sellerPhone | String | No | Indicates the merchant's phone number.
The value follows the [+][country code][area code without leading 0][local phone number] format, for example, | "+86183****678" |
sellerAddress | String | No | Indicates the merchant's address. Maximum length: 255 characters | - |
sellerLatitude | String | No | Indicates the latitude of the merchant's location. Value range: -180.000000 - 180.000000 Note:
| "1.3548791" |
sellerLongitude | String | No | Indicates the longitude of the merchant's location. Value range: -90.000000 - 90.000000 Note:
| "103.8308643" |
sellerPostCode | String | No | Indicates the postcode of the merchant's location.
Note: Either sellerLatitude and sellerLongitude or sellerPostCode must be provided. | "574408" |
ConsultOrderAmountDetail
Field | Data type | Required | Description | Example |
totalAmount | Yes | Indicates the total order amount for the user to pay. | { "currency": "SGD", "value": 1910 } | |
itemFeeAmount | Yes | Indicates the cost of the items ordered. | - | |
takeawayFeeAmount | No | Indicates the takeaway charge. |
| |
deliveryFeeAmount | No | Indicates the delivery fee. |
| |
taxAmount | No | Indicates the sales tax on the order. | - | |
taxSeparatelyCharged | Boolean | No | Specifies whether the sales tax is separately stated in the order total. If the value is Note: The value is | true |
serviceChargeAmount | No | Indicates the service charge. | - | |
handlingFeeAmount | No | Indicates the handling fee. | - | |
tipsAmount | No | Indicates the tip amount. | - | |
roundAmount | No | Indicates the rounded amount. | - | |
smallOrderFeeAmount | No | Indicates the fee to be charged on orders less than the minimum order amount. | - | |
extendInfo | Map<String,String> | No | Indicates the extended information about the amount details. | - |
AdjustAmount
Field | Data type | Required | Description | Example |
type | String | Yes | The way to adjust the order amount. Valid value is:
| "REDUCE" |
adjustPrice | Yes | The amount to be adjusted for the order. Notes:
| {"value":100,"currency":"SGD"} |