当前位置:文档之家› 宾馆电话管理系统2.2版通用远程服务接口定义

宾馆电话管理系统2.2版通用远程服务接口定义

宾馆电话管理系统通用远程服务接口定义

一、工作流程

前台客房管理计算机(以下称A 机)与电话管理计算机(以下称B 机)使用标准RS232串行口互连(如图1所示)。A 机通过串口将宾客电话使用信息传到B 机上。B 机通过串口将计费生成的话单传输到A 机上。A 机和B 机通过宾馆电话管理系统提供的远程

服务接口和前面定义的消息协同工作。串口工作参数为波特率:9600;奇偶校验:无;数据位:8位;停止位:1位。

工作过程如下:

● A 机对宾客信息进行登记操作时,由A 机向B 机发送登记消息(A 类消息),长度为35字节(见第二部分消息结构定义)。A 机应按A 类消息定义填充各字段内容。客人代码项唯一标识每个客人,不能重复。房间号应与B 机的定义相符。B 机收到登记消息后进行有效性验证,验证有效后执行登记操作。若登记操作成功,B 机向A 机返回操作成功应答消息(G 类消息),应答消息类型码为“A ”,客人代码为登记消息中的客人代码,密码为B 机为客人分配的密码。若消息验证无效或登记操作失败,B 机向A 机返回错误/状态应答消息(R 类消息),应答消息类型码为“A ”,错误/状态消息码指示了操作失败的原因,A 机根据返回的错误/状态消息码进行相应的处理。

● A 机对宾客信息进行更改操作时,由A 机向B 机发送更改消息(B 类消息),长度为28字节(见第二部分消息结构定义)。A 机应按B 类消息定义填充各字段内容。A 机可对客人房间号、电话开通方式、使用权限等进行修改。客人代码项唯一标识每个客人,不能重复,B 机根据客人代码查找对应的客人。房间号应与B 机的定义相符。B 机收到更改消息后进行有效性验证,验证有效后执行更改操作。若更改操作成功,B 机向A 机返回操作成功应答消息(G 类消息),应答消息类型码为“B ”,客人代码为更改消息中的客人代码,密码为B 机为客人分配的密码。若消息验证无效或更改操作失败,B 机向A 机返回错误/状态应答消息(R 类消息),应答消息类型码为“B ”,错误/状态消息码指示了操作失败的原因,A 机根据返回的错误/状态消息码进行相应的处理。

● A 机对宾客进行追加电话押金操作时,由A 机向B 机发送追加电话押金消息(C 类消息),长度为17字节(见第二部分消息结构定义)。A 机应按C 类消息定义填充各字段内容,在电话押金字段填入需要追加的数额。客人代码项唯一标识每个客人,不能重复,B 机根据客人代码查找对应的客人。B 机收到追加电话押金消息后进行有效性验证,验证有效后执行追加电话押金操作。若追加电话押金操作成功,B 机向A 机返回操作成功应答消息(G 类消息),应答消息类型码为“C ”,客人代码为追加电话押金消息中的客人代码,密码为B 机为客人分配的密码。若消息验证无效或追加电话押金操作失败,B 机向A 机返回错误/状态应答消息(R 类消息)

电话管理计算机 客房管理计算机

图1 宾馆电话管理系统远程服务接口示意图

应答消息类型码为“C”,错误/状态消息码指示了操作失败的原因,A机根据返回的错误/状态消息码进行相应的处理。

●A机对宾客信息进行结帐操作时,由A机向B机发送结帐消息(D类消息),长度

为28字节(见第二部分消息结构定义)。A机应按D类消息定义填充各字段内容。

客人代码项唯一标识每个客人,不能重复,B机根据客人代码查找对应的客人。B 机收到结帐消息后进行有效性验证,验证有效后执行结帐操作。若结帐操作成功,B机向A机返回操作成功应答消息(G类消息),应答消息类型码为“D”,客人代码为结帐消息中的客人代码,密码为B机为客人分配的密码。若消息验证无效或结帐操作失败,B机向A机返回错误/状态应答消息(R类消息),应答消息类型码为“D”,错误/状态消息码指示了操作失败的原因,A机根据返回的错误/状态消息码进行相应的处理。

●A机通过向B机发送索取话单消息(E类消息,见第二部分消息结构定义)来索取

