Skip to content

产品与分类

概览

产品是您销售的商品。您必须先有产品才能开单销售——而且多项积分功能 (印花卡折扣代金券)都会针对特定产品或分类生效,因此值得花心思整理。

产品被分组到分类中,并可以选择性地用产品类型进行标记。

默认设置

Bean & Brew 示例: 一个名为 Coffee 的分类,里面有一个 Latte 产品。

1. 创建分类

  1. 在侧边栏中打开 Products → Product Categories,然后点击 Create
  2. 设置 Name(Coffee)、Order 编号,可选地设置颜色和图片。
  3. 保存。

2. 创建产品

  1. 打开 Products → Products,然后点击 Create
  2. Basic info 中:添加图片、Name(Latte)、Category (Coffee)和 Code
  3. Pricing 中:设置价格,并将 Loyalty Ratio 保持为 Default Ratio
  4. 保存,然后对其余产品重复此操作。

Products → 创建表单

产品列表

Products → Products (/products) 会打开一个包含所有产品的数据网格,按最近更新时间排序。每一行显示:

显示内容
Image产品缩略图。
Name产品名称。
Code产品编号。点击即可复制到剪贴板。当您的产品超过 300 个时,按编号排序会被无声地禁用。
Source产品的来源(rewardly / eats365-menu / shopify / vend)。
Tags产品的标签。
TypeSingleComboVariant
Categories产品所属的分类。
Track Quantity一个 Yes / No 标签。
Exclude from Discount产品是否被排除在折扣之外。
Visible OnChannels 标签——kiosk、pos、customer、grab、foodpanda、deliveroo、keeta。
Dine-In / Takeout / Delivery price各 Channel 的价格标签;当该 Channel 启用时显示为绿色,关闭时显示为红色

行操作

  • Clone / duplicate — 复制图标会复制该记录,在编号后追加 _<timestamp>,并打开一个预填的创建表单,让您调整并保存一个几乎相同的产品。
  • Export — 确认后,将所有已筛选的产品导出为一个层级丰富的 CSV,其中包含 modifier、combo、运营时间和价格层级。由于它覆盖整个筛选结果集,文件可能会很大。

筛选器

点击 Filter 可按以下条件缩小列表范围:

  • Search nameoutletscategoriestags
  • Product Type — product / membership / program / storeValue。
  • Type — single / combo / variant。
  • Source — rewardly / eats365-menu / shopify / vend。
  • Visible On Channel。
  • Dine-in / Takeout / Delivery(布尔值)。
  • No Tag — 没有标签的产品。

批量操作

选择一行或多行以显示批量操作:

  • Bulk Delete — 删除每个选中的产品。
  • Bulk Update — 一排复选框(Track QuantityExclude from DiscountTrack IngredientsDine-InTakeoutDelivery)以及 Enable / Disable 按钮。勾选您想更改的字段,然后点击 Enable 或 Disable,即可一次性为每个选中的产品设置这些布尔字段。

一次编辑多个产品

使用 Bulk Update 可在整个产品分类范围内开启或关闭某个 Channel,或开启 Track Quantity,而无需逐个打开产品。

产品分类

打开 Products → Product Categories (/productCategories)。分类将相关的产品分组在一起。关键字段:

字段作用
Name分类名称。
Order在列表中的位置。必须 ≥1 且唯一。创建时表单会自动建议下一个空闲编号(当前最大值 + 1);唯一性会与您现有的分类进行校验。
Color / Image视觉样式。
Product TypeProductMembershipProgramStore Value。切换类型会清除已设置的任何 membership/program/store-value 关联。
Source分类的来源。创建时锁定为 rewardly。从 eats365-menushopifyvend 同步的分类会被来源锁定,并以只读方式显示其来源 ID。
Outlets哪些 Outlet 显示该分类。
Age Restriction将该分类标记为有年龄限制。默认开启。
Visible on哪些 Channels 显示该分类——Kiosk、POS、Customer 和外卖平台(Grab、Foodpanda、Deliveroo、Keeta)。新分类默认为 Kiosk、POS 和 Customer。
Potential Quantity Limit该分类的可选数量上限。
Start / End datetime分类处于活动状态的时间窗口。设置结束时间会自动将其时间设为 23:59:59 并开启 has end time
Time Slots按 Channel、按工作日的可用时间窗口,以 HH:mm 格式的时间对录入。
Tags应用到该分类的产品标签。使用内联的 + Add new tag 提示可在不离开表单的情况下创建或查找标签。
Container discount可选的分类级整体折扣——见下文。

