在住客人
Hotspot 集成的唯一资源。返回当前在住(已入住、尚未退房)的每位客人的房间、身份以及入住/退房信息。热点软件定期拉取该名单,并据此开通或关闭 Wi-Fi 账户;具体步骤见客人验证流程指南。
对象#
字段
uniqueinteger入住记录 ID,每位客人、每个预订唯一。在热点系统中请将其用作用户/会话键。
rezervasyon_idinteger预订 ID。同住一间房的客人共享此值。
inHotelinteger1 = 客人在住。由于该端点只返回在住客人,此值始终为 1。firstNamestring名。取自证件,因此通常为大写;多个名之间以空格分隔。
lastNamestring姓。通常为大写。
identityNumberstring | null土耳其公民身份证号或护照号,与证件上印制的一致。登记时未录入证件信息的客人,此字段可能为空。
birthDatestring | null出生日期,
DD.MM.YYYY。可能为空。roomIDinteger房间在 HMS 中的 ID。
roomNamestring房间名称/号码,即客人在房门和房卡上看到的值。在认证门户上请以“房间号”向客人询问此值。
checkininteger客人入住时间,Unix 时间戳(秒)。
checkoutinteger计划退房日期,Unix 时间戳,取当天零点(00:00 UTC),不含具体时刻。加上酒店的退房时间(通常为 12:00)即为会话结束时间。
checkout2integer | null实际退房时间。在住客人为
null;客人退房后本就会从名单中消失。mikrotikSifrelemeinteger房间所在楼栋在 HMS 中的 Mikrotik 加密设置:
0 房间名(Wi-Fi 密码即房间号),1 无密码。请在您自己的认证门户上执行相同策略。01{
"mikrotikSifreleme": 0,
"unique": 58211,
"inHotel": 1,
"identityNumber": "11111111110",
"firstName": "AYŞE",
"lastName": "DEMİR",
"birthDate": "14.03.1985",
"roomID": 4,
"roomName": "104",
"checkin": 1788863400,
"checkout": 1788998400,
"checkout2": null,
"rezervasyon_id": 282799
}在住客人名单#
POST
/public/json/customer/inhotel身份验证: ApiKey 请求头
返回完整的在住客人名单。没有筛选参数,也不需要请求体。客人出现在名单中的条件是:预订处于有效状态、已办理入住且尚未退房,并且客人被标记为“在住”。同一预订中的每位客人都是一条独立记录。
响应不分页;大型酒店可能返回数百条记录。请缓存名单,并按建议的间隔刷新。
请求头
ApiKeystring必填在 HMS 管理后台生成的自定义 API 密钥。它绑定一家酒店,并决定列出哪家酒店的客人。
HotelCodeinteger酒店在 HMS 中的 ID。服务器根据密钥确定酒店,因此该值不参与验证;建议发送,以便记录日志并保持兼容。
响应
200 success: 1 和 otelde 数组。若无在住客人,数组为空;这不是错误。
successinteger1 成功,0 失败。与 Online Booking 不同,这里是数字而非布尔值。otelde[]object[]客人记录。字段说明见上方对象一节。
错误响应
- 401 缺少
ApiKey请求头、值为空,或该密钥未在 HMS 中定义(可能已被删除)。响应体:{"success": 0}。 - 405 请求使用了
POST以外的方法(例如从浏览器地址栏发起的GET)。
curl -X POST "https://test.hms.gen.tr/public/json/customer/inhotel" \
-H "ApiKey: $HMS_API_KEY" \
-H "HotelCode: 1000"const res = await fetch("https://test.hms.gen.tr/public/json/customer/inhotel", {
method: "POST",
headers: {
"ApiKey": process.env.HMS_API_KEY,
"HotelCode": "1000"
}
});
const data = await res.json();$ch = curl_init('https://test.hms.gen.tr/public/json/customer/inhotel');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => [
'ApiKey: ' . getenv('HMS_API_KEY'),
'HotelCode: 1000',
],
]);
$data = json_decode(curl_exec($ch), true);{
"success": 1,
"otelde": [
{
"mikrotikSifreleme": 0,
"unique": 58211,
"inHotel": 1,
"identityNumber": "11111111110",
"firstName": "AYŞE",
"lastName": "DEMİR",
"birthDate": "14.03.1985",
"roomID": 4,
"roomName": "104",
"checkin": 1788863400,
"checkout": 1788998400,
"checkout2": null,
"rezervasyon_id": 282799
},
{
"mikrotikSifreleme": 0,
"unique": 58212,
"inHotel": 1,
"identityNumber": "22222222220",
"firstName": "MEHMET",
"lastName": "DEMİR",
"birthDate": "02.11.1982",
"roomID": 4,
"roomName": "104",
"checkin": 1788863400,
"checkout": 1788998400,
"checkout2": null,
"rezervasyon_id": 282799
},
{
"mikrotikSifreleme": 0,
"unique": 58197,
"inHotel": 1,
"identityNumber": "U01234567",
"firstName": "JULIA",
"lastName": "WAGNER",
"birthDate": "27.06.1990",
"roomID": 12,
"roomName": "205",
"checkin": 1788782700,
"checkout": 1789084800,
"checkout2": null,
"rezervasyon_id": 282803
}
]
}{
"success": 1,
"otelde": []
}{
"success": 0
}