话单。B机接收到索取话单消息后,如果有话单需要发送,则向A机返回话单消息,长度为65字节(见第二部分消息结构定义);如果没有话单需要发送,则向A 机发送返回错误/状态应答消息(R类消息),应答消息类型码为“E”,错误/状态消息码为“L”,表示当前无话单需要发送,A机可稍后重新发送索取话单消息查询B机是否有话单需要发送。如果A机接收到话单消息,则应向B机返回错误/状态应答消息(R类消息),应答消息类型码为“F”。如果接收并处理成功,则返回的错误/状态应答消息错误/状态消息码为“O”;如果接收的话单无效(即找不到话单对应的客人),则返回的错误/状态应答消息错误/状态消息码为“Q”;如果接收失败,则返回的错误/状态应答消息错误/状态消息码为“P”,这种情况下下次将返回同一条话单消息。

宾馆2.2版新增客房免打扰及预定叫醒服务功能

●A机对客房进行设定/取消免打扰操作时,由A机向B机设定/取消客房免打扰消息

(H类消息),长度为11字节(见第二部分消息结构定义)。A机应按H类消息定义填充各字段内容。客人代码项唯一标识每个客人,不能重复,B机根据客人代码查找对应的客人。B机收到设定/取消免打扰消息后进行有效性验证,验证有效后执行客房设定/取消免打扰操作。设定免打扰时设定/取消客房免打扰标志值为“Y”,取消免打扰时设定/取消客房免打扰标志值为“N”。设定/取消免打扰操作执行完毕后,B机向A机返回错误/状态应答消息(R类消息),应答消息类型码为“H”,若执行成功,返回的错误/状态消息码为“T”,若执行失败或因其它原因失败,错误/状态消息码指示了操作失败的原因,A机根据返回的错误/状态消息码进行相应的处理。注意:设定/取消客房免打扰信息仅对开通包房的客人有效,对共享客人无效,将返回错误码“M”。

●A机可以对客房进行预定、取消、查询客房叫醒服务操作

◆A机对客房进行预定/取消客房叫醒服务操作时,由A机向B机预定/取消

客房叫醒服务消息(I类消息),长度为17字节(见第二部分消息结构定

义)。A机应按I类消息定义填充各字段内容。客人代码项唯一标识每个

客人,不能重复,B机根据客人代码查找对应的客人。B机收到预定/取

消客房叫醒服务消息后进行有效性验证,验证有效后执行预定/取消客房

叫醒服务操作。预定客房叫醒服务时客房叫醒服务标志值为“Y”,取消

客房叫醒服务时客房叫醒服务标志值为“N”。预定/取消客房叫醒服务操

作执行完毕后,B机向A机返回错误/状态应答消息(R类消息),应答

消息类型码为“I”,若执行成功,返回的错误/状态消息码为“U”,若执

行失败或因其它原因失败,错误/状态消息码指示了操作失败的原因,A

机根据返回的错误/状态消息码进行相应的处理。

◆A机对客房进行查询预定的客房叫醒服务执行状态操作时,由A机向B

机预定/取消客房叫醒服务消息(I类消息),长度为17字节(见第二部分

消息结构定义)。A机应按I类消息定义填充各字段内容。客人代码项唯

一标识每个客人,不能重复,B机根据客人代码查找对应的客人。B机收

到查询客房叫醒服务消息后进行有效性验证,验证有效后执行查询预定的

客房叫醒服务操作。查询客房叫醒服务时叫醒服务标志值为“Q”。查询

客房叫醒服务操作执行完毕后,B机向A机返回错误/状态应答消息(R

类消息),应答消息类型码为“I”,指出当前查询的客房叫醒服务的执行

结果。若已过预定执行时间并且执行成功,返回的错误/状态消息码为

“W”;若未到预定执行时间,叫醒服务等待执行,返回的错误/状态消息

码为“X”;若已过预定执行时间并且执行失败,返回的错误/状态消息码

为“Y”;若执行失败或因其它原因失败,错误/状态消息码指示了操作失

败的原因,A机根据返回的错误/状态消息码进行相应的处理。

◆注意:预定的客房叫醒服务时间必须在当前设定命令之后,否则将返回错

误码“M”。当同一房间预定多条叫醒服务消息时,执行按预定时间的先

后顺序进行。设定叫醒服务执行时间的格式是日期(2个字符),小时(2

个字符),分钟(2个字符)。设定执行时间的分钟项时,可选值为:"00"、

"10"、"20"、"30"、"40"、"50"六个值。如果设定其它值自动圆整为最接

近的时间值,例如,设定执行时间为1日21时57分时,57分将被圆整

为50分,实际预定时间为1日21时50分。

A机和B机通过以上过程协同工作。B机处在A机的远程控制之下,处于被动工作模式。A机应根据B机返回的错误/状态应答消息设计相应的异常/错误处理机制。

二、消息结构定义

