菜单管理
餐厅 下的“菜单”标签页是您构建顾客在 handy.cafe/{slug} 上看到的目录的位置。菜单由分类和商品组成。商品可以带有变体组,用于选择尺码或加料等选项。
结构
| 层级 | 作用 |
|---|---|
| 分类 | 菜单中的一个板块,例如“热饮”或“汉堡”。每个分类都带有一个图标和排序顺序。 |
| 商品 | 分类中的单个可点选项目。它包含名称、描述、图片、价格、增值税率和备餐时间。 |
| 变体组 | 可选。附加到商品上的选项集合,例如“尺码:小、中、大”。每个变体都带有递增价格。 |
分类
每个分类都有以下字段:
| 字段 | 含义 |
|---|---|
| 名称 | 在顾客菜单中显示为分类标题。 |
| 图标 | 一个 MDI(Material Design Icons)名称。从图标选择器中选取。 |
| 排序顺序 | 整数。数字越小越靠前。可通过拖动或上移/下移按钮调整。 |
| 启用 | 关闭后,该分类及其所有商品会从顾客菜单中隐藏,但不会被删除。 |
添加分类
- 打开 餐厅 > 菜单。
- 点击 添加分类。
- 输入名称。
- 点击图标框并选择一个 MDI 图标。选择器会打开一个可搜索列表。可以尝试输入“coffee”“burger”或“pizza”等关键词。
- 保存。该分类会出现在菜单编辑器中。
重排分类
拖动分类行上的把手即可移动分类。松开鼠标后,新位置会立即保存。您也可以使用上移和下移箭头进行更精确的摆放。
软删除
删除一个已有下级商品的分类时,系统会将分类标记为未启用,而不是直接删除记录。这可以保留引用原始商品 ID 的订单历史。若要恢复,请在管理界面中重新启用该分类。
商品
每个商品都有以下字段:
| 字段 | 含义 |
|---|---|
| 分类 | 所属分类。 |
| 名称 | 顾客可见名称。 |
| 描述 | 支持 Markdown。顾客点击商品时会在商品详情卡中看到。 |
| 配料 | 显示在描述下方的一行短文本。可用于标注过敏原或主要配料。 |
| 基础价格 | 不含变体的价格。以最小单位保存(例如分),但输入时按整单位货币填写。 |
| 增值税率 | 百分比。显示顾客小票总计时会应用。 |
| 单位 | 可选标签,例如“ml”或“g”。会显示在价格旁边。 |
| 图片 | 商品图。支持任何格式。为了更快加载菜单,建议使用不超过 2 MB 的 WebP。 |
| 追踪库存 | 开启后,商品会保留库存数量,并在每次下单时递减。 |
| 库存数量 | 当前库存数。库存归零时,顾客将无法下单且商品会自动隐藏。 |
| 启用 | 关闭后,该商品会从顾客菜单中隐藏。 |
| 排序顺序 | 在分类中的位置。 |
| 备餐时间 | 静态的备餐时间预估(分钟)。参见下面的动态备餐时间。 |
上传图片
- 打开商品。
- 点击图片区域。
- 从电脑中选择一张图片。上传接口支持任何格式。
- 服务端会处理文件,保存资产 ID、MIME 类型和校验和,然后返回一个 URL。
- 图片会在几秒内立即出现在编辑器和顾客菜单中。
通过点击现有图片并上传新文件即可替换图片。旧文件会被新文件覆盖。
描述中的 Markdown
商品描述支持 Markdown。常见用途包括:
- 使用
**strong**强调重点。 - 用换行编写多行描述。
- 用短列表写配料或搭配建议。
商品描述中不要使用标题(H1 到 H6)。顾客菜单会把描述渲染在有限空间里,标题会显得突兀。
变体组
变体用于表示会改变价格或配置的顾客选择。一个商品可以有多个变体组,例如同一款汉堡同时带有尺码和加料。
每个变体都有以下字段:
| 字段 | 含义 |
|---|---|
| 名称 | 面向顾客的标签,例如“尺码”或“额外芝士”。 |
| 价格差额 | 选中该变体时,在基础价格上额外增加的金额。可以为 0 或负数。 |
| 必填 | 开启后,顾客在加入购物车前必须从该组中至少选择一个变体。 |
| 排序顺序 | 在该组中的位置。 |
创建变体组
- 打开商品。
- 滚动到“变体”区域。
- 点击 添加变体。
- 输入名称和价格差额。若该选项为必选,请启用“必填”。
- 保存。
对组中的每个选项重复此操作。一个典型的“尺码”组通常包含三行:Small 差额 0,Medium 差额 +1.00,Large 差额 +2.00。
动态备餐时间
HandyCafe 可以根据厨房的真实表现,为每个商品实时计算备餐时间预估。这样可以提高顾客菜单和活跃订单上显示的时间徽标准确性。
| 设置 | 作用 |
|---|---|
| 静态时间 | 保存在商品上的数值。当历史数据不足以计算动态值时使用。 |
| 动态预估 | 根据最近 30 天的订单历史计算。单个商品的平均备餐时间会乘以由当前排队长度推导出的繁忙系数。该系数会被限制在 1.0 到 2.0 之间。最终结果会被限制在 1 到 120 分钟之间。 |
商家资料中的“在菜单上显示备餐时间”设置决定顾客是否能看到时间徽标。工作人员在订单控制台中始终会看到该预估。
库存追踪
为每个商品启用 追踪库存,避免销售已经售罄的商品。
- 当订单提交时,库存会按下单数量递减。
- 库存归零后,商品会自动从顾客菜单中隐藏,直到您更新库存数量。
- 若要补货,请编辑商品并输入新的“库存数量”。
未启用追踪库存的商品会被视为无限库存,且永远不会自动隐藏。
在分类内重排商品
拖动把手即可上移或下移商品。松开后,新排序会立即保存。顾客菜单会在下一次菜单刷新后反映新的顺序,而菜单刷新会在每次会话加载时发生。
提示
- 先从 6 到 10 个分类开始。分类太多会让顾客浏览菜单变慢。
- 使用对比鲜明、光线充足的图片。昏暗或噪点多的图片会降低下单转化率。
- 只要有可能,请把描述控制在 120 个字符以内。描述太长会让手机上首屏看不到“加入购物车”按钮。
- 设定现实的静态备餐时间。动态系统需要 30 天学习。在此之前,顾客看到的就是静态时间。
- 如果一个商品有很多选择,请把它拆成两个变体组,而不是一个过长的列表。“尺码 + 牛奶”通常比“带牛奶的尺码”更清晰。