Data dictionary
Store
Note: To insert data for a store, the required parameters include storeId, name, type, location, contacts, and serviceSchedules.
Field | Data type | Required | Description | Example |
storeId | String | Yes | Indicates the unique ID assigned by the SaaS provider or ISV to identify a store.
| "AMP-YW4****" |
areaId | String | No | Indicates the unique ID to identify a shopping area to which the store belongs.
Note:
| "2022011211500900011641974730****" |
brandId | String | No | Indicates the unique ID to identify a brand to which the store belongs.
Note:
| "2022011211500900011641974730****" |
name | No | Indicates the name of the store, which supports multiple languages. | {"value":{"zh-CN":"肯德基","en-US":"KFC"}} | |
type | String | No | Indicates the type of the store. Valid values are:
| "RESTAURANT" |
location | No | Indicates the geographic location of the store. | - | |
contacts | Array<ContactDetail> | No | Indicates the contact information of the store.
| - |
status | String | No | Indicates the status of the store. Valid values are:
Note:
| "OPEN" |
serviceSchedules | Array<ScheduleRule> | No | Indicates the store's operating schedules, which means when the store can accept orders.
Note: When multiple schedule rules are hit, the valid rule with the largest index in the array shall prevail. | - |
bizRules | Array<BusinessRule> | No | Indicates the store's operating rules for different business scenarios or service types, such as pickup rules or delivery rules.
| - |
contents | Array<ContentModel> | No | Indicates the content display for the store, such as store announcements or descriptions.
| - |
menus | Array<Menu> | No | Indicates the menu list of the store.
| - |
extendInfo | Object | No | Indicates the extended information of the store.
Note: For the following keys specified by D-store Platform, pass the corresponding parameter values:
| - |
Location
Note: It is recommended that you specify the longitude and latitude for a store.
- For Singapore-based SaaS providers, specifying only the postcode is supported, which can be converted to longitude and latitude, but the accuracy is not guaranteed.
- For those based in other regions, please specify both the longitude and latitude for a store.
Field | Data Type | Required | Description | Example |
address | Yes | Indicates the address information, which supports multiple languages. | - | |
longitude | String | No | Indicates the longitude of the location. Value range: -90.000000 - 90.000000 Note: If latitude is provided, then longitude must be provided. | "-73.851524" |
latitude | String | No | Indicates the latitude of the location. Value range: -180.000000 - 180.000000 Note: If longitude is provided, then latitude must be provided. | "40.659569" |
postCode | String | No | Indicates the postcode of the location.
| "310000" |
ScheduleRule
Field | Data Type | Required | Description | Example |
scheduleType | String | Yes | Indicates the type of the schedule. Valid values are:
| “WEEKLY” |
startTime | Datetime | No | Indicates the date and time when the schedule takes effect. The value follows the ISO 8601 standard format. Note: If this parameter is not specified, the schedule will take effect immediately. | "2022-06-01T12:01:01+08:00" |
endTime | Datetime | No | Indicates the date and time when the schedule ends. The value follows the ISO 8601 standard format. Note: If this parameter is not specified, there is no expiration date after the schedule takes effect. | "2022-12-31T12:01:01+08:00" |
serviceStatus | String | No | Indicates the availability of the service. Valid values are:
Note:
| "ON" |
schedules | Map<String, Array<TimePeriod>> | Yes | Indicates the details of the schedule, represented as key-value pairs.
| - |
supportDays | Integer | No | Indicates the number of days the schedule is applied to, for example, 1 for today, 2 for today and tomorrow, etc.
Note: This parameter is only applicable when the value of store.bizRules.scene is | 1 |
BusinessRule
BusinessRule for Store
Field | Data Type | Required | Description | Example |
scene | String | Yes | Indicates the scene of the business rule. Valid values are:
Note: For different scenes, specify different values to the ruleData parameter as required. | "DELIVERY_DISTANCE" |
ruleData | String | Yes | Indicates the data to be synchronized based on different scenes.
| - |
BusinessRule for Item
Field | Data type | Required | Description | Example |
scene | String | Yes | Indicates the scene of the business rule. Valid values are:
Note: For different scenes, specify different values to the ruleData parameter as required. | "PRICE_SCHEDULE" |
ruleData | String | Yes | Indicates the data to be synchronized based on different scenes.
| - |
BusinessRule for SKU
Field | Data type | Required | Description | Example |
scene | String | Yes | Indicates the scene of the business rule. The valid value is:
Note: For different scenes, specify different values to the ruleData parameter as required. | "PRICE_SCHEDULE" |
ruleData | String | Yes | Indicates the data to be synchronized based on different scenes.
| - |
PickUpRule
Field | Data type | Required | Description | Example |
minimumOrderAmount | No | Indicates the minimum order amount for orders. | {"currency":"SGD","value":10000} | |
pickUpAddress | Yes | Indicates the location for users to pick up their food, which supports multiple languages. | - | |
pickUpContactDetails | Array<ContactDetail> | Yes | Indicates the contact information of the pickup location.
| - |
FeeRule
Field | Data type | Required | Description | Example |
from | Integer | Yes | Indicates the start of a distance range, in meters.
| 1000 |
to | Integer | Yes | Indicates the end of a distance range, in meters.
| 5000 |
fee | Yes | Indicates the delivery fee. | { "currency": "SGD", "value": 2000 } | |
minimumOrderAmount | No | Indicates the minimum order amount for orders. | { "currency": "SGD", "value": 10000 } | |
discounts | Array<DiscountRule> | No | Indicates the discount rules.
| [{"discountType":"REDUCE","thresholdAmount":{"currency":"SGD","value":1000},"discountValue":"{\"currency\": \"SGD\", \"value\":1000}"},{"discountType":"PERCENTAGE","thresholdAmount":{"currency":"SGD","value":2000},"discountValue":"20"},{"discountType":"EXEMPTION","thresholdAmount":{"currency":"SGD","value":3000}}] |
DineInOrderRule
Field | Data type | Required | Description | Example |
isTableNoRequired | Boolean | Yes | Specifies whether the user needs to fill in the table number when scanning a QR code to order. If the value is | true |
serviceType | String | Yes | Indicates the service type of a dine-in order. Valid values are:
| "SELF_COLLECT" |
PriceScheduleRule
Field | Data type | Required | Description | Example |
from | Datetime | Yes | Indicates the date and time when the pricing schedule takes effect. The value follows the ISO 8601 standard format. | "2022-11-27T12:01:01+08:00" |
to | Datetime | Yes | Indicates the date and time when the pricing schedule ends. The value follows the ISO 8601 standard format. Note: to must be equal to or later than from. | "2022-12-27T12:01:01+08:00" |
weekDays | Array<String> | Yes | Indicates the list of days for each week. Valid values are:
Maximum size: 7 elements | ["MONDAY","SUNDAY"] |
timeSlot | Yes | Indicates the business hours, which means the continuous time spans during which the item or SKU is available. | - | |
originAmount | Integer | No | Indicates the original sale price, which is in the currency's smallest unit. For example,
Note:
| 10000 |
saleAmount | Integer | Yes | Indicates the actual sale price, which is in the currency's smallest unit. For example,
| 9999 |
currency | String | Yes | The 3-character currency code that follows ISO-4217. For example, SGD, USD, or CNY.
| "SGD" |
ItemStatusRule
Field | Data type | Required | Description | Example |
from | Datetime | Yes | Indicates the date and time when the item status rule takes effect. The value follows the ISO 8601 standard format. | "2019-11-27T12:01:01+08:00" |
to | Datetime | Yes | Indicates the date and time when the item status rule ends. The value follows the ISO 8601 standard format. Note: to must be equal to or later than from. | "2022-12-27T12:01:01+08:00" |
weekDays | Array<String> | Yes | Indicates the list of days for each week. Valid values are:
Maximum size: 7 elements | ["MONDAY","SUNDAY"] |
timeSlot | Yes | Indicates the business hours, which means the continuous time spans during which the item is available. | - | |
itemStatus | String | Yes | Indicates the status of the item. Valid values are:
| "SOLDOUT" |
SkuStatusRule
Field | Data type | Required | Description | Example |
from | Datetime | Yes | Indicates the date and time when the SKU status rule takes effect. The value follows the ISO 8601 standard format. | "2019-11-27T12:01:01+08:00" |
to | Datetime | Yes | Indicates the date and time when the SKU status rule ends. The value follows the ISO 8601 standard format. Note: to must be equal to or later than from. | "2022-12-27T12:01:01+08:00" |
weekDays | Array<String> | Yes | Indicates the list of days for each week. Valid values are:
Maximum size: 7 elements | ["MONDAY","SUNDAY"] |
timeSlot | Yes | Indicates the business hours, which means the continuous time spans during which the SKU is available. | - | |
skuStatus | String | Yes | Indicates the status of the SKU. Valid values are:
| "AVAILABLE" |
DiscountRule
Field | Data type | Required | Description | Example |
orderThresholdAmount | Yes | Indicates the threshold order amount for the discount to take effect. | { "currency": "SGD", "value": 1000 } | |
discountType | String | Yes | Indicates the type of discount on delivery fees. Valid values are:
| "REDUCE" |
discountValue | String | No | Indicates the specific discount of the delivery fee. The value may vary based on different discount types.
| - |
TimePeriod
Field | Data type | Required | Description | Example |
startTime | String | Yes | Indicates the start time, which is in the format of 24-hour HH:MM with time zone. Note: The time zone must be the same for the same store. | "00:00+08:00" |
endTime | String | Yes | Indicates the end time, which is in the format of 24-hour HH:MM with time zone. Note: The time zone must be the same for the same store. | "23:59+08:00" |
MultiLanguageText
Field | Data type | Required | Description | Example |
value | Map<String,String> | Yes | Indicates the key-value pairs of the multi-language content. The key is the language code, such as
Note: The display language is based on the language preference on the user's device. If you do not specify the user's preferred language in this parameter, English is displayed by default. You must specify the en-US key to support the default language in mini programs. | {"zh-CN":"肯德基","en-US":"KFC"} |
Amount
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" |
ContentModel
Field | Data Type | Required | Description | Example |
type | String | Yes | Indicates the type of the content. Valid values are:
| "IMAGE" |
scene | String | Yes | Indicates the usage scenario of the content. Valid values are:
Note:
| "DESCRIPTION" |
value | String | Yes | Indicates the value of the content. Note:
| "{\"value\":{\"en-US\":\"This is a Chinese food restaurant!\"}}" |
ContactDetail
Field | Data Type | Required | Description | Example |
name | Yes | Indicates the name of the contact person, which supports multiple languages. | {"value":{"en-US":"will"}} | |
phoneNo | String | Yes | Indicates the phone numbers of the contact person. The value follows the [+][country code][area code without leading 0][local phone number] format, for example,
| "+658812****" |
BannerModel
Field | Data type | Required | Description |
imageUrl | String | Yes | Indicates the image URL of the banner.
|
landingUrl | String | Yes | Indicates the URL address to which the user is redirected when clicking the banner.
|
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,
Note:
| 10000 |
saleAmount | Integer | Yes | Indicates the actual sale price, which is in the currency's smallest unit. For example,
| 9999 |
currency | String | Yes | The 3-character currency code that follows ISO-4217. For example, SGD, USD, or CNY.
| "SGD" |
QuantityRule
Field | Data type | Required | Description | Example |
max | Integer | Yes | Indicates the maximum number of items a user can choose.
Note: max must be greater than or equal to min. | 2 |
min | Integer | Yes | Indicates the minimum number of items a user can choose.
| 1 |
Menu
Note: To insert data for a menu, the required parameters include menuId, name, and type.
Field | Data type | Required | Description | Example |
menuId | String | Yes | Indicates the unique ID assigned by the SaaS provider or ISV to identify a menu.
| "000000032" |
name | No | Indicates the title of the menu, which supports multiple languages. | - | |
type | String | No | Indicates the type of the menu. Valid values are:
Note:
| "PICKUP" |
status | String | No | Indicates the status of the menu. Valid values are:
Note:
| "VALID" |
minPrepareMinutes | Integer | No | Indicates how much time it at least takes to prepare, in minutes.
Note: When inserting data, the default value is | 15 |
categories | Array<Category> | No | Indicates the categories of the menu.
| - |
extendInfo | Object | No | Indicates the extended information of the menu.
Note: For the following keys specified by D-store Platform, pass the corresponding parameter values:
| - |
Category
Note: To insert data for a category, the required parameters include categoryId and name.
Field | Data type | Required | Description | Example |
categoryId | String | Yes | Indicates the unique ID assigned by the SaaS provider or ISV to identify a category.
| "0000000004" |
name | No | Indicates the title of the category, which supports multiple languages. | - | |
status | String | No | Indicates the status of the category. Valid values are:
Note:
| "ACTIVE" |
iconUrl | String | No | Indicates the URL address of the category image.
| - |
sequence | Integer | No | Indicates the sequence of the category. Value range: 0-9999 Note:
| 9999 |
items | Array<Item> | No | Indicates the items that are classified into a category.
| |
extendInfo | Object | No | Indicates the extended information of the category.
Note: Specify this parameter in key-value pairs with the following valid keys:
If not specified, the value is |
Item
Note: To insert data for an item, the required parameters include itemId, name, saleType, and saleAmount.
Field | Data type | Required | Description | Example |
itemId | String | Yes | Indicates the unique ID assigned by the SaaS provider or ISV to identify an item.
Notes:
| "100000000it32" |
commonItemId | String | No | The unique ID that is assigned by the SaaS provider or ISV to identify the same item under different categories, menus, or stores.
Notes:
| |
name | No | Indicates the title of the item, which supports multiple languages. | - | |
status | String | No | Indicates the status of the item. Valid values are:
Note:
| "AVAILABLE" |
saleType | String | No | Indicates the sale type of the item. Valid values are:
Note: When the value of saleType is | "SINGLE" |
sequence | Integer | No | Indicates the sequence of the single item or add-on item. Value range: 0-65535 Note:
| 65535 |
quantityRule | No | Indicates the quantity rule of the item. Note: When inserting data, the default rule is | - | |
bizRules | Array<BusinessRule> | No | Indicates the business rules of the item, for example, the pricing rules based on different time periods or the item availability rules.
Note: Make sure the value of items.bizRules.scene is unique. | |
skuPropertyGroups | Array<SkuPropertyGroup> | No | Indicates possible SKU property groups.
Note: For items with SKU information, both skus and skuPropertyGroups are required. For more information, see How to specify skus and skuPropertyGroups. | |
skus | Array<Sku> | No | Indicates SKU details, for example, price.
Note: For items with SKU information, both skus and skuPropertyGroups are required. For more information, see How to specify skus and skuPropertyGroups. | |
originAmount | No | Indicates the original sale price of the item.
Note:
| ||
saleAmount | No | Indicates the actual sale price of the item.
| ||
contents | Array<ContentModel> | No | Indicates the content display for the item, such as description.
| |
modifierGroups | Array<ModifierGroup> | No | Indicates the details of modifier groups.
Note:
| |
extendInfo | Object | No | Indicates the extended information of the item.
Note: For the following keys specified by D-store Platform, pass the corresponding parameter values:
|
Sku
Field | Data type | Required | Description | Example |
skuId | String | Yes | Indicates the unique ID assigned by the SaaS provider or ISV to identify an SKU.
| "40000000sk54" |
contents | Array<ContentModel> | No | Indicates the content display for the SKU, such as description.
| |
skuPropertyPairs | Map<String,String> | Yes | Indicates the SKU combination, which is represented as key-value pairs.
Note: Within one item (specified in the itemId parameter), the key-value pairs for any SKU (specified in the skuId parameter) must be unique and cover all SkuPropertyGroup.skuGroupId you pass.
| {"size":"large","doneness":"rare"} |
originAmount | No | Indicates the original sale price.
Note:
| 10000 | |
saleAmount | Yes | Indicates the actual sale price.
| 9999 | |
bizRules | Array<BusinessRule> | No | Indicates the business rules of the item, for example, the pricing rules based on different time periods or the SKU availability rules.
Note: Make sure the value of skus.bizRules.scene is unique. |
SkuPropertyGroup
Field | Data type | Required | Description | Example |
skuGroupId | String | Yes | Indicates the unique key to identify an SKU group in the item.
Note: English only. Not used for UI display in the mini program. | "size" |
name | Yes | Indicates the SKU group name, which supports multiple languages. Note: Used for UI display in the mini program. | - | |
properties | Array<SkuProperty> | Yes | Indicates a list of properties in the SKU group.
| - |
SkuProperty
Field | Data type | Required | Description | Example |
propertyId | String | Yes | Indicates the unique value to identify a property in the SKU property group.
Note: English only. Not used for UI display in the mini program. | "small" |
name | Yes | Indicates the SKU property name, which supports multiple languages. Note: Used for UI display in the mini program. | - |
ModifierGroup
Note: To insert data for a modifier group, the required parameters include groupId, name, quantityRule, and childItems.
Field | Data type | Required | Description | Example |
groupId | String | Yes | Indicates the unique ID assigned by the SaaS provider or ISV to identify a modifier group. A modifier group can belong to multiple items.
| "1000000gr23" |
name | Yes | Indicates the name of the modifier group, which supports multiple languages. | {"value": {"en-US": "add-on"}} | |
sequence | Integer | No | Indicates the sequence of the modifier group. Value range: 0-65535 Note:
| 65535 |
quantityRule | Yes | Indicates the quantity rule that constrains the total number of add-on items that can be ordered within a modifier group. For example, | {"max":4,"min":1} | |
childItems | Array<Item> | Yes | Indicates a list of add-on items in the modifier group.
Note: If itemId of multiple items in the same modifier group in the store is the same, it means that the same item object can be used in multiple modifier groups and the data in the first record will be gained. | - |
extendInfo | Object | No | Indicates the extended information of the modifier group.
| - |
Result
Property | 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.
| - |