宾馆电话管理系统远程服务接口共定义了七种消息完成各种服务功能。每条消息由头标记、消息实体、结束标记构成。所有消息中的字符均为ASCII码。两字节头标记固定为“M”“Z”,两字节结束标记固定为回车符“\r(0x0d)”、换行符“\n(0x0a)”,填充字符固定为字符“.”。所有字符均应为大写字母,小写字母将自动转换成大写,不支持房间号中含有汉字的情况。七种消息说明如下:

●登记消息定义(A类消息,如图2所示)

登记消息长度为35字节。以两字节头标记“M(第0字节)”“Z(第1字节)”开头。

头标记之后是1个字符长的类型码。登记消息类型码为“A”。(第2字节)。

类型码之后是5个字符长的客人代码,可用数字范围为10001~65000。客人代码用来标识不同的客人,不同客人间不能重复,必须保证唯一值。(第3~第7字节)。

客人代码之后是8个字符长的房间号码。如果不满8个字符,剩余的部分用填充字符“.”

符(0x2E)补足。例如:房间号为1001,则填充内容为:“1001….”。开通包房专线时必须保证房间号不与其他包房客人冲突。(第8~第15字节)。

房间号码之后是7个字符长的电话押金。电话押金数额以分为单位,可用范围为0分~

9999999分(即0.00元~99999.99元)。如果不满7个字符,剩余的部分用填充字符“.”符(0x2E)补足。例如:电话押金为123.56元,则填充内容为:“12356..”。(第16~第22字节)。

电话押金之后是10个字符长的控制字节。控制字节定义开通电话的各项权限和参数。

具体定义如下(第23~第32字节)。:

1.第23字节——是否开通包房。开通包房:“Y”,普通客人:“N”。

2.第24字节——电话权限。市话权限:“1”,本地网权限:“2”,国内长途权限:

“3”,国际长途权限:“4”。

3.第25字节——是否限拨娱乐信息电话。限拨:“Y”,不限拨:“N”。

4.第26字节——是否自动划拨话费。自动划拨:“Y”,不自动划拨:“N”。

5.第27字节——是否开通IP国内权限(3.2版以上使用,3.2版以下置为“0”)。

开通IP国内权限:“Y”,不开通IP国内权限:“N”。

6.第28字节——是否开通IP国际权限(3.2版以上使用,3.2版以下置为“0”)。

开通IP国际权限:“Y”,不开通IP国际权限:“N”。

7.第29字节——是否限拨预定限拨电话(3.2版以上使用,3.2版以下置为“0”)。

限拨:“Y”,不限拨:“N”。

8.第30字节——是否允许拨(#号)选择电信。(3.2版以上使用,3.2版以下置

为“0”)。允许:“Y”,不允许:“N”。

9.第31字节——系统保留。置为“0”

10.

图2 登记消息定义(A类消息)

以两字节结束标记回车符“\r(0x0d)”(第33字节)、换行符“\n(0x0a)”(第34字节)结尾。

更改电话参数消息定义(B类消息,如图3所示)

更改电话参数消息长度为28字节。以两字节头标记“M(第0字节)”“Z(第1字节)”

开头。

头标记之后是1个字符长的类型码。更改电话参数消息类型码为“B”。(第2字节)。

类型码之后是5个字符长的客人代码,可用数字范围为10001~65000。客人代码用来标识不同的客人,不同客人间不能重复,必须保证唯一值。(第3~第7字节)。

客人代码之后是8个字符长的房间号码。如果不满8个字符,剩余的部分用填充字符“.”

符(0x2E)补足。例如:房间号为1001,则填充内容为:“1001….”。开通包房专线时

图3 更改电话参数消息定义(B类消息)

房间号码之后是10个字符长的控制字节。控制字节定义开通电话的各项权限和参数。具体定义如下(第16~第25字节):

1.第16字节——是否开通包房。开通包房:“Y”,普通客人:“N”。

2.第17字节——电话权限。市话权限:“1”,本地网权限:“2”,国内长途权限:

“3”,国际长途权限:“4”。

3.第18字节——是否限拨娱乐信息电话。限拨:“Y”,不限拨:“N”。

4.第19字节——是否自动划拨话费。自动划拨:“Y”,不自动划拨:“N”。

5.第20字节——是否开通IP国内权限(3.2版以上使用,3.2版以下置为“0”)。

开通IP国内权限:“Y”,不开通IP国内权限:“N”。

6.第21字节——是否开通IP国际权限(3.2版以上使用,3.2版以下置为“0”)。

开通IP国际权限:“Y”,不开通IP国际权限:“N”。

