3CX PMS 协议规范

介绍

本章详细描述了3CX PMS协议,该协议与酒店物业管理系统(PMS)软件集成。3CX PMS协议非常类似于Mitel PMS协议或Oracle Micros-Fidelio协议,因此可以在PMS系统中指定Mitel PMS(SX2000)或FIAS协议。Mitel协议在本章中有进一步的详细介绍,而Micros-Fidelio协议由Oracle Micros标准化。

Micros FIAS 供应商记录规格表

3CX完成了互操作性计划,并获得了Micros-Fidelio认证。

Micros certificate

Mitel 通用协议信息

PMS/系统双向(半双工)链路采用 ENQ/ACK/STX-text-ETX/ACK 协议。PMS 到系统的传输顺序如下:

Mitel General Protocol Information

消息传输完成。

对传输顺序有时限要求:

Mitel General Protocol Information
 

在STX + msg + ETX传输后等待ACK的最大时间是3秒。

PMS 到系统的传输

收到 PMS 发送的 ENQ 字符后,系统会在三秒内以 ACK 或 NAK 响应。ACK 表示传输成功。NAK 表示传输错误或系统繁忙。系统会生成酒店日志,指示发生了此类错误。发送 ACK 后,系统立即准备好接收 STX、消息文本和 ETX。在收到 ETX 后的三秒内,系统会以以下任一方式响应:

ACK 表示传输成功,并且所有消息字段均有效。

NAK 表示传输本身、某个消息字段或消息语法(具体指 STX、ETX、功能码和状态码)存在错误。例如,发送的是 CHK3 而不是 CHK1。系统会生成酒店日志,指示发生了此错误。PMS 可以重试发送消息 txn(STX、消息文本和 ETX)三次,而无需先发送 ENQ 消息。

下面的例子说明了一个PMS交易重试的过程:

 PMS to System Transmission

然后 PMS 会丢弃该交易。

PMS 格式规范

消息具有以下通用格式:

PMS Format Specification

入住/退房消息

消息具有以下格式:

Check In/Out Messages

X: 是入住/退房状态码

  • ASCII 字符1表示入住
  • ASCII 字符0表示退房  

SP: 是ASCII空格字符。n是分机号码数字。

Check In/Out Messages

注意:少于五位数的分机号码用空格字符(ASCII 32,十六进制20)填充,而不是零(ASCII 48,十六进制30)。

如果从PMS接收到的消息无效,系统返回一个NAK(否定确认的ASCII字符)。

示例:

入住:(为分机100办理入住)

STXCHK1 100ETX (其中STX = 2, ETX = 3),得到以下消息2CHK1 1003

名字消息

该消息由PMS发送并用于在电话上显示客人姓名。名字消息具有以下输入格式:

Name Message

NAM: 是名字功能代码。

NAME: 是名字中的一个字符(最多21个字符)。

n: 是分机号码数字。

名字长度(最多21个字符)左对齐,用空格填充。字符可以是大小写字母,并可能包括数字字符。可以给出名和姓(用逗号隔开,但不在第1和第21位),但如果只提供一个名字,则默认将其记录为姓氏。字符串中的第一个名字必须是姓氏,后面跟着名字。如果只提供了一个名字,第21个字符是一个空格(名字的最大长度为20)。

使用字符串操作代码允许针对特定分机添加或删除具体的名字。

系统允许多个名字关联到一个分机。大多数情况下,通常只有一个名字与分机号相关联。

字符串操作代码是状态代码的第一个字节,可能是以下选项之一:

  1. (添加) - 该姓名已添加到本站的当前姓名列表中。如果此号码没有姓名,则会创建一个新的电话簿条目。
  2. (替换) - 此名称用于替换此编号的第一个字母名称。此编号的所有其他名称均保持不变

如果从 PMS 收到无效消息,系统将返回 NAK。

If an invalid message is received from the PMS, the system returns an NAK.

叫醒服务消息

PMS系统可以通知系统何时为特定客人分机设置叫醒服务。叫醒服务消息具有以下输出格式:

Wake Up Messages

t: 是叫醒时间。

n: 是分机号码数字。

叫醒时间按24小时制指定。所有四个字符,用ASCII空格填充,表示删除叫醒时间(时间格式:HHmm)。

叫醒服务示例(23点30分对应分机100):

2MW 2330 1003

DND 消息

PMS系统可以通过发送以下消息通知PBX何时为特定客人分机设置DND状态。

DND消息具有以下格式:

DND Message

状态码:

  • 1 – 开启 DND
  • 0 – 关闭 DND
  • SP是ASCII空格字符。
  • 示例:为分机302开启DND
  • 2DND1   3023  STXDND1SPSPSP302ETX
  • StxValue = 2
  • EtxValue = 3
  • ENQ = 5;
  • ACK = 6;
  • NACK = 21

消息注册消息

每次酒店分机拨打外线时,系统都会发送一条消息给PMS以更新对该客房外部呼叫的总数。不区分本地和长途呼叫。消息注册通过计算通话期间产生的脉冲数量工作。

消息注册消息具有以下输出格式:

Message Registration Message

SP: 是ASCII空格字符。

n: 是分机号码数字。

在这种情况下,状态码是一个费用。这是状态码长度唯一例外,为4个字节而不是2个。

站点限制消息

站点限制消息可用于设置呼叫限制。当此消息从 PMS 发送到系统时,先前设置的呼叫限制将生效。

注意:紧急服务(911/999)和内部呼叫不受限制。

站点限制消息具有以下格式:

Station Restriction Message

RST: 是站点限制功能代码。

X: 是分机或套房号码数字。

S: 是以下状态码之一:

  • 0 - Internal
  • 1 - Local
  • 2 - Long Distance

StxValue = 2

EtxValue = 3

ENQ = 5;

ACK = 6;

NACK = 21

客房状态消息

客房状态消息用于允许清洁人员通过电话设置房间状态。当从相关房间拨打电话并输入特殊功能代码,随后输入相应的代码以指定房间的状态时,触发客房状态消息。

例如,从房间拨打电话“*682”将触发一个客房状态消息至PMS,这将把房间状态设置为已清洁。

客房状态消息具有以下格式:

STX

S

T

S

X

SP

n

N

n

n

n

ETX

X: 是客房状态代码。

SP: 是ASCII空格字符。

n: 是分机号码数字(最多5位数)。

当拨打功能代码时,系统会向PMS发送功能和状态代码,PMS解释如下方式的代码:

消息占用情况

  • STS1 - Maid Present
  • STS2 - Clean
  • STS3 - Not Clean
  • STS4 - Out of Service
  • STS5 - To be Inspected
  • STS6 - Occupied/Clean
  • STS7 - Occupied/Not Clean
  • STS8 - Vacant/Clean
  • STS9 - Vacant/Not Clean

上次更新

本文件最后更新于 2022 年 7 月 18 日

https://www.3cx.cn/docs/3cx-pms-protocol/