Aperçu
Le système d'événements est une fonction de notre moteur de réservation qui permet la communication avec d'autres personnes et programmes externes. Cela permet aux utilisateurs de recevoir des mises à jour ou d'automatiser certaines tâches lors de l'utilisation du moteur de réservation. En ajoutant des instructions spécifiques dans les paramètres, le système s'occupe du reste.
Cet article sert de référence pour les intégrations tierces, vous aidant à connecter et utiliser efficacement le système d'événements.
Limitations du code personnalisé et notes de maintenance
- Note : Les étapes fournies ici sont une ressource d'information supplémentaire destinée à ceux qui maîtrisent déjà le HTML et le CSS ; elles sont uniquement suggérées aux développeurs web expérimentés.
- À mesure que les produits Cloudbeds et le moteur de réservation évoluent, les personnalisations auto-appliquées peuvent devenir obsolètes ou nécessiter un travail supplémentaire avec l'évolution de la technologie. Cela fait partie du processus normal de maintenance continue, et nous ne pouvons pas assurer le support du fonctionnement du code personnalisé.
- Responsabilité et recommandations de l'utilisateur
- Testez le comportement du code après sa mise en œuvre, sur les versions bureau et mobile.
- Assurez-vous que les codes sont régulièrement mis à jour pour maintenir leur fonctionnalité, et supprimez ceux qui deviennent obsolètes.
- Cloudbeds n'offre pas d'assistance pour la conception/développement de sites web hôteliers, ni pour les personnalisations non fournies par nos services de personnalisation professionnels.
Comment utiliser le système d'émission d'événements
- Accédez à la page Paramètres
du menu Compte
et cliquez sur la section Moteur de réservation
- Cliquez sur Personnaliser
-
Ajoutez le code ci-dessous dans le champ JavaScript
Pour utiliser le système d'événements, vous devez ajouter un écouteur d'événements pour l'événement on-booking-engine-ready, qui expose le eventSystem comme suit :<script> window.addEventListener('on-booking-engine-ready', (e) => { const { eventSystem } = e.detail; }); </script> - Cliquez sur Enregistrer
-
Le eventSystem implémente l'interface IExternalEventSystem :
interface IExternalEventSystem { addEventListener: ( event: EventType, listener: (payload: PayloadOf<EventType>) => void ) => void; dispatchEvent: (event: EventType, payload: PayloadOf<EventType>) => void; removeEventListener: ( event: EventType, listener: (payload: PayloadOf<EventType>) => void ) => void; }Où EventType désigne le type d'événements que nous pouvons déclencher ou écouter, et PayloadOf<EventType> désigne la charge utile envoyée avec l'événement.
Événements déclenchés par le moteur de réservation
- currency-change :
Cet événement est déclenché lorsque l'utilisateur modifie la devise du moteur de réservation via le sélecteur de devise dans l'en-tête. La valeur currency dans la charge utile est l'abréviation de la devise sélectionnée, identique à celle qui apparaît dans le paramètre de requête currency de l'URL.
export type CurrencyChangeEvent = {
event: 'currency-change';
payload: { currency: Currency };
};- language-change événement :
Cet événement est déclenché lorsque l'utilisateur change la langue du moteur de réservation via le sélecteur de langue dans l'en-tête. La valeur language dans la charge utile est l'abréviation de la langue sélectionnée, telle qu'elle apparaît dans l'URL.
type LanguageChangeEvent = {
event: 'language-change';
payload: { language: Language };
};- reservation-created événement :
Cet événement est déclenché lorsqu'une réservation est créée dans le moteur de réservation.
type ReservationCreatedEvent = {
event: 'reservation-created';
payload: CreatedReservation;
};Quand CreatedReservation est :
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: number;
amount: number;
bookedId: string[];
kids: number;
name: string;
packageId?: string;
packageName?: string;
picture?: string;
price?: number;
rateId: string;
roomId: string;
unit?: string;
}>;
state?: string;
total_tax?: number;
widget_property?: number;
};Événements auxquels le moteur de réservation s'abonne
- custom-payment-option-change
Cet événement est utilisé par les établissements qui souhaitent proposer une option de paiement personnalisée à leurs clients.
type CustomPaymentOptionChangeEvent = {
event: 'custom-payment-option-change';
payload: {
id: string;
instructions?: string;
name: string;
};
};Exemple d’utilisation de l’émetteur d’événements : option de paiement personnalisée et cartes cadeau
Pour découvrir comment le système d’événements est utilisé en pratique, consultez : Ajouter des passerelles de paiement tierces et des cartes cadeau au moteur de réservation.
Commentaires
Vous devez vous connecter pour laisser un commentaire.