7.第22字节——是否限拨预定限拨电话(3.2版以上使用,3.2版以下置为“0”)。

限拨:“Y”,不限拨:“N”。

8.第23字节——是否允许拨(#号)选择电信。(3.2版以上使用,3.2版以下置

为“0”)。允许:“Y”,不允许:“N”。

9.第24字节——系统保留。置为“0”

10.第25字节——系统保留。置为“0”

以两字节结束标记回车符“\r(0x0d)”(第26字节)、换行符“\n(0x0a)”(第27字节)结尾。

追加电话押金消息定义(C类消息,如图4所示)

追加电话押金消息长度为17字节。以两字节头标记“M(第0字节)”“Z(第1字节)”开头。

头标记之后是1个字符长的类型码。追加电话押金消息类型码为“C”(第2字节)。类型码之后是5个字符长的客人代码,可用数字范围为10001~65000。客人代码用来标识不同的客人,不同客人间不能重复,必须保证唯一值。(第3~第7字节)。

客人代码之后是7个字符长的追加电话押金。追加电话押金数额以分为单位,可用范围为0分~9999999分(即0.00元~99999.99元)。如果不满7个字符,剩余的部分用填充字符

“.”符(0x2E)补足。例如:电话押金为123.56元,则填充内容为:“12356..”。(第8~第14字节)。

以两字节结束标记回车符“\r(0x0d)”(第15字节)、换行符“\n(0x0a)”(第16字节)结尾。

图4 追加电话押金消息定义(C类消息)

●宾客结帐消息定义(D类消息,如图5所示)

宾客结帐消息长度为10字节。以两字节头标记“M(第0字节)”“Z(第1字节)”开头。

头标记之后是1个字符长的类型码。宾客结帐消息消息类型码为“D”。(第2字节)。类型码之后是5个字符长的客人代码,可用数字范围为10001~65000。客人代码用来标识不同的客人,不同客人间不能重复,必须保证唯一值。(第3~第7字节)。

以两字节结束标记回车符“\r(0x0d)”(第8字节)、换行符“\n(0x0a)”(第9字节)结尾。

图5 宾客结帐消息定义(D类消息)

●设定/取消客房免打扰消息定义(H类消息,如图6所示)

注意:设定/取消客房免打扰信息仅对开通包房的客人有效,对共享客人无效,将返回错误码“M”。

设定/取消客房免打扰消息长度为11字节。以两字节头标记“M(第0字节)”“Z(第1字节)”开头。

头标记之后是1个字符长的类型码。设定/取消客房免打扰消息类型码为“H”。(第2字节)。

类型码之后是5个字符长的客人代码,可用数字范围为10001~65000。客人代码用来标识不同的客人,不同客人间不能重复,必须保证唯一值。(第3~第7字节)。

客人代码之后是1个字符长的设定/取消客房免打扰标志。设定免打扰:“Y”,取消免打扰设定:“N”。(第8字节)。

以两字节结束标记回车符“\r(0x0d)”(第9字节)、换行符“\n(0x0a)”(第10字节)结尾。

图6 设定客房免打扰消息定义(H类消息)

●预定/查询客房叫醒服务消息定义(I类消息,如图7所示)

注意:预定的客房叫醒服务时间必须在当前设定命令之后,否则将返回错误码“M”。当同一房间预定多条叫醒服务消息时,执行按预定时间的先后顺序进行。查询客房叫醒服务时按当前叫醒服务执行的状态返回结果。

预定客房叫醒服务消息长度为17字节。以两字节头标记“M(第0字节)”“Z(第1字节)”开头。

头标记之后是1个字符长的类型码。预定客房叫醒服务消息类型码为“I”。(第2字节)。类型码之后是5个字符长的客人代码,可用数字范围为10001~65000。客人代码用来标识不同的客人,不同客人间不能重复,必须保证唯一值。(第3~第7字节)。

客人代码之后是1个字符长的客房叫醒服务标志,可以为预定、取消预定、查询三种设定。其中,预定叫醒服务:“Y”,取消叫醒服务:“N”,查询叫醒服务:“Q”。(第8字节)。

客房叫醒服务标志标志之后之后是2个字符长的预定执行时间(日)。(01~31)。(第9~第10字节)。

预定执行时间(日)之后是2个字符长的执行时间(时)。(00~23)。(第11~第12字节)。

预定执行时间(时)之后是2个字符长的执行时间(分)。(00、10、20、30、40、50)。可选值为:“00”、“10”、“20”、“30”、“40”、“50”六个值。如果设定其它值自动圆整为最接近的时间值,例如,设定执行时间为1日21时57分时,57分将被圆整为50分,实际预定时间为1日21时50分。(第13~第14字节)。

