用例:储物柜预订

,

本文旨在介绍如何使用 Hapio 搭建一个基本的储物柜预订系统。首先,让我们来介绍一组需求。

要求

  • 存储柜与特定的物理位置相关联,且应支持多个物理位置。
  • 储物柜可按天预订,并在营业时间内开放使用。所有储物柜均需设置独立的时间表,以应对特定日期内部分储物柜无法使用的状况。
  • 冬季和夏季的营业时间有所不同(夏季周六休息,冬季周日休息)。
  • 储物柜分为两种类型:一种是基础款,另一种是高级款,后者拥有更大的储物空间。 
  • 预订价格取决于使用天数,且基础型和高级型储物柜的日租金有所不同。
  • 每次预订仅应适用于指定地点的特定储物柜。
  • 预订应可取消。
  • 应为每笔预订保存客户信息。

Hapio 实体

鉴于上述要求,下面我们来介绍一下可用于实现此功能的 Hapio 实体。

地点

Hapio 中的位置实体用于表示不同的物理位置。以储物柜为例,由于分配给哪位客户的具体储物柜并非至关重要,因此资源选择策略被设置为随机分配。 

服务

在此案例中,服务用于区分基础型和高级型储物柜。借助类型、价格和时间属性,未来为不同类型的储物柜(例如按固定时长预订而非按日预订的储物柜)设置额外服务将变得轻而易举。

资源

每个储物柜都被视为一个资源,其最基本的形式仅仅是一个储物柜的名称,且其并发预订数被设置为一。

将储物柜与服务关联,可确保轻松区分高级储物柜和基础储物柜。此外,若需将所有基础储物柜更换为高级储物柜,相关变更工作也将变得轻而易举。

定期安排

储物柜的时间表是通过为每个储物柜设置重复时间表来创建的。由于夏季和冬季的开放时间不同,因此需要为每个资源创建两个时间表。夏季时间表从5月初开始至8月底,冬季时间表则从9月1日开始至4月底。

重复计划块

对于每个时间表,都会使用重复时间段来设置每周各天的不同营业时间。营业时间决定了允许为该资源创建预订的时间段。夏季时间表中,除周六外均为全天开放;冬季时间表中,除周日外均为全天开放。

预订

预订是指在可用时间段内,针对特定地点,将资源与服务进行关联。

通过元数据对存储任何有效 JSON 的内置支持,简化了不同系统之间的映射,从而能够从预订中获取所有必要信息;再加上对取消和临时预订的内置支持,使得预订实体具有极高的灵活性。此外,利用 webhook 处理预订事件,可实现高度可定制且与其他系统无缝集成的功能。

使用 Hapio

在完成必要实体的设置后,现在是时候了解如何充分利用 Hapio 的全部功能,开始预订流程了。

最常见的操作之一是查询特定地点某项服务的可预订时段。Hapio 通过提供一个单一接口来简化这一操作,该接口可获取指定地点某项服务的所有可预订时段,并支持仅返回来自指定资源的时段。以储物柜系统为例,客户被分配到哪个储物柜并不重要,因此在获取可预订时段时无需指定资源。

上文列出的可预订时段列表包含了该服务所有可用的时间段。每个时段都包含其开始和结束时间,以及该时段内可用的资源列表。利用这些时段,用户可以轻松地为该服务创建预订,指定开始和结束时间,并在需要时指定资源来填补该时段。如果预订中未指定资源,Hapio 将根据该地点的资源选择策略自动分配资源。

由于某些实体支持元数据属性,将 Hapio 实体映射到其他业务实体变得轻而易举,并且在与其他系统进行定制化无缝集成时,还能带来完全掌控的额外优势。

Hapio 采用“API 优先”的策略,因此具备极高的灵活性,无论是移动应用还是网页应用都能轻松调用其服务。此外,Hapio 还具有一个额外优势:用户在日常工作中无需在多个系统之间切换,因为 Hapio 可以轻松集成到用户自己的管理仪表盘中。

使用 Hapio 的优势

借助 Hapio 的内置实体,这些需求得以轻松解决。将预订流程外包给 Hapio,您无需花费大量时间开发一套完整的预订系统,从而能够将开发精力集中在其他业务价值上,并致力于完善客户体验。

Hapio 对 webhook 的支持让您能够轻松响应系统内的变更,从而打造出高度可定制的预订系统,并与您常用的系统无缝集成。

您是否有意向将 Hapio 集成到您的系统中?立即开始吧

作者

马蒂亚斯