Order 唯一性

Order 编号会在您的浏览器中针对最多 500 个分类进行校验。如果您的分类数量超过此值,请在保存前再次确认该编号是空闲的。

Container discount

Container discount 用于饮料容器 / 杯子押金的视觉展示。它包含:

  • 一个 discount value 和一个 type —— percentagefixed
  • 一组命名的 container colours,每个都有自己的取色器,以便 POS 能为押金显示正确的杯子或容器视觉效果。

产品字段

产品表单较大。其主要部分包括:

部分涵盖内容
Basic info图片、名称、简称、品牌、描述、分类、编号/条码、Outlets,以及该产品可见的 Channels。
Pricing各服务类型的价格(堂食 / 外带 / 配送)、open price,以及下方的积分设置
Inventory库存跟踪。
Cover images额外的产品图片。
Modifiers加料和选项(例如奶选、加一份浓缩)。
Variants如尺寸或口味等变体,每个变体可有自己的价格和库存。
Combo将多个产品打包成一个组合产品。
Availability / Time slots产品可售的时间和地点。

积分关联

这些产品字段决定了产品在您的积分功能中的行为:

字段作用
Loyalty RatioDefault Ratio = 按积分计划的比例累积积分。No Loyalty = 不累积积分。Custom Ratio = 仅按该产品的专属比例累积积分。
Exclude from discount即使存在有效的折扣,该产品也永远不会被打折。
Only Buy With Voucher该产品只能通过代金券获取。
Only Buy With Member只有会员才能购买该产品。

按产品设置累积比例

对高毛利商品使用 Custom Ratio 以更快累积积分,或对您不想给予奖励的商品 (如礼品卡)使用 No Loyalty

产品类型、Channels 与价格

除基础内容外,产品表单还提供了若干可配置字段:

字段作用
Product TypeProductMembershipProgramStore Value。选择任何非 product 类型都会显示一个关联选择器,用于选取对应的 membership、program 或 store-value 记录。
TypeSingleComboVariant。Variant 产品驱动一套独立的 variant/SKU 模型(见 Variant Attributes)。
Is Dine-in / Is TakeOut / Is Delivery各 Channel 的可售开关,每个都有自己的价格。
Open Price允许收银员在 POS 上输入价格,而不使用固定价格。

税费与附加费

字段作用
Has Tax该产品需要纳税。
Has Secondary Tax应用 Outlet 的二级税。取决于 Outlet 的 secondaryTaxes 配置(Outlet → Order 标签页)。
Has Service Charge应用 Outlet 的服务费。取决于 Outlet 的 serviceChargeType 配置(Outlet → Order 标签页)。

新加坡合规

对于新加坡的 Outlet,表单会增加合规字段:

字段作用
BCRS Deposit Mark将该产品标记为带有 Beverage Container Return Scheme 押金。
Nutri-GradeShow Nutri-Grade SymbolNutri-Grade Symbol 本身、Show Healthier Choice Symbol,以及用于打印/显示等级的 sugar level %
Age Restriction将该产品标记为有年龄限制。

Best Before、条码与购物车行为

字段作用
Best BeforeIs Best Before Date Enabled,然后以 Hours / Days / Months 设置 Best Before By,外加自由文本 Best Before Info
Barcode Type产品的条码格式。
Auto add to cart按 Channel(dine-in / pick-up / delivery)自动将产品加入购物车,并带有 Min order amount 阈值。
Upsell将该产品标记为可作为追加销售推荐。
Special Request启用特殊要求备注,并带有一个 level

运营时间 / Time Slots

按工作日设置 startend 时间,以控制产品的可售时间。

价格层级