以两字节结束标记回车符“\r(0x0d)”(第15字节)、换行符“\n(0x0a)”(第16字节)结尾。

图7 预定客房叫醒服务消息定义(I类消息)

●操作成功应答消息定义(G类消息,如图8所示)

操作成功消息长度为18字节。以两字节头标记“M(第0字节)”“Z(第1字节)”开

头。

头标记之后是1个字符长的类型码。宾客结帐消息消息类型码为“G”。(第2字节)。类型码之后是1个字符长的应答消息类型码。应答消息类型码的范围为:“A”、“B”、“C”、“D”。(第3字节)。

应答消息类型码之后是5个字符长的客人代码,可用数字范围为10001~65000。此处的客人代码与登记消息(A类消息)中的客人代码相同,表示同一客人。(第4~第8字节)

客人代码之后是8个字符长的电话密码。如果不满8个字符,剩余的部分用填充字符“.”符(0x2E)补足。例如:密码长度5为,密码55839,填充内容为:“55839…”。(第9~第16字节)

以两字节结束标记回车符“\r(0x0d)”(第17字节)、换行符“\n(0x0a)”(第18字节)结尾。

图8 操作成功应答消息定义

●索取话单消息定义(E类消息,如图9所示)

索取话单消息长度为5字节。以两字节头标记“M(第0字节)”“Z(第1字节)”开头。头标记之后是1个字符长的类型码。索取话单消息消息类型码为“E”。(第2字节)。类型码之后以两字节结束标记回车符“\r(0x0d)”(第3字节)、换行符“\n(0x0a)”(第4

图9 索取话单消息定义

●话单消息定义(F类消息,如图10所示)

话单消息长度为65字节。以两字节头标记“M(第0字节)”“Z(第1字节)”开头。头标记之后是1个字符长的类型码。话单消息类型码为“F”,(第2字节)。

图10 话单消息定义

类型码之后是1个字符长的话单类型码。市话话单:“1”,本地网话单:“2”,国内长途话单:“3”,国际长途话单:“4”,IP国内长途话单:“5”,IP国际长途话单:“6”IP 市话话单:“7”。(第3字节)。

类型码之后是5个字符长的客人代码,可用数字范围为10001~65000,(第4~第8字节)。

客人代码之后是20个字符长的呼叫号码。呼叫号码支持字符为:“数字0~9、字符A、B、C、D、*、#”。如果不满20个字符,剩余的部分用填充字符“.”符(0x2E)补足。例如:呼叫号码为“0531*******”,则填充内容为:“0531*******………”。(第9~第28字节)。

呼叫号码之后是8个字符长的本机号码。本机号码支持字符为:“数字0~9”。如果不满8个字符,剩余的部分用填充字符“.”符(0x2E)补足。例如:本机号码为“8888888”,则填充内容为:“8888888.”。(第29~第36字节)。

呼叫号码之后是4个字符长的呼叫时间(年)。(第37~第40字节)。

呼叫时间(年)之后是2个字符长的呼叫时间(月)。(01~12)。(第41~第42字节)。呼叫时间(月)之后是2个字符长的呼叫时间(日)。(01~31)。(第43~第44字节)。呼叫时间(日)之后是2个字符长的呼叫时间(时)。(00~23)。(第45~第46字节)。呼叫时间(时)之后是2个字符长的呼叫时间(分)。(00~59)。(第47~第48字节)。呼叫时间(分)之后是2个字符长的呼叫时间(秒)。(00~59)。(第49~第50字节)。呼叫时间(秒)之后是6个字符长的话单持续时长,单位为秒。(第51~第56字节)。话单持续时长之后是6个字符长的话单话费,单位为分。(第57~第62字节)。

错误/状态应答消息定义(R类消息,如图11所示)

错误/状态应答消息长度为7字节。以两字节头标记“M(第0字节)”“Z(第1字节)”开头。

图11 错误/状态应答消息定义

头标记之后是1个字符长的类型码。错误/状态应答消息类型码为“R”,(第2字节)。类型码之后是1个字符长的应答消息类型码。应答消息类型码可能取值的范围为:“A”、“B”、“C”、“D”、“E”、“F”、“H”、“I”。(第3字节)。应答消息类型码之后是1个字符长的错误/状态信息码。错误/状态信息码定义如图12所示,(第4字节)。

以两字节结束标记回车符“\r(0x0d)”(第5字节)、换行符“\n(0x0a)”(第6字节)结尾。

图12 错误/状态应答消息码定义

相关主题
文本预览
相关文档 最新文档