# @aglyn/plugins-bookings 中文文档

规范地址：https://npmcn.com/package/%40aglyn/plugins-bookings/

版本：1\.19\.0
npm 元数据更新时间：2026-11-07T13:58:18.350Z
中文译文更新时间：2026-11-05T23:16:43.698Z
软件包许可：Apache-2\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40aglyn/plugins-bookings
原文对照：https://npmcn.com/package/%40aglyn/plugins-bookings/?lang=original
项目主页：https://aglyn.com/
源码仓库：https://github.com/aglyn/aglyn

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：1.3 MB，159 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：11 个
- peer 依赖：next ^16\.3\.3，react ^19\.2\.8，firebase ^13\.0\.0，@mui/material ^9\.3\.1，firebase-admin ^14\.3\.0
- 首次发布：2026-09-20T23:53:05.753Z
- 最新版本发布：2026-11-07T13:58:18.054Z
- 近 30 天下载量：9764（2026-10-05 至 2026-11-03，npm 官方下载统计）
- 已发布版本数：161（近 12 个月 161 个）

## 中文简介

Aglyn的Bookings插件:可预订服务,开放时间档,以及在一个已出版的站点上免费或付费预约,并在控制台管理. 如果您正在运行或建在 Aglyn 平台上并想要其预订功能, 请安装它 .

## 安装

```sh
npm install @aglyn/plugins-bookings
```

也可以使用：`pnpm add @aglyn/plugins-bookings`、`yarn add @aglyn/plugins-bookings`、`bun add @aglyn/plugins-bookings`

## README

# @aglyn/plugins-预订

Aglyn的Bookings插件:可预订服务,开放时间档,以及在一个已出版的站点上免费或付费预约,并在控制台管理. 如果您正在运行或建在 Aglyn 平台上并想要其预订功能, 请安装它 .

> 从Aglyn monorepo出版到npm. 随后的版本 [语义版本](https://semver.org/)。 。 。 .

## 安装

```
npm install @aglyn/plugins-bookings
```

同伴依赖性 :

-   `@mui/material`
-   `firebase`
-   `firebase-admin`
-   `next`
-   `react`

无是可选的. `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生成的插件加载器调用,而不是用手调用. 直接叫他们这样子:

```ts
// 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/订书](https://github.com/aglyn/aglyn/tree/main/libs/plugins/bookings)

## 常见问题

### @aglyn/plugins-bookings 是什么？

Aglyn的Bookings插件:可预订服务,开放时间档,以及在一个已出版的站点上免费或付费预约,并在控制台管理\. 如果您正在运行或建在 Aglyn 平台上并想要其预订功能, 请安装它 \.

### 如何安装 @aglyn/plugins-bookings？

在项目目录运行 npm install @aglyn/plugins-bookings，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：next（^16\.3\.3）、react（^19\.2\.8）、firebase（^13\.0\.0）、@mui/material（^9\.3\.1）、firebase-admin（^14\.3\.0）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @aglyn/plugins-bookings 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @aglyn/plugins-bookings 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @aglyn/plugins-bookings 可以商用吗？

@aglyn/plugins-bookings 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @aglyn/plugins-bookings 的下载量有多少？

根据 npm 官方下载统计，@aglyn/plugins-bookings 在 2026/10/05 – 2026/11/03 这 30 天内被下载 9,764 次，日均约 325 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @aglyn/plugins-bookings 还在维护吗？

最新版本 1\.19\.0 发布于 2026/11/07（今天）；至今共发布 161 个版本，其中过去 12 个月发布了 161 个；首次发布于 2026/09/21。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

