@aglyn/plugins-预订
Aglyn的Bookings插件:可预订服务,开放时间档,以及在一个已出版的站点上免费或付费预约,并在控制台管理. 如果您正在运行或建在 Aglyn 平台上并想要其预订功能, 请安装它 .
从Aglyn monorepo出版到npm. 随后的版本 语义版本。 。 。 .
安装
npm install @aglyn/plugins-bookings
同伴依赖性 :
@mui/materialfirebasefirebase-adminnextreact
无是可选的. firebase-admin 财务报告和审定财务报表 next 由服务器的半导体使用( e)@aglyn/plugins-bookings/server) (中文(简体) ).
里面有什么东西
这个软件包是一个第一党的Aglyn插件. 它通过 Aglyn 的插件管理器被装入: 应用程序读取了单列波的条目 plugins.config.json,输入每个表层名称,并呼叫登记员宣布该表层。 它不是一个独立的库;安装在它自己的负载上没有什么.
在一个公开的网站上
- 一个帆布组件,
booking:一个服务和时间选择者 预订一个约会。 它和任何其他元素一样被放置在标定器中,并由registerBookingsPlugin()。 。 。 .
在操纵台上
registerBookingsConsole() 登记册 :
- A 类 预订 导航项目和页面 :
/bookings后边bookings特性旗。 该页面为代码分解并打开后加载. - 一个“ 制作会议” 部件
crmRecordBooking插槽 。 CRM 插件在记录中主机是那个区域;这个插件在其中绘制控制,所以两个软件包都不导入另一个. - 插件配置计划( E)
BOOKINGS_CONFIG_SCHEMA)有两个设置:maxDaysAhead和bookingPath(站点上持有"预订"块的页面,用于构建预订链接). - 记录计数源
booking(单位:千美元)plugin-record-counts:一个站点的预订次数,一个运动的转换报告所划分的.
在服务器上
@aglyn/plugins-bookings/server 进口 firebase-admin 并且远离客户进入点.
registerBookingsApi()(单位:千美元)tenantApi(d) 登记建立网站的路线bookings/slots(服务打开插槽,页码BOOKING_SLOT_PAGE_DAYS一次一整天;from询问页面nextFromMs名称)和bookings/book(预约;付费服务通过花脸检查).registerBookingsConsoleApi()(单位:千美元)consoleApi(表层)登记册bookings/reminders, (中文(简体) ),bookings/refund, (中文(简体) ),bookings/check-in, (中文(简体) ),bookings/reschedule, (中文(简体) ),bookings/cancel(没有钱的订房)booking.canceled, (中文(简体) ),bookings/in-person-payment(原始内容存档于Aglyn POS app的卡读取器)和bookings/booking-analytics,平台上的处理器,开出确认付费订票的网约车,以及逐服务名人阅读器.registerBookingsConsoleServerDeclarations()(单位:千美元)consoleServerDeclarations用户 REST API/v1/sites/{siteId}/bookings(单位:千美元)bookings:read,则bookings并宣布预定活动.- 预订活动通过核心域 - 活动发包箱,每个带
{ booking }aPI形状:booking.created当订房被证实的时候,booking.rescheduled每次行动一次,以及booking.canceled当取消路线或全额退款结束时。 另一个插件按名称订阅, 绝不导入此名 . - 正在装入模块注册两个预定的插件任务 :
expire-stale-holds财务报告和审定财务报表booking-reminders(在确认预订前一天的提醒邮件). 这就是为什么package.json列表./src/lib/server.*下级sideEffects。 。 。 .
线路由主机API调度器提供 /api/,例如 /api/bookings/slots。 。 。 .
入境点
| 导入 | 目录 |
|---|---|
@aglyn/plugins-bookings | BUNDLE_ID, (中文(简体) ), registerBookingsConsole,站点的一半, 和纯型号(computeOpenSlots, (中文(简体) ), computeOpenSlotPage, (中文(简体) ), isSlotOpen, (中文(简体) ), bookingLinkFor, (中文(简体) ), normalizeBookingPath,则 HostBookingService 财务报告和审定财务报表 BookingSlot 类型) |
@aglyn/plugins-bookings/site | registerBookingsPlugin 财务报告和审定财务报表 BOOKINGS_BUNDLE 只有这个 这是已出版的页面加载, 所以它没有控制台代码 |
@aglyn/plugins-bookings/server | registerBookingsApi, (中文(简体) ), registerBookingsConsoleApi, (中文(简体) ), slotsHandler, (中文(简体) ), bookHandler, (中文(简体) ), scanBookingReminders |
@aglyn/plugins-bookings/* | 下的任何模块 src/lib/ |
使用量
登记员通常由Aglyn生成的插件加载器调用,而不是用手调用. 直接叫他们这样子:
// Published site (canvas half only)
import { registerBookingsPlugin } from '@aglyn/plugins-bookings/site'
registerBookingsPlugin()
// Console app
import { registerBookingsConsole } from '@aglyn/plugins-bookings'
registerBookingsConsole()
// Server-only API dispatcher
import {
registerBookingsApi,
registerBookingsConsoleApi,
} from '@aglyn/plugins-bookings/server'
registerBookingsApi()
怎样才合适
插件可以导入租户运行时间,渲染器,Besigner逻辑,核心和共享包. 它从不导入另一个插件,核心也从不导入一个插件. 预订取决于 @aglyn/aglyn (核心及其插件管理接合), @aglyn/tenant-runtime, (中文(简体) ), @aglyn/tenant-data-admin, (中文(简体) ), @aglyn/tenant-feature-instance 和数个 @aglyn/shared-* 软件包。 它与其他插件共享的东西会通过核心接合:对付费的订票征税会被问及核心的插件税收概况,CRM控制会被绘制在一个区域CRM主机.
许可证
阿帕奇2.0 (英语). 资料来源: https://github.com/aglyn/aglyn/tree/main/libs/plugins/订书