Agoda's YCS Mobile Bookings feature
Création de l'expérience mobile sur l'outil d'extranet partenaire d'Agoda
Rôle
Designer de produit - Entreprise
Rôle
Designer de produit - Entreprise
Rôle
Designer de produit - Entreprise
Industrie
B2B - Voyages et tourisme
Industrie
B2B - Voyages et tourisme
Industrie
B2B - Voyages et tourisme
Tag
design-system
Tag
design-system
Tag
design-system
Étape 1. Énoncé du problème et opportunités
Aperçu du projet
YCS est le portail extranet d'Agoda pour les partenaires hôteliers. Il leur permet de gérer les réservations et les quotas, de recevoir des paiements et d'obtenir des informations sur les performances de leur établissement par rapport à leurs concurrents. En février 2024, j'ai redessiné la page de réservation pour les utilisateurs mobiles.
Votre rôle
En tant que designer produit, j'ai défini la portée des livrables, conçu et conçu pour les utilisateurs mobiles, et collaboré régulièrement avec le propriétaire du produit et les ingénieurs pour assurer l'alignement. J'ai également exploité le système de conception existant d'Agoda pour accélérer la production.
Défis
Le plus grand défi a été d'adapter les pages ou fonctionnalités à une utilisation mobile sans introduire de nouvelles approches de conception, comme avec la sous-page de ventilation des prix.
Étape 1. Énoncé du problème et opportunités
Aperçu du projet
YCS est le portail extranet d'Agoda pour les partenaires hôteliers. Il leur permet de gérer les réservations et les quotas, de recevoir des paiements et d'obtenir des informations sur les performances de leur établissement par rapport à leurs concurrents. En février 2024, j'ai redessiné la page de réservation pour les utilisateurs mobiles.
Votre rôle
En tant que designer produit, j'ai défini la portée des livrables, conçu et conçu pour les utilisateurs mobiles, et collaboré régulièrement avec le propriétaire du produit et les ingénieurs pour assurer l'alignement. J'ai également exploité le système de conception existant d'Agoda pour accélérer la production.
Défis
Le plus grand défi a été d'adapter les pages ou fonctionnalités à une utilisation mobile sans introduire de nouvelles approches de conception, comme avec la sous-page de ventilation des prix.
Étape 2. Délimitation
Dès le début de ce projet, j'ai travaillé avec le chef de produit pour définir les livrables, en divisant le projet en trois phases. La phase 1 était axée sur la recréation de toutes les pages statiques pour les mobiles, et la phase 2 comprenait des fonctionnalités telles que la vérification des informations de carte de crédit.
Bien que je n'aie pas travaillé sur la phase 3, elle impliquait l'introduction de fonctionnalités et de sous-pages prises en charge par d'autres équipes pour l'expérience mobile.
Dans l'étude suivante, je me concentre sur la phase 1 et la phase 2.
Étape 3. Pages statiques (Phase 1)
3.1 Page de recherche
3.1.1 Barre de recherche
La première tâche à laquelle j'ai travaillé lors de la conception des pages statiques a été la barre de recherche. Les recherches des utilisateurs sur la version bureau ont montré que la plupart des hôtels :
Recherchaient principalement par dates
Préféraient trouver des réservations dans la semaine
Sur cette base, nous avons mis l'accent sur les dates dans la conception de notre barre de recherche.
Nous nous sommes également assurés que les hôtels puissent filtrer leurs recherches par nom d'invité et numéro de réservation.
Enfin, nous avons ajouté des filtres pour le type de chambre, le type de tarif, le type de canal et le mode de paiement.
Lorsque des filtres sont appliqués pour un type de chambre spécifique, un type de tarif et/ou un mode de paiement, nous affichons la sélection appliquée sous forme de puce rétractable sous la barre de recherche. Par défaut, nous adoptons une approche "tout sélectionner" pour les filtres.
Étape 3. Pages statiques (Phase 1)
3.1 Page de recherche
3.1.1 Barre de recherche
La première tâche à laquelle j'ai travaillé lors de la conception des pages statiques a été la barre de recherche. Les recherches des utilisateurs sur la version bureau ont montré que la plupart des hôtels :
Recherchaient principalement par dates
Préféraient trouver des réservations dans la semaine
Sur cette base, nous avons mis l'accent sur les dates dans la conception de notre barre de recherche.
Nous nous sommes également assurés que les hôtels puissent filtrer leurs recherches par nom d'invité et numéro de réservation.
Enfin, nous avons ajouté des filtres pour le type de chambre, le type de tarif, le type de canal et le mode de paiement.
Lorsque des filtres sont appliqués pour un type de chambre spécifique, un type de tarif et/ou un mode de paiement, nous affichons la sélection appliquée sous forme de puce rétractable sous la barre de recherche. Par défaut, nous adoptons une approche "tout sélectionner" pour les filtres.
Cependant, lors de ma synchronisation avec le gestionnaire de produit, il y a eu des commentaires selon lesquels cette barre de recherche simplifiée pourrait réduire la découvrabilité des fonctionnalités et rendre la fonction de recherche moins utilisable. Un designer de produit principal a suggéré que nous fassions de chaque catégorie de recherche une rangée distincte comme ceci :
Bien que j'aie compris les commentaires, j'étais préoccupé par le fait que des rangées distinctes pour chaque catégorie de recherche prendraient trop de place sur les écrans de téléphone mobile. À la place, j'ai proposé de placer les filtres à côté du bouton de recherche.
Edge cases
For edge cases, I identified four types of errors:
When the selected dates are more than 366 days in the past or future.
When special characters are entered in the booking ID/name search field.
When the search yields no results.
When there is a system error
Edge cases
For edge cases, I identified four types of errors:
When the selected dates are more than 366 days in the past or future.
When special characters are entered in the booking ID/name search field.
When the search yields no results.
When there is a system error
3.1.2 Booking cards
Next, I focused on how to display booking information. On the desktop view, we used a table to list bookings by status (Confirmed, Amended, Cancelled).
Space was limited for the mobile view, so we decided to use card components for a more digestible layout. I designed four options, and we chose option 1 because its clearly labeled action buttons provided better user affordance. Although Option 1's use of iconography was appealing, the lack of icons in Option 3 helped avoid distractions. We also placed stay duration information next to the stay dates.
3.1.2 Booking cards
Next, I focused on how to display booking information. On the desktop view, we used a table to list bookings by status (Confirmed, Amended, Cancelled).
Space was limited for the mobile view, so we decided to use card components for a more digestible layout. I designed four options, and we chose option 1 because its clearly labeled action buttons provided better user affordance. Although Option 1's use of iconography was appealing, the lack of icons in Option 3 helped avoid distractions. We also placed stay duration information next to the stay dates.
3.2 Booking details page
The booking details page was part of Phase 1. It was simple enough that I only needed to change the information layout from horizontal to vertical.
The more complex task was adapting the price breakdown sub-page for mobile. I tackled this by using a card design, grouping all price-related information in a single card for each stay date. These cards were then placed on a scrollable bottom sheet.
3.2 Booking details page
The booking details page was part of Phase 1. It was simple enough that I only needed to change the information layout from horizontal to vertical.
The more complex task was adapting the price breakdown sub-page for mobile. I tackled this by using a card design, grouping all price-related information in a single card for each stay date. These cards were then placed on a scrollable bottom sheet.
Stage 4. Property collect features (Phase 2)
In the second phase, we had to design four features for bookings where the property collects payment from hotel guests:
Search Page's action menu
Mark as no-show
Verify credit card
Request a new credit card
Cancel booking when a credit card is not provided
View payment card details. We decided, however, to make this feature only available on the desktop view.
4.1. Search Page's action menu
From the search page, hotels can trigger a menu of actions they can take on bookings (Mark as a no-show, Verify credit card, Request a new credit card) while browsing through cards.
I proposed three design options for this action menu:
Option #1: A bottom sheet with actions and some information, forming call-to-action buttons.
Option #2: A bottom sheet with actions as call-to-action buttons, each with attached information.
Option #3: A bottom sheet with simple call-to-action buttons and tooltips that display more information in a modal.
Option #3, though it added an extra step, offered clear call-to-action buttons and detailed information about each action.
4.2. Mark as a no-show (Feature)
Within 72 hours of the check-in date, hotels can mark a guest as a no-show and cancel the booking. Before that, the "mark as no-show" button is disabled.
Once enabled, if the hotel chooses to go ahead and mark the guest as a no-show, it follows the following flow:
4.3. Verify credit card (Feature)
Another feature I had to account for was verifying credit cards. Since the flow already existed on the desktop, recreating it on mobile was straightforward.
In the simplest scenario, upon clicking the "Verify now" button, the hotel receives confirmation that the card is valid and successfully verified that day.
When the card is invalid for any reason, we can request the hotel guest to provide new card details. Note that the following flow is also triggered when the hotel clicks on the "request a new card" button to ask for a new card from the guest.
If the hotel guest provides new card information, we inform the hotel:
If the hotel guest doesn't provide any information within 72 hours of the check-in date, the hotel can cancel the booking.
4.4. Request new credit card (Feature)
This feature follows the same flow used in the card verification process for requesting a new valid card.
4.5. Cancel booking (No CC)
If a credit card is not provided by hotel guests, the booking can be canceled in certain cases:
The hotel can cancel the booking if the guest has not confirmed their stay 14 hours before check-in.
However, if the guest confirms their stay 14 hours before check-in, the hotel cannot cancel the booking.In other cases, a machine-learning algorithm handles cancellations by determining if a guest is a high-risk no-show.
If a guest is likely to check in, as determined by the machine-learning algorithm, we do not allow hotels to cancel.
Stage 5. Chat feature
On the booking details page, users can always access a "chat" button that opens a chat window with the guest:
At the top of the page
At the bottom of the page
From the search page of bookings:
Next steps and acknowledgments
In Phase 3, we planned to introduce features and subpages built and supported by other teams as part of the mobile experience. Unfortunately, I didn't get to work on Phase 3 because I decided to transition out of Agoda. I credit much of my success on this project to my extensive collaboration with Brady Liu (Senior Designer - Enterprise), Lei Lei Wu (Product Owner), and the team of over 20 engineers who supported this product feature launch.
Stage 4. Property collect features (Phase 2)
In the second phase, we had to design four features for bookings where the property collects payment from hotel guests:
Search Page's action menu
Mark as no-show
Verify credit card
Request a new credit card
Cancel booking when a credit card is not provided
View payment card details. We decided, however, to make this feature only available on the desktop view.
4.1. Search Page's action menu
From the search page, hotels can trigger a menu of actions they can take on bookings (Mark as a no-show, Verify credit card, Request a new credit card) while browsing through cards.
I proposed three design options for this action menu:
Option #1: A bottom sheet with actions and some information, forming call-to-action buttons.
Option #2: A bottom sheet with actions as call-to-action buttons, each with attached information.
Option #3: A bottom sheet with simple call-to-action buttons and tooltips that display more information in a modal.
Option #3, though it added an extra step, offered clear call-to-action buttons and detailed information about each action.
4.2. Mark as a no-show (Feature)
Within 72 hours of the check-in date, hotels can mark a guest as a no-show and cancel the booking. Before that, the "mark as no-show" button is disabled.
Once enabled, if the hotel chooses to go ahead and mark the guest as a no-show, it follows the following flow:
4.3. Verify credit card (Feature)
Another feature I had to account for was verifying credit cards. Since the flow already existed on the desktop, recreating it on mobile was straightforward.
In the simplest scenario, upon clicking the "Verify now" button, the hotel receives confirmation that the card is valid and successfully verified that day.
When the card is invalid for any reason, we can request the hotel guest to provide new card details. Note that the following flow is also triggered when the hotel clicks on the "request a new card" button to ask for a new card from the guest.
If the hotel guest provides new card information, we inform the hotel:
If the hotel guest doesn't provide any information within 72 hours of the check-in date, the hotel can cancel the booking.
4.4. Request new credit card (Feature)
This feature follows the same flow used in the card verification process for requesting a new valid card.
4.5. Cancel booking (No CC)
If a credit card is not provided by hotel guests, the booking can be canceled in certain cases:
The hotel can cancel the booking if the guest has not confirmed their stay 14 hours before check-in.
However, if the guest confirms their stay 14 hours before check-in, the hotel cannot cancel the booking.In other cases, a machine-learning algorithm handles cancellations by determining if a guest is a high-risk no-show.
If a guest is likely to check in, as determined by the machine-learning algorithm, we do not allow hotels to cancel.
Stage 5. Chat feature
On the booking details page, users can always access a "chat" button that opens a chat window with the guest:
At the top of the page
At the bottom of the page
From the search page of bookings:
Next steps and acknowledgments
In Phase 3, we planned to introduce features and subpages built and supported by other teams as part of the mobile experience. Unfortunately, I didn't get to work on Phase 3 because I decided to transition out of Agoda. I credit much of my success on this project to my extensive collaboration with Brady Liu (Senior Designer - Enterprise), Lei Lei Wu (Product Owner), and the team of over 20 engineers who supported this product feature launch.
Autres projets
Rénovation du système de conception de NerdWallet
Consolidating NerdWallet's Design System Libraries in Figma
Dell's Data visualization library
Conception de palettes de couleurs de visualisation des données pour le système de conception de Dell
Agoda PBS Config
Présentation d'un flux d'approbation pour la comparaison et la recherche de prix sur Agoda