Skip to main content

Kết nối API PMS Skyhotel

Với việc sử dụng API PMS skyhotel (API PMS), bạn có thể truy vấn phòng trống (Availability) và tạo đặt phòng (Booking) thông qua API

Để sử dụng được API PMS, Trong request API cần User API và Hotel Id, được tạo theo hướng dẫn sau:

1. Tạo tài khoản API​

Tạo tài khoản API để sử dụng trong code API. Bạn đăng nhập tài khoản Admin > Nhân viên > Quản lý Nhân viên > Thêm > Tạo tài khoản với phân quyền API_USER.

Lưu ý: Phần quyền API_USER là phân quyền có sẵn trong hệ thống, vui lòng liên hệ với hỗ trợ Skyhotel để kích hoạt sử dụng API_USER

Kết nối API PMS Skyhotel

2. Lấy mã Hotel ID​

Bạn vào mục Khách sạn > Danh sách khách sạn > Nhấp vào nút Sửa để xem chi tiết. Copy mã Hotel ID để sử dụng trong API

Lưu ý: Vui lòng liên hệ với hỗ trợ Skyhotel để kích hoạt sử dụng sử dụng API Hotel ID

Kết nối API PMS Skyhotel

2. Cách triển khai API​

Mỗi request API sẽ kèm theo thông số User API và Hotel ID đã tạo ở hướng dẫn trên

Trong API có 2 function chính:

1. get_availability​

Dùng để truy vấn phòng trống trong khoản thời gian. Kết quả trả về:

{
"room_types": [{
"room_type_id": "27707",
"room_type_name": "STANDARD",
"availability": 6,
"rates": [{
"date": "2024-06-16",
"rate": 1818000
}, {
"date": "2024-06-17",
"rate": 1818000
}, {
"date": "2024-06-18",
"rate": 1818000
}
]
}, {
"room_type_id": "27709",
"room_type_name": "DOUBLE",
"availability": 14,
"rates": [{
"date": "2024-06-16",
"rate": 2020000
}, {
"date": "2024-06-17",
"rate": 2020000
}, {
"date": "2024-06-18",
"rate": 2020000
}
]
}, {
"room_type_id": "27710",
"room_type_name": "TWIN",
"availability": 7,
"rates": [{
"date": "2024-06-16",
"rate": 3188000
}, {
"date": "2024-06-17",
"rate": 3188000
}, {
"date": "2024-06-18",
"rate": 3188000
}
]
}
]
}

2. push_booking​

Dùng để tạo booking trên PMS. Kết quả trả về là mã booking thành công trên PMS

{
"result": {
"code_book": 4,
"id": 501053303
}
}

Full code PHP example​

<?php
header("Content-type: application/json; charset=utf-8");

function get_availability(){

$username = 'test_api';
$password = '112233';
$hotel_id = 'VHoDmzyfGD4kUr5GMrQjtA==';
$checkin = '2026-06-16';
$checkout = '2026-06-18';

$data = array(
'username' => $username,
'password' => $password,
'hotel_id' => $hotel_id,
'checkin' => $checkin,
'checkout' => $checkout
);

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, 'https://api.skyhotel.vn/pms/get_availability');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json'
));
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

$response = curl_exec($ch);
curl_close($ch);

echo $response;

}

function push_booking(){
$username = 'test_api';
$password = '112233';
$hotel_id = 'VHoDmzyfGD4kUr5GMrQjtA==';
$booking = '{
"rooms":[{
"checkin": "2026-10-16 14:00:00",
"checkout": "2026-10-17 12:00:00",
"room_type": "Standard",
"rates": 1500000,
"rooms_count": 1
}
],
"customer": {
"name": "Nguyễn Văn A",
"address": "",
"country": "Vietnam",
"email": "",
"phone": "",
"note": ""
},
"note": ""
}';

$data = array(
'username' => $username,
'password' => $password,
'hotel_id' => $hotel_id,
'booking' => $booking
);

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, 'https://api.skyhotel.vn/pms/push_booking');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json'
));
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

$response = curl_exec($ch);
curl_close($ch);

echo $response;

}

get_availability();
// push_booking();

?>