ภาพรวม
Cloudbeds Booking Engine Plus ตอนนี้ช่วยให้การผสมผสานของ ช่องทางการชำระเงินที่กำหนดเอง หรือ รองรับการชำระด้วยบัตรของขวัญ ทำให้มีความยืดหยุ่นมากขึ้นในการจัดการตัวเลือกการชำระเงินของพวกเขา
คุณสมบัติอื่น ๆ รวมถึง:
- การผสมผสานช่องทางการชำระเงินที่กำหนดเองโดยใช้ตัวเลือก การโอนเงินผ่านธนาคาร
- รองรับบัตรของขวัญ ด้วยช่องทางของแขกที่กำหนดเอง
ข้อมูลสำคัญ
- ที่พักต้อง เปิดใช้งานตัวเลือกการโอนเงินผ่านธนาคาร บน Cloudbeds PMS เพื่อเพิ่มช่องทางการชำระเงินที่กำหนดเองสำหรับ Booking Engine Plus
- ต้องใช้ JavaScript ที่กำหนดเองเพื่อเรียกเหตุการณ์แจ้งให้ Booking Engine เกี่ยวกับช่องทางการชำระเงินที่กำหนดเอง
- สามารถผสมผสานเพียง หนึ่ง (1) ช่องทางการชำระเงินที่กำหนดเอง เท่านั้น ซึ่งหมายความว่าที่พักไม่สามารถให้บริการทั้งการโอนเงินผ่านธนาคารและช่องทางการชำระเงินที่กำหนดเองพร้อมกัน
- การรองรับ บัตรของขวัญ ต้องการการเพิ่ม ช่องทางของแขกที่กำหนดเอง เพื่อใส่หมายเลขบัตรของขวัญ
- คำแนะนำด้านล่างนี้ใช้ได้ เฉพาะ สำหรับ Booking Engine Plus เท่านั้น ที่พักที่ใช้เวอร์ชันเก่าของ Cloudbeds Booking Engine ควรทำตาม คำแนะนำเหล่านี้
🚩ก่อนเริ่มต้น
- หมายเหตุ: ขั้นตอนที่ให้ไว้ที่นี่เป็นทรัพยากรข้อมูลเพิ่มเติมสำหรับผู้ที่คุ้นเคยกับ HTML และ CSS เท่านั้น และแนะนำให้ ผู้พัฒนาเว็บที่ชำนาญ เท่านั้น
- โค้ดอาจเก่าและต้องการ งานเพิ่มเติม บนมัน
- Cloudbeds ไม่ให้ ความช่วยเหลือในการสร้างวิดเจ็ตการจองกลุ่ม การปรับแต่งเครื่องมือการจอง หรือการออกแบบ/พัฒนาเว็บไซต์โรงแรม
- หากคุณไม่มีเว็บไซต์ และต้องการหนึ่ง โปรดตรวจสอบ บทความนี้
- หากคุณมีเว็บไซต์อยู่แล้ว เราขอแนะนำให้คุณ ติดต่อนักออกแบบเว็บหรือผู้พัฒนาเว็บ เพื่อติดตั้งเครื่องมือการจองของเรา
- เพื่อเพิ่มตัวเลือกการชำระเงินที่กำหนดเอง ที่พักต้องมี JavaScript ที่กำหนดเอง เพื่อใช้ EventSystem ที่ Booking Engine เปิดเผยเพื่อเปิดใช้ตัวเลือกการชำระเงินที่กำหนดเอง
เพิ่มช่องทางการชำระเงินและบัตรของขวัญจากบุคคลที่สามไปยังเครื่องมือจอง Cloudbeds
- ไปที่หน้า Settings
ในเมนู บัญชี
และคลิกที่ส่วน เครื่องมือจอง
- คลิกที่ ปรับแต่ง
- เพิ่มโค้ดต่อไปนี้ลงในช่อง JavaScript เพื่อสมัครสมาชิกในเหตุการณ์ on-booking-engine-ready (ซึ่งจะถูกส่งออกเมื่อเครื่องมือจองพร้อมที่จะเริ่มเรียกใช้งานและฟังเหตุการณ์) และแจ้งเครื่องมือจองเกี่ยวกับการใช้ตัวเลือกการชำระเงินที่กำหนดเองโดยใช้ EventSystem ด้วยโค้ดด้านล่าง
- คลิกที่ บันทึก
<script>
window.addEventListener('on-booking-engine-ready', (e) => {
const { eventSystem } = e.detail;
eventSystem.dispatchEvent("custom-payment-option-change", {
id: "%PAYMENT_OPTION_ID%",
instructions: "ข้อความเริ่มต้นสำหรับคำแนะนำของคุณที่นี่",
name: "ข้อความเริ่มต้นสำหรับฉลากของคุณที่นี่",
});
});
</script>
-
ใช้ eventStytem.dispatch() เพื่อส่งเหตุการณ์ custom-payment-option-change พร้อมกับ payload ต่อไปนี้:
-
id [string] ต้องถูกกำหนดด้วยความยาว มากกว่า 0, และถูกต้องในการใช้เป็น CSS id (ไม่มีช่องว่าง, ไม่มีเครื่องหมายอัฒภาค เป็นต้น). รูปแบบ id แนะนำ: kebab-case. แทนที่ %PAYMENT_OPTION_ID% ด้วย id ที่คุณต้องการใช้สำหรับช่องทางการชำระเงินที่กำหนดเอง, id นี้คือค่าที่จะถูกใช้โดยตัวเลือก CSS เพื่อปรับแต่ง UI.
-
instructions [string] ไม่บังคับ - เพื่อแสดงคำแนะนำ (หรือคำอธิบาย) เมื่อผู้ใช้คลิกที่ตัวเลือกการชำระเงินที่กำหนดเอง (ขยายออกเป็นแอคคอร์เดียน). ค่านี้ ต้องถูกกำหนด หากที่พักต้องการแสดงข้อความนั้นและจะทำหน้าที่เป็นตัวเลือกสำรองหากไม่ได้ปรับแต่งด้วย CSS สำหรับภาษาที่ระบุเฉพาะ.
-
name [string] ต้องถูกกำหนดด้วยความยาว มากกว่า 0.
-
-
สำคัญ:
-
หาก payload ของเหตุการณ์ไม่ตรงตามเงื่อนไขทั้งหมด, ตัวเลือกการชำระเงินที่กำหนดเอง จะไม่ถูกลงทะเบียน, และตัวเลือกการโอนเงินผ่านธนาคารจะยังคงแสดงอยู่
-
บันทึก การเปลี่ยนแปลงใน Cloudbeds PMS และเข้าถึงเครื่องมือจอง บนหน้าจอการชำระเงิน, ช่องทางการชำระเงินที่กำหนดเองของคุณจะถูกแสดงเป็นตัวเลือกการชำระเงิน, พร้อมกับไอคอนการ์ดเริ่มต้น
-
คุณสามารถ เพิ่ม CSS ที่กำหนดเอง เพื่อปรับแต่งรูปแบบของตัวเลือกการชำระเงินที่กำหนดเองโดยการเพิ่มเมต้าแท็กที่กำหนดเองใน Cloudbeds PMS
-
- คุณสามารถระบุ ข้อความที่ขึ้นอยู่กับภาษา สำหรับฉลาก:
html[lang="%LANG%"] [data-id="%PAYMENT_OPTION_ID%-name"]::before {
content: "ข้อความของคุณที่เฉพาะกับภาษานี้ไปที่นี่";
}
- คำแนะนำ ยังสามารถกำหนดค่าตามภาษาได้เช่นกัน:
html[lang="%LANG%"] [data-id="%PAYMENT_OPTION_ID%-instructions"]::before {
content: "ข้อความของคุณที่เฉพาะกับภาษานี้ไปที่นี่";
}
- และคุณสามารถ
เพิ่มโลโก้/ไอคอนที่กำหนดเอง ได้ด้วย:
// เพื่อซ่อนไอคอน SVG ที่เป็นค่าเริ่มต้น
[data-id="%PAYMENT_OPTION_ID%-icon"] svg {
display: none;
}
// เพื่อปรับแต่งไอคอนโดยตั้งค่าให้เป็นภาพพื้นหลัง
[data-id="%PAYMENT_OPTION_ID%-icon"] {
background-image: url(PAYMENT_OPTION_ICON_URL);
background-size: cover;
background-position: center;
width: 40px;
height: 40px;
}
- ณ จุดนี้, คุณได้เพิ่มและปรับแต่งตัวเลือกการชำระเงิน เพื่อใช้ตัวเลือกการชำระเงินที่กำหนดเอง เมื่อแขกจองโดยใช้ตัวเลือกการชำระเงินที่กำหนดเอง การจองจะถูกสร้างบน Cloudbeds PMS ด้วยวิธีการชำระเงินผ่านอินเตอร์เน็ต และเราจะไม่เรียกเก็บเงินใด ๆ
- โดยใช้EventSystem, คุณสามารถฟังอีเวนต์การสร้างการจอง เพื่อรับข้อมูลเกี่ยวกับการจองที่สร้างขึ้น และเปลี่ยนเส้นทางผู้ใช้ไปยังช่องทางการชำระเงินเพื่อทำการชำระเงินเสร็จสิ้น (สำหรับการผสานกับช่องทางการชำระเงินบุคคลที่สาม)
eventSystem.addEventListener('reservation-created', (data) = {
// โค้ดของคุณที่จะดำเนินการหลังจากการจองถูกสร้าง...
})
- ข้อมูล ที่เปิดเผยโดยอีเวนต์การสร้างการจอง มีรูปร่างดังนี้:
interface CreatedReservation {
booking_id?: `${number}`;
booking_total?: number;
checkin_date?: string;
checkout_date?: string;
city?: string;
currency_code?: string;
hotel_name?: string;
real_booking_total?: number;
resRooms?: {
adults: `${number}`;
id: `${number}`;
kids: `${number}`;
package: `${number}`;
package_name: string | null;
rate_id: `${number}`;
room_total: `${number}`;
room_type_id: `${number}`;
room_type_name: string;
room_type_photos: ({
TYPE?: string;
alt: string;
cropParam: string | null;
croppedImage: string;
fullPath: string;
galleryPath?: string | null;
id: string;
imageHeight: string;
imageWidth: string;
mime?: string;
originalName: string;
ownerId?: string;
ownerType?: string;
parentId: string;
path: string;
section?: string;
size?: string;
thumbPath: string;
uploadedAt?: string;
utype?: string;
} & {
featured: number;
featuredPath: string | null;
})[];
}[];
rooms?: Record<string, {="{" adults:="adults:" number;="number;" amount:="amount:" bookedid:="bookedId:" string[];="string[];" kids:="kids:" name:="name:" string;="string;" packageid?:="packageId?:" packagename?:="packageName?:" picture?:="picture?:" price?:="price?:" rateid:="rateId:" roomid:="roomId:" unit?:="unit?:" }="}">;
state?: string;
total_tax?: number;
widget_property?: number;
};</string,>
ข้อคิดเห็น
โปรด ลงชื่อเข้าใช้ เพื่อแสดงข้อคิดเห็น