每个产品都可以带有按产品设置的 Pricing Tiers —— 在某个价格规则下生效的替代价格,例如欢乐时光或会员层级。

库存与配料

Inventory 部分,除库存跟踪外,您还可以设置:

字段作用
Track ingredients当产品售出时扣减配方配料。
Ingredient Bundles附加到产品上的可复用配料配方。
Ingredients产品消耗的单个配料。

Variant 产品与库存

Variant 产品(Type = Variant)会生成一套独立的 variant/SKU 模型。每个变体都带有自己的价格和库存,并在 Inventory(Product Inventories)下管理,依托于在 Variant Attributes 中定义的可复用选项。

Modifiers

Modifier(修饰项)是顾客为产品选择的加料和选项——例如牛奶选择、鸡蛋做法、额外配料。一个产品可以有多个 modifier 分组(例如 "Add on"),每个分组包含一组选项(例如 Sunny Side UpOver Well)。

每个分组在其标题处有几项设置:

字段作用
Name分组的显示名称。
Mandatory在将产品加入购物车前强制顾客做出选择。
Selection Min / Max对于多选分组,顾客可选择的最少和最多选项数。

选项本身在一个表格中编辑(向右滚动可查看后面的列):

作用
Image选项的可选图片。
Option Name / Short Name向顾客显示的名称,下方为(打印在小票上的)简称。
Add-on Price选项的加价,按用餐方式分别设置——Dine-in / Takeout / Delivery。
Active选项的总开关。关闭后会在所有地方隐藏该选项,但不会丢失其设置。
Channels哪些 Channel 提供该选项——POSKioskCustomer
Dining mode哪些用餐方式提供该选项——Dine-inTake-outDelivery
Quantity对于多选分组:该单个选项的 MinMaxDefault 数量。对于单选分组,此列会收起为一个 Default 开关,用于标记预选选项。
Nutrition选项的卡路里、蛋白质、碳水和脂肪。
Master Modifier将选项关联到共享的 master modifier 以进行库存追踪
Track Ingredients选项售出时扣减配方配料的开关。
Ingredient Bundles附加到选项上的可复用配料配方。

Channel 与用餐方式的可用性

ChannelsDining mode 复选框控制每个选项在哪里出现:

  • 全部勾选(默认)——选项会在产品出现的所有地方出现。
  • 取消勾选某一项——该选项在对应的 Channel 或用餐方式上隐藏。例如做一个仅限自助机的加购,只勾选 Kiosk
  • 全部取消勾选——选项被完全隐藏(与关闭 Active 的最终效果相同;但当你想要快速、非破坏性的开关时,Active 更清晰)。

可用性只会收窄,绝不会扩展

modifier 选项只能在产品本身可见的地方出现。即使在选项上勾选 Customer,如果产品自身的 Visible On 排除了 Customer,它也不会出现在 customer app 中——选项的复选框只会进一步限制可用性,绝不会扩展产品的覆盖范围。用餐方式相对于产品自身的 dine-in / takeout / delivery 设置同理。

产品类型

产品类型是用来给产品分门别类的一个简单标签。打开 Products → Product Types (/productTypes) 进行创建——表单只有一个 Name 字段。

产品 Variant Attributes

打开 Products → Variant Attributes (/product-variant-attributes) 可管理可复用的属性——例如 SizeColour —— 供 variant 类型的产品使用。这是您要编辑的目录,用于添加多个 variant 产品可共享的新尺寸或颜色选项。

每个属性具有以下字段:

字段作用
Name属性名称(例如 Size)。
Description可选的描述。
Is Required是否必须为此属性选择一个值。
Is Active该属性是否正在使用。创建时默认为启用。
Possible Values选项列表。每个值都有一个 value、一个 display name 和一个 sort order

这些属性为 Variant(Type = Variant)产品提供数据。此类产品的每个变体都是它自己的 SKU,带有自己的价格和库存,并在 Inventory(Product Inventories)下管理。

一次在所有地方添加一个选项

要在所有 variant 产品中提供新的尺寸或颜色,请在此处相关的 Variant Attribute 上将其添加为一个 Possible Value —— 使用该属性的产品会自动获取它。

相关内容