FR 3055056 A1 20180216 FR 1657703 A 20160811 1 GÉNÉRATION DE RECOMMANDATIONS POUR DES ITINÉRAIRES AYANT DEUX OU PLUSIEURS SEGMENTS DOMAINE TECHNIQUE [0001] L'invention concerne de façon générale des ordinateurs, et des logiciels et en particulier des procédés, des systèmes et des produits-programmes d'ordinateur générant des recommandations pour un itinéraire ayant deux ou plusieurs segments. CONTEXTE 10 [0002] La technologie informatique est de plus en plus utilisée dans l'industrie du voyage pour générer, soutenir, finaliser des ventes, réserver et traiter des réservations de voyage ainsi que les données qui leur sont associées. Généralement, des agents de voyage tiers (o.-à-d. des agents de voyage) ou des voyageurs réservent des vols sur la base des structures de tarifs établies par diverses compagnies aériennes. Les approches utilisées pour calculer les tarifs facturés par 15 une compagnie aérienne peuvent être complexes et on remarquera que les mêmes sièges sur un même vol peuvent être facturés différemment pour divers passagers. Par exemple, les voyageurs d'affaires peuvent être facturés plus pour un vol particulier que des personnes qui voyagent pour le plaisir sur le même vol, puisque les personnes qui voyagent par plaisir ont tendance à avoir plus de flexibilité par rapport aux restrictions de voyage. En effet, les voyageurs doivent tenir 20 compte de plusieurs facteurs lorsqu'ils font des réservations de vols comme, par exemple, les dates de voyage, les services offerts, et les diverses séquences de vols entre une origine est un segment. [0003] Dans une approche pour présenter diverses recommandations-de voyage à des agents de réservation et à des voyageurs, les informations concernant le vol peuvent être présentées sur 25 la base d'un affichage de calendrier. Dans cette approche, le vol le moins cher qui part chaque jour est affiché pour une fourchette de dates. Alternativement, un tableau de voyage peut être généré qui affiche tous les vols disponibles entre une origine particulière et une destination spécifique. Spécifiquement, le tableau de voyage peut lister les prix les moins chers disponibles pour chaque vol, ainsi que d'autres prix plus élevés, correspondant à différentes familles de tarifs 30 pour le même vol, pouvant offrir une plus grande flexibilité ou plus de prestations. Une famille de tarifs est un groupe de tarifs ayant les mêmes caractéristiques et prestations telles que, par 3055056 2 exemple, des conditions, des repas, des types de sièges, des possibilités de changement de date, et des frais d'annulation. [0004] Dans une approche particulière, divers tarifs peuvent être présentés à l'aide d'un tableau de voyage ou d'un affichage de calendrier et sont groupés sur la base d'un mode d'affichage d'allers simples. L'affichage d'allers simples liste les vols de départ séparément des vols de retour. Les tarifs et les vols proposés pour les vols de retour dépendent du tarif et du vol sélectionné par le voyageur pour le vol de départ. Par conséquent, toute combinaison de vols de départ et de vols de retour possible doit être calculée par le système. Bien que cet affichage d'allers simples offre beaucoup d'avantages, cette approche ne peut générer qu'un nombre limité de recommandations de voyage. Par ailleurs le système d'inventaire d'une compagnie aérienne peut être sollicité à multiples reprises pour extraire des informations, afin de générer l'affichage à la fois du calendrier et du tableau de voyage. [0005] Dans une autre approche, les tarifs peuvent être présentés en utilisant l'affichage du tableau de voyage ou du calendrier sur la base d'un mode combinable d'allers simples. On remarquera que le tarif désigné comme un aller simple combinable peut être combiné avec un autre tarif pour un aller simple combinable. En revanche, un tarif désigné comme non combinable ne peut être combiné avec aucun autre tarif. En outre deux ou plusieurs tarifs d'aller simple combinable peuvent être utilisés pour créer une réservation pour un aller simple incluant des segments de vols multiples. En utilisant l'approche d'aller simple combinable, la recherche pour des vols disponibles peut être segmentée en vols de départ ou de retour. Spécifiquement, un voyageur peut sélectionner son vol de départ indépendamment du vol de retour, ce qui augmente le nombre de recommandations de voyage qui peuvent être présentées en.une fois au voyageur. Cela est dû au fait que le système n'a pas besoin de calculer toutes les combinaisons possibles à l'avance. Cependant les compagnies aériennes ont besoin d'adhérer à des lignes directrices strictes pour assurer que les vols de départ et les vols de retour sont combinables entre eux pour toutes les recommandations de voyage présentées aux voyageurs. [0006] Ainsi, des procédés, des systèmes et des produits-programmes d'ordinateur sont nécessaires pour les échanges de réservation de voyage, afin d'améliorer l'efficacité de la génération de recommandations pour un itinéraire ayant de multiples segments. 3055056 3 RÉSUMÉ [0007] Dans un mode de réalisation de l'invention, un système pour générer des recommandations pour un voyage est révélé. Le système inclut au moins un processeur et une 5 mémoire couplée aux processeurs ainsi que la mémoire enregistrant des données comprenant le code de programme qui, lors de l'exécution par un ou plusieurs processeurs, amène le système à recevoir une requête pour le voyage, dans lequel le voyage inclut au moins un premier segment et un second segment. En réponse à la réception de la requête, le système génère une pluralité de suggestions de réservation correspondant à la fois au premier segment et au second segment du 10 voyage. Le système enregistre les réservations suggérées correspondant au premier et au second segment dans une mémoire, dans laquelle les réservations suggérées correspondant au second segment coïncident avec un sous-ensemble de réservations suggérées publiées pour affichage, pour le premier segment. Le système publie les réservations suggérées correspondant au premier segment pour affichage à l'attention d'un utilisateur. En réponse à la réception d'une saisie qui 15 indique une réservation sélectionnée pour le premier segment, le système détermine si la réservation sélectionnée est l'une des réservations du sous-ensemble de réservations suggérées correspondant au premier segment. En réponse à la réservation sélectionnée étant l'une des réservations du sous-ensemble de réservations, le système récupère les réservations suggérées correspondant au second segment dans la mémoire. Le système publie les réservations suggérées 20 correspondant au second segment pour affichage à l'attention de l'utilisateur. [0008] Dans un mode de réalisation, en réponse à la réservation sélectionnée étant différente de l'une des réservations du sous-ensemble de réservations, le système calcule, pour le second segment, un autre ensemble de réservations qui correspondent à la réservation sélectionnée pour le premier segment, et publie, pour le second segment, l'autre ensemble de réservations pour 25 affichage à l'attention de l'utilisateur. [0009] Dans un mode de réalisation, le sous-ensemble des réservations suggérées correspondant au premier segment est basé sur un pourcentage des occurrences de réservations suggérées en mémoire correspondant au second segment qui sont publiées instantanément en réponse à la réception d'une saisie indiquant la réservation sélectionnée pour le premier segment. 30 Dans un autre mode de réalisation, le code de programme, lors de l'exécution par un ou plusieurs processeurs, amène par ailleurs le système à déterminer une quantité. La quantité représente un nombre de réservations correspondant au second segment qui a besoin d'être déterminé afin que 3055056 4 les réservations suggérées en mémoire, correspondant au second segment, soient publiées instantanément en réponse à une saisie qui indique la réservation sélectionnée pour le premier segment. [0010] Dans encore un autre mode de réalisation, le code de programme, lorsqu'il est exécuté 5 par un ou plusieurs processeurs, amène par ailleurs le système à enregistrer les réservations suggérées correspondant au premier segment et au second segment dans la mémoire pour une durée prédéterminée. La durée prédéterminée est ajustable. Dans un autre mode de réalisation, la durée prédéterminée est basée sur la moyenne du temps d'une conversation avec l'utilisateur sur un site web et de la volatilité de la disponibilité des données pour le voyage ; 10 [0011] Dans encore un autre mode de réalisation, le premier segment a portion de départ d'un voyage, le second segment est la portion de retour du voyage et le voyage est un voyage aller-retour. [0012] Dans un mode de réalisation le code de programme, en réponse à la réception d'une autre saisie qui indique une autre réservation sélectionnée pour le second segment, le système à 15 mettre à jour les réservations suggérées correspondant au premier segment qui sont publiées pour affichage à l'attention de l'utilisateur. [0013] Dans un autre mode de réalisation, la réservation sélectionnée pour le premier segment est sauvegardée dans la mémoire comme une clé spécifique. [0014] Dans un autre mode de réalisation de l'invention, un procédé de génération de 20 recommandations est divulgué. Le procédé inclut la réception, par un ordinateur, d'une requête pour le voyage. Le voyage inclut au moins un premier segment et un second segment. En réponse à la réception de la requête, le procédé inclut la génération par l'ordinateur d'une pluralité de suggestions de réservations à la fois pour le premier segment et pour le second segment du voyage. Le procédé inclut, par ailleurs, l'enregistrement des réservations suggérées 25 correspondant au premier segment et au second segment dans la mémoire d'un ordinateur. Les réservations suggérées correspondant au second segment coïncident avec un sous-ensemble de réservations suggérées publiées pour affichage qui correspondent au premier segment. Le procédé inclut aussi la publication des réservations suggérées correspondant au premier segment pour affichage à l'attention d'un l'utilisateur. En réponse à la réception d'une saisie qui indique 30 une réservation sélectionnée pour le premier segment, le procédé inclut que l'ordinateur détermine si la réservation sélectionnée est l'une des réservations d'un sous-ensemble de réservations suggérées correspondant au premier segment. En réponse à la réservation 3055056 5 sélectionnée étant l'une des réservations du sous-ensemble de réservations, le procédé inclut la récupération dans la mémoire de l'ordinateur des réservations suggérées correspondant au second segment. Enfin, le procédé inclut la publication des réservations suggérées correspondant au second segment pour affichage à l'attention de l'utilisateur. 5 [0015] Dans un autre mode de réalisation de l'invention, un produit-programme d'ordinateur est fourni pour générer des recommandations pour un voyage, le produit-programme d'ordinateur comprenant un support durable de stockage de masse lisible par ordinateur et un code de programme enregistré sur le support durable de stockage lisible par ordinateur qui, lors de l'exécution par un ou plusieurs processeurs, amène un ou plusieurs processeurs à recevoir une 10 requête pour le voyage. Le voyage inclut au moins un premier segment et un second segment. En -réponse à la réception de la requête, le système peut par ailleurs être amené à générer une pluralité de suggestions de réservations à la fois pour le premier segment et le second segment du voyage. Le système peut en outre être amené à enregistrer dans une mémoire les réservations suggérées correspondant au premier segment et au second segment, dans une mémoire. Les 15 réservations suggérées, correspondant au second segment, coïncident avec un sous-ensemble de réservations suggérées publiées pour affichage, correspondant au premier segment. Le système peut, par ailleurs, être amené à publier les réservations suggérées correspondant au premier segment pour affichage à l'attention de l'utilisateur. En réponse à la réception d'une saisie qui indique une réservation sélectionnée pour le premier segment, le système peut, par ailleurs, être 20 amené à déterminer si la réservation sélectionnée est l'une des réservations d'un sous-ensemble de réservations suggérées correspondant au premier segment. En réponse à la réservation sélectionnée étant l'une des réservations du sous-ensemble de réservations, le système peut, par ailleurs, être amené à récupérer les réservations correspondant au second segment dans la mémoire de l'ordinateur. Le système peut par ailleurs être amené à publier les réservations 25 suggérées correspondant au second segment pour affichage à l'attention de l'utilisateur. [0016] Le résumé ci-dessus est bref et simplifié pour apporter une compréhension basique de certains aspects des systèmes et/ou procédés détaillés dans les présentes. Ce résumé n'est pas un aperçu extensif des systèmes et/ou procédés détaillés dans les présentes. Il ne prétend, ni identifier des éléments clés ou décisifs, ni définir la portée de tels systèmes et/ou procédés. Son 30 seul but est de présenter certains concepts de façon simplifiée en préface à la description plus détaillée qui est exposée par la suite. 3055056 6 BRÈVE DESCRIPTION DES DESSINS [0017] Les dessins, qui font partie intégrante des spécifications, illustrent des modes variés de réalisation de l'invention et, avec la description générale de l'invention ci-dessus et la 5 description détaillée des modes de réalisation donnée ci-après, servent à expliquer les modes de réalisation de l'invention. [0018] FIG. 1 est une vue schématique d'un environnement d'exploitation exemplaire pour générer des recommandations pour un itinéraire de voyage ayant deux ou plusieurs segments, l'environnement d'exploitation incluant une interface d'utilisateur, un frontal (front-end) et un 10 arrière-plan (back-end) en communication l'un avec l'autre via un réseau. [0019] FIG. 2 est une vue schématique du système informatique exemplaire de la FIG.1. [0020] FIG. 3 est une illustration schématique de deux voyages aller-retour pouvant être calculés par l'environnement d'exploitation, montré dans la FIG. 1, pour une famille tarifaire d'allers simple. 15 [0021] FIG. 4 est une illustration exemplaire d'un tableau de voyage de départ qui peut être publié pour affichage sur l'interface de l'utilisateur montrée dans la FIG. 1. [0022] FIG. 5 est une illustration exemplaire du tableau de voyage de départ et du tableau de voyage de retour qui peuvent être publiés pour affichage sur l'interface de l'utilisateur montrée dans la FIG.1. 20 DESCRIPTION DÉTAILLÉE [0023] Faisant maintenant référence à la FIG. 1, un environnement d'exploitation 10 conformément avec un mode de réalisation de l'invention peut inclure une interface d'utilisateur 12, un frontal 14 et un arrière-plan 16. Le frontal 14 de l'environnement 25 d'exploitation 10 peut inclure un moteur de réservation 17, un agrégateur 18, un calculateur de popularité 20, et une base de données de popularité 22. L'arrière-plan 16 de l'environnement d'exploitation 10 peut inclure une base de données tarifaire 24, un moteur de tarification 25, un serveur de contexte 26, un moteur de planification 28 et une ou plusieurs bases de données de disponibilité 30. L'interface d'utilisateur 12 peut être en communication avec le frontal 14 et le 30 frontal 14 peut être en communication avec l'arrière-plan 16 par l'intermédiaire d'un réseau 32. Le réseau 32 peut inclure un ou plusieurs réseaux publics ou privés (p. ex., Internet) qui permettent l'échange de données. 3055056 7 [0024] L'interface d'utilisateur 12 peut fournir aux utilisateurs finaux une interface pour accéder au frontal 14 de l'environnement d'exploitation 10 permettant aux utilisateurs finaux de rechercher et de réserver des itinéraires de voyage. Dans un mode de réalisation, l'utilisateur final peut être un voyageur ou un agent de voyage. L'interface d'utilisateur 12 peut comprendre 5 un ordinateur de bureau, un ordinateur portable, une tablette informatique, un téléphone intelligent (smartphone) ou tout autre dispositif informatique approprié. L'utilisateur final peut se servir de l'interface d'utilisateur 12 pour rechercher et pour réserver-des services de voyage en accédant au frontal 14 par l'intermédiaire du réseau 32. L'interface d'utilisateur 12 peut aussi inclure une application accessible par l'utilisateur final permettant à l'utilisateur final de 10 rechercher et de réserver des itinéraires de voyage. Cette application peut comprendre, par exemple, un site web de voyage qui est accessible par le réseau 32 en utilisant un navigateur web fourni par l'interface d'utilisateur 12. [0025] Comme expliqué de façon plus détaillée ci-dessous, une ou plusieurs réservations suggérées pour un itinéraire de voyage peuvent être publiées sur l'écran 34 de l'interface 15 d'utilisateur 12 pour affichage à l'attention d'un utilisateur final. Les réservations suggérées peuvent être basées sur divers attributs de voyage indiqués par l'utilisateur final. Des exemples d'attributs de voyage incluent, sans y être limités, des dates de départ, des horaires de départ, des familles tarifaires et un prix. Les hommes de métier comprendront aisément qu'une famille tarifaire peut être un groupe spécifique de tarifs avec les mêmes caractéristiques et prestations 20 telles que, sans y être limité, des termes et conditions, la possibilité de changement de date, et des frais d'annulation. [0026] Dans les modes de réalisation exemplaires décrits dans la présente divulgation, l'itinéraire de voyage est un voyage aller-retour ayant deux segments, notamment une portion de départ et une portion de retour. Pour exemple, les modes de réalisation exemplaires décrits ci- 25 dessous et illustrés dans les FIGS. 3-5 sont pour un voyage aller-retour, de Nice à Paris pour la portion de départ, et de Paris à Nice pour la portion de retour. Cependant, on remarquera que le système d'exploitation 10 n'est pas limité à la seule génération de suggestions de voyage pour des voyages aller-retour. Au contraire, le système d'exploitation 10 révélé peut être utilisé pour fournir des suggestions de réservation pour tout itinéraire de voyage ayant deux ou plusieurs 30 segments. Par ailleurs, on remarquera que les modes de réalisation révélés décrivent des réservations suggérées fournies à un voyageur en premier lieu pour une portion de départ d'un itinéraire, puis pour des réservations suggérées pour la portion de retour de l'itinéraire qui sont 3055056 basées sur un vol de départ particulier sélectionné par l'utilisateur final, mais dans un mode de réalisation alternatif, le système d'exploitation 10 peut aussi fournir en premier la portion de retour de l'itinéraire. Enfin, on remarquera que même si les modes de réalisation exemplaires décrivent l'achat de billets d'avion, l'approche révélée peut être appliquée pour fournir des 5 suggestions de réservation pour tout autre mode de voyage ayant deux ou plusieurs segments, tel que par exemple un voyage en train. [0027] Les agents de voyage et les voyageurs peuvent accéder au frontal 14 de l'environnement d'exploitation 10 grâce à l'interface d'utilisateur 12 par l'intermédiaire du réseau 32. Comme on le voit dans la FIG. 1, le moteur de réservation 17 inclut l'agrégateur 18. 10 L'agrégateur 18 peut recevoir une requête d'un utilisateur final en provenance de l'interface de l'utilisateur 12, par l'intermédiaire du réseau 32, pour des suggestions de réservation pois un itinéraire de voyage particulier ayant deux ou plusieurs segments. Par exemple, la requête peut inclure une origine, une destination, des dates de départ et des horaires de départ. Comme expliqué de façon plus détaillée ci-dessous, une pluralité de vols de départ suggérés, basés sur la 15 requête, peut d'abord être publiée pour affichage à l'attention de l'utilisateur sur l'écran 34 de l'interface d'utilisateur 12. Puis, dès que l'utilisateur final sélectionne un vol de départ particulier, une pluralité de vols de retour suggérés, correspondant au vol de départ sélectionné, peut être publiée pour affichage. Par ailleurs, comme expliqué ci-dessous et illustré dans les FIGS. 3-5, dès qu'un utilisateur final a sélectionné un des vols de départ, une mise à jour de segment peut 20 être effectuée afin d'actualiser les vols de retour qui sont affichés. [0028] En réponse à la réception de la requête de l'utilisateur final pour l'itinéraire de voyage, l'agrégateur 18 peut communiquer avec le calculateur de popularité 20 pour déterminer un pourcentage des occurrences d'une pluralité de réservations suggérées pour des vols de retour qui sont affichés instantanément sur l'écran 34 de l'interface de l'utilisateur 12 en réponse à la 25 sélection d'un vol de départ particulier par l'utilisateur final. Dans un mode de réalisation exemplaire, cinquante réservations suggérées pour un vol de départ peuvent être publiées sur l'écran 32 de l'interface de l'utilisateur 12 en réponse à la réception de la requête de l'utilisateur final. Spécifiquement, les cinquante vols de départ peuvent être présentés par un tableau de voyage qui affiche tous les vols disponibles entre l'origine particulière et la destination 30 particulière pour la date de départ indiquée par la requête. Comme cela a été déterminé par l'analyse statistique en utilisant les informations stockées dans la base de données de popularité 22, il est prédit qu'un utilisateur final sélectionne un des trois premiers vols de départs 3055056 9 qui sont publiés sur le tableau de voyage quatre-vingt-dix pour cent du temps. Par conséquent, lorsqu'une pluralité de vols de départ est affichée instantanément sur l'écran 34 dé l'interface d'utilisateur 12 en réponse à la sélection d'un ensemble particulier de vols de départ par l'utilisateur final, le pourcentage des occurrences est de quatre-vingt-dix pour cent. Ainsi, si un 5 utilisateur final sélectionne un des trois premiers vols de départ, les vols de retour disponibles peuvent alors être publiés instantanément sur l'écran d'affichage 34 de l'interface de l'utilisateur 12 quatre-vingt-dix pour cent du temps. [0029] Concernant les dix pour cent des occurrences lorsqu'un utilisateur ne sélectionne pas l'un des trois premiers vols de départ, les vols de retour disponibles sont alors calculés. On 10 remarquera que le pourcentage de vols de retour affichés instantanément peut être basé sur un nombre de facteurs tels que, par exemple, un fournisseur de voyage particulier (p. ex., une compagnie aérienne spécifique), un identifiant d'entreprise, l'origine et la destination de l'utilisateur final, et le profil du site web de la compagnie aérienne. [0030] On remarquera que chaque fois qu'une suggestion de vol de départ est sélectionnée 15 par un utilisateur final, la sélection peut être stockée dans la base de données de popularité 22. Le vol de départ sélectionné peut être sauvegardé dans la base de données de popularité 22 sous forme de clé spécifique. La clé spécifique peut indiquer diverses caractéristiques du vol de départ sélectionné telles que, par exemple, l'origine, la destination et l'identifiant d'entreprise pour le vol de départ sélectionné. Par exemple, si une liste de vols de départ de Nice à Paris est 20 présentée à un utilisateur final qui sélectionne le second vol sur la liste, la clé spécifique peut alors inclure des identifiants tels que origine = NCE, destination = Paris et identifiant d'entreprise = PARAFO8AA. [0031] Faisant toujours référence à la FIG. 1, une fois que le pourcentage des occurrences de vol de retour basés sur un vol de départ sélectionné qui sont affichés instantanément, est 25 déterminé, l'agrégateur 18 peut alors communiquer avec le calculateur de popularité 20 ainsi qu'avec le moteur de tarification 25, parallèlement et simultanément. Spécifiquement, l'agrégateur 18 communique avec le calculateur de popularité 20 pour déterminer une quantité ou nombre n de vols de retour basé sur le pourcentage d'occurrence de vols de retour basés sur un vol de départ sélectionné qui sont affichés instantanément. Le nombre n représente le nombre 30 de vols de retour recommandés ayant besoin d'être calculés par le moteur de planification 28, de sorte que les vols de retour peuvent être affichés instantanément quatre-vingt-dix pour cent du temps. Spécifiquement, le calculateur de popularité 20 et la base de données de popularité 22 3055056 10 reçoivent, sous forme de saisie de l'agrégateur 18, le pourcentage (p. ex. 90 %) d'occurrences de vols de retour basés sur un vol de départ sélectionné qui sont affichés instantanément. Le calculateur de popularité 20 génère le nombre n de vol de retour sous forme de résultat. [0032] On remarquera qu'il est possible de faire appel au calculateur de popularité 20 à la 5 fois de manière synchrone et asynchrone. Spécifiquement, le calculateur de popularité 20 est appelé de manière asynchrone lorsque qu'une recommandation de vols de départ est stockée dans la base de données de popularité 22, et de manière asynchrone lorsque l'agrégateur 18 à besoin de connaître le nombre n de vol de retour basés sur le pourcentage des occurrences de vols de retour basés sur un vol de départ sélectionné qui sont affichés instantanément. 10 [0033] De plus, pour le calcul du nombre n par le calculateur de popularité 20, l'agrégateur 18 communique aussi avec le moteur de tarification 25 pour générer une requête synchrone afin de déterminer les vols de départ qui peuvent être publiés sur l'écran 34 de l'interface de l'utilisateur 12 pour affichage à l'attention de l'utilisateur final. Spécifiquement, en réponse à la réception de la requête synchrone provenant de l'agrégateur 18, le moteur de 15 tarification 25 peut déterminer la pluralité de vols de départ et envoyer une réponse à l'agrégateur 18. Les vols de départ sont aussi envoyés aux serveurs de contexte 26 où ils sont sauvegardés en mémoire. [0034] De plus, pour obtenir les vols de départ, le moteur de tarification 25 calcule aussi simultanément les vols de retour qui sont affichés instantanément à l'attention d'un utilisateur 20 final. Par exemple, dans le mode de réalisation tel qu'il est décrit, l'agrégateur 18 peut envoyer une requête asynchrone au moteur de tarification 25 pour calculer les vols de retour qui sont immédiatement publiés à l'écran 34 de l'interface de l'utilisateur 12 en réponse à la sélection par un utilisateur final de l'un des trois premiers vols de départ sur la liste. C'est-à-dire, que les vols de retour coïncident avec un sous-ensemble de vols de départ suggérés qui sont publiés à 25 l'écran 34 de l'interface de l'utilisateur 12. Les vols de retour sont ensuite sauvegardés sur le serveur de contexte 26. On remarquera que les requêtes synchrones pour des vols de départ sont disponibles pour un affichage instantané. Cependant, les requêtes synchrones pour les vols de retour qui sont publiés immédiatement sont renvoyées au moteur de tarification 25 dès qu'ils sont disponibles en utilisant des mécanismes Ajax. Les hommes de métier savent qu'Ajax est un 30 mécanisme utilisé pour actualiser une page web affichée, sans avoir besoin de recharger la page complètement. 3055056 11 [0035] On remarquera que le serveur de contexte 26 peut être utilisé pour stocker toutes les informations liées à un vol, aussi bien pour les vols de retour que pour les vols de départ. En particulier, pour éviter de recalculer les données de transactions ultérieures, le serveur de contexte 26 peut être utilisé pour conserver les vols de retour qui sont immédiatement publiés 5 sur l'écran 34 de l'interface d'utilisateur 12 pour affichage à l'attention de l'utilisateur final. On remarquera que le serveur de contexte 26 peut éviter la redondance de sondage entre les étapes diverses qui sont utilisées pour présenter des recommandations de voyage à l'utilisateur final. Le sondage est généralement coûteux, non seulement en temps de réponse, mais aussi en matière de coût financier granulaire pour un fournisseur de voyage, tel qu'une compagnie aérienne. 10 [0036] Le serveur de contexte 26 peut stocker les informations liées aux vols pendant une durée prédéterminée que l'on peut dénommer «temps de vie » (TTL). Les hommes de métier comprendront aisément que le TTL limite la durée ou la vie des données dans un ordinateur ou un réseau. Le TTL peut un mode de réalisation exemplaire, le TTL peut être fixé à 10 minutes, cependant, la valeur du TTL peut être ajustée sur la base du temps moyen de la conversation 15 avec un utilisateur final sur le site web d'un fournisseur que pour accommoder de plus grands domaines de vols, le serveur de contexte 26 peut utiliser des paquets de logiciels tels que, Couchbase®, par exemple. Les hommes de métier comprendront aisément que le serveur Couchbase®. est une base de données de documents de requête en langage non structuré (NoSQL) ayant une architecture conçue pour la performance, l'évolutivité et la disponibilité. 20 [0037] Faisant maintenant référence à la FIG. 2, l'interface d'utilisateur 12, le frontal 14, et l'arrière-plan 16 de l'environnement d'exploitation 10 peuvent être implémentés sur un ou plusieurs dispositifs informatiques, tels que le système informatique exemplaire 40. Le système informatique 40 peut inclure un processeur 42, une mémoire 44, un dispositif de stockage de mémoire de masse 46, une interface entrée/sortie (I/O) 48 et une interface homme-machine 25 (HMI) 50. Le système informatique 40 peut aussi être couplé de façon fonctionnelle à une ou plusieurs ressources externes 52 par l'intermédiaire du réseau 32, ou d'une interface I/O 48. Les ressources externes peuvent inclure, mais de façon non exhaustive, des serveurs, des bases de données, des dispositifs de stockage de masse, des dispositifs périphériques, des services de réseau en nuage (cloud), ou toute autre ressource informatique appropriée qui peut être utilisée 30 avec le système informatique 40. [0038] Le processeur 42 peut inclure un ou plusieurs dispositifs sélectionnés : microprocesseurs, microcontrôleurs, processeurs de signal numérique, micro-ordinateurs, unités 3055056 12 centrales de traitement, des réseaux de portes programmables, des dispositifs logiques programmables, des machines à état défini, des circuits logiques, des circuits analogiques, des circuits numériques, ou tout autre dispositif servant à manipuler des signaux (analogues ou numériques) basé sur des instructions de fonctionnement enregistrées dans la mémoire 44. La 5 mémoire 44 peut inclure un seul dispositif de mémoire ou une pluralité de dispositifs de mémoire, incluant, mais sans s'y limiter, la mémoire à lecture seule (read-only memory (ROM), la mémoire à accès aléatoire (random access memory (RAM), la mémoire volatile, la mémoire non volatile, la mémoire vive statique (SRAM), la mémoire dynamique à accès aléatoire (DRAM), la mémoire flash, l'antémémoire (cache memory) ou tout autre dispositif capable de 10 stocker des informations. Le dispositif de mémoire de masse 46 peut inclure des dispositifs de stockage de données tels qu'un disque dur, un disque optique, un dérouleur de bande magnétique, un circuit à l'état solide volatile ou non volatile ou tout autre dispositif capable de stocker des informations. [0039] Le processeur 42 peut fonctionner sous le contrôle d'un système d'exploitation 56 qui 15 réside dans la mémoire 44. Le système d'exploitation 56 peut gérer les ressources de l'ordinateur de telle façon que le code de programme de l'ordinateur, intégré sous forme d'un ou plusieurs logiciels d'application, tels que l'application 58 qui réside dans la mémoire 44, puisse disposer d'instructions exécutées par le processeur 42. Dans un mode de réalisation alternatif, le processeur 42 peut exécuter directement l'application 58 ; dans ce cas le système 20 d'exploitation 56 peut-être omis. Une ou plusieurs structures de données 60 peuvent aussi résider dans la mémoire 44 et peuvent être utilisées par le processeur 42, le système d'exploitation 56 ou l'application 58 pour conserver ou manipuler des données. [0040] L'interface I/O 48 peut fournir une interface machine qui couple le processeur 42 de façon fonctionnelle avec d'autres dispositifs et systèmes, tels que le réseau 32 ou la ressource 25 externe 52. Le serveur d'application 48 peut ainsi collaborer avec le réseau 25 ou avec la ressource externe 42 en communiquant par l'intermédiaire de l'interface I/O 38 pour fournir les divers éléments, fonctions, applications, processus, modules composant les modes de réalisation de l'invention. L'application 58 peut aussi avoir un code de programme qui est exécuté par une ou plusieurs ressources externes 52, ou autrement repose sur les fonctions ou signaux fournis par 30 d'autres composants de système ou de réseau externe au système informatique 40. En effet, au vu des configurations presque infinies de matériel informatique et de logiciel possibles, les hommes de métier comprendront que les modes de réalisation de l'invention peuvent inclure des 3055056 13 applications localisées extérieurement à l'ordinateur 40, distribuées à des ordinateurs multiples et à d'autres ressources externes 52, ou apportées par des ressources informatiques (matériel et logiciel) qui sont fournies comme services sur le réseau 32, par exemple un service d'informatique en nuage (cloud computing). 5 [0041] Le HMI peut 50 peut être couplé de façon fonctionnelle avec le processeur 42 du ' système informatique 40 d'une manière connue pour permettre à un utilisateur d'interagir directement avec système informatique 40. Le HMI 40 peut inclure un affichage vidéo ou alphanumérique, un écran tactile, un haut-parleur et tout autre indicateur visuel et audio capable de communiquer des données à l'utilisateur. Le HMI 50 peut aussi inclure des dispositifs de 10 saisie et des contrôles tels qu'un clavier alphanumérique, un périphérique de pointage, des claviers, des boutons poussoir, des boutons de commande, des microphones, etc., capables d'accepter des commandes ou des saisies de l'utilisateur, et de les transmettre au processeur 42. [0042] Une base de données 44 peut résider sur le dispositif de mémoire de masse 36, et peut être utilisée pour collecter et organiser les données utilisées par les différents systèmes et 15 modules décrits dans les présentes. La base de données 44 peut inclure des données et accommoder les structures de données associées qui stockent et organisent les données. En particulier, la base de données 44 peut-être arrangée selon toute organisation ou structure de base de données incluant, mais de façon non exhaustive, une base de données relationnelle, une base de données de type hiérarchique, une base de données en réseau, ou des combinaisons de celles- 20 là. Un système de gestion de base de données, sous forme d'une application logicielle d'ordinateur qui exécute les instructions du processeur 42, peut être utilisé pour accéder aux informations ou aux données stockées dans des enregistrements de la base de données 54 en réponse à une interrogation, lorsque l'interrogation peut être déterminée de façon dynamique et exécutée par le système d'exploitation 56, les autres applications 58, ou un ou plusieurs modules. 25 [0043] La FIG. 3 est une illustration exemplaire de deux recommandations de voyage pour un aller-retour de Nice à Paris et de Paris à Nice pour une famille tarifaire particulière. Comme on le voit dans la FIG. 3, les deux recommandations de voyage n° 1 et n° 2 incluent un vol de départ ainsi qu'un vol de retour correspondant. Le même vol de départ de Nice à Paris à 9 h coûte 60 E lorsqu'il est combiné avec le vol de retour NCE-PAR à 20 h, et 70 E lorsqu'il est 30 combiné avec le vol de retour NCE-PAR à 16 h. Cependant, comme on le voit dans la FIG. 3, le prix total pour la première recommandation est 140 E alors que le prix total pour la seconde recommandation de voyage est 110 E. Ainsi on remarque que même si la première 3055056 14 recommandation de voyage inclut le prix plus bas, c'est la seconde recommandation de voyage qui offre en réalité le prix le plus bas globalement. [0044] Continuant à faire référence à la FIG. 3, le premier vol de retour de Paris à Nice à 20 h coûte 80 E et le second vol de retour de Paris à Nice à 16 h coûte 40 E. Ainsi, on note 5 également que les recommandations de voyage sont à la fois construites sur la base du même vol de départ, mais ont des vols de retour différents. Faisant maintenant référence aux deux FIGS. 1 et 3, le moteur de tarification 25 peut communiquer avec le moteur de planification 28 de l'arrière-plan 16 de l'environnement d'exploitation 10 pour mettre en oeuvre un calcul de segment. Le calcul de segment détermine la recommandation de voyage la moins chère pour 10 chaque famille tarifaire en fonction du prix total d'un itinéraire. En d'autres termes, pour chaque famille tarifaire, le calcul de segment détermine la recommandation la moins chère en fonction de tous les segments d'un voyage particulier, et non en fonction du segment dont le prix est le moins élevé. Par exemple, dans le mode de réalisation montrée dans la FIG. 3, la seconde recommandation de voyage est sélectionnée puisqu'elle offre globalement le prix le moins cher. 15 Par conséquent, le frontal 14 communique seulement le second vol de départ de Nice à Paris coutant 70 E à l'interface d'utilisateur 12 pour chaque famille tarifaire. [0045] La FIG. 4 est une illustration de l'écran 34 de l'interface d'utilisateur 12 publiant le second vol de départ pour affichage à l'attention de l'utilisateur final en utilisant le site web du fournisseur de voyage comme portion d'un tableau de voyage de départ. On remarquera que bien 20 qu'un seul vol de départ soit illustré dans la FIG. 1, le tarif le moins cher pour chaque famille tarifaire pour chaque vol peut être publié sur le tableau de voyage. Faisant maintenant référence aux FIGS. 1 et 3:en réponse à la réception d'une indication que l'utilisateur final a sélectionné un vol de départ spécifique, le moteur de tarification 25 peut communiquer avec le serveur de contexte 26 et avec l'arrière-plan 16 de l'environnement d'exploitation 10 et effectuer une mise à 25 jour de segment pour déterminer les vols de retour qui correspondent au vol de départ sélectionné. Spécifiquement, comme expliqué ci-dessus, si l'un des trois vols de départ les plus populaires est sélectionné, le moteur de tarification 25 peut alors récupérer les vols de retour correspondants, sauvegardés à partir du serveur de contexte 26. Cependant, si l'utilisateur final ne sélectionne pas l'un des trois premiers vols de départ, le moteur de planification 28 peut alors 30 calculer les vols correspondants. [0046] On remarquera qu'afin de fournir autant d'options que possible à un utilisateur final, une mise à jour de segment peut être effectuée chaque fois qu'un utilisateur final sélectionne un 3055056 15 segment particulier. Spécifiquement, la mise à jour de segment est effectuée en réponse à la sélection par l'utilisateur final d'un vol de départ ou d'un vol de retour. La mise à jour de segment détermine une pluralité de vols qui correspondent soit au vol de départ, soit au vol de retour. Par exemple, si le vol de départ est sélectionné, la mise à jour de segment détermine les 5 vols de retour correspondants ; [0047] Comme on le voit dans la FIG. 5, un panneau de voyage qui inclut le vol de départ et tous les vols de retour correspondant au vol de départ sélectionné est publié pour affichage. Faisant référence aux FIGS. 1, 3 et 5, les deux recommandations de voyage de retour qui sont montrées dans la FIG. 3 peuvent être publiées pour affichage à l'attention de l'utilisateur final. Le 10 second vol de retour montré dans la FIG. 5 correspond à la seconde recommandation de voyage montrée dans la FIG. 3. En d'autres termes, le second vol de retour montré dans la FIG. 5 correspond au vol de départ ayant un prix de 70 E. Ainsi, si l'utilisateur final sélectionne le second vol de retour comme le montre la FIG. 5, il n'y a alors aucun besoin de mettre à jour la tarification que ce soit pour le vol de départ ou le vol de retour puisque le vol de retour 15 sélectionné correspond au vol de départ qui a déjà été sélectionné. Cependant, si l'utilisateur final sélectionne le premier vol de retour montré dans la FIG. 5, une actualisation peut être nécessaire afin de d'assurer que l'utilisateur final soit facturé le prix le plus bas possible ; Dans le mode de réalisation telle qu'il est décrit et illustré dans les FIGS 3-5, le prix le plus bas possible pour le voyage aller-retour est 110 E. 20 [0048] Le rafraîchissement peut être effectué soit en ajustant le prix du vol de départ sélectionné ou au contraire en actualisant le prix du vol de retour. Spécifiquement, dans le mode de réalisation telle qu'il est montré dans la FIG. 5, le prix du vol de départ peut être actualisé de 70 E à 60 E. On remarquera que le prix du vol de départ est ajustable puisqu'à la fois le premier vol de départ et le second vol de départ montrés dans la FIG. 3 sont les mêmes. Alternativement, 25 dans une autre approche le prix du vol de retour peut être ajusté de 80 E à 70 E. Cependant, on constatera qu'on obtient le même prix global pour un voyage aller-retour, quelle que soit l'approche. [0049] Une autre mise à jour de segment peut aussi être effectuée en réponse à la sélection par l'utilisateur du premier vol de retour ou du second vol de retour. Cette mise à jour de 30 segment peut être utilisée pour actualiser les vols de départ listés sur le panneau de voyage. Spécifiquement, la mise à jour de segment est effectuée pour actualiser le panneau de voyage avec les vols de départ correspondant au vol de retour qui est sélectionné par l'utilisateur. Par 3055056 16 exemple, dans le mode de réalisation montrée dans la FIG. 3-5, le vol de départ est compatible à la fois avec le premier et le second vol de retour. Ainsi, le panneau de voyage pour les.vols de départ peut rester le même dans ce mode de réalisation particulier. Cependant, on remarquera que, lorsque de multiples vols de départ correspondant au vol de retour sélectionné sont 5 disponibles, il peut alors être très bénéfique de faire une mise à jour pour actualiser les vols de départ correspondants. Par exemple, dans certains types de configuration seul un nombre limité de vols peuvent être publiés pour affichage à l'attention d'un utilisateur. En particulier, un type de programme tarifaire ne permet la publication que de 50 vols de départ et de vols de retour pour affichage. Cela signifie qu'un maximum de 50 vols de départ potentiels peuvent être 10 affichés à l'étape du calcul de segment. Il peut y avoir en réalité plus de vols disponibles, cependant seulement 50 vols de départ à la fois peuvent être affichés. Après la seconde actualisation de segments pour les vols de départ, les vols de départ peuvent alors être actualisés pour montrer plus de vols de départ compatibles avec le vol de retour sélectionné n'ayant pas été publiés initialement. 15 [0050] Faisant référence de façon générale aux dessins, le système divulgué améliore l'efficacité globale du traitement des données associées à la génération de recommandations de voyage pour deux ou plusieurs segments d'un voyage et résout également un problème qui est ancré dans la technologie informatique. En effet, le système divulgué répond à certains des problèmes rencontrés avec l'affichage d'allers simples qui ne peut générer qu'un nombre limité 20 de recommandations de voyage et sonde l'inventaire du système d'inventaire d'une compagnie aérienne à multiples reprises pour extraire les informations afin de générer à la fois le calendrier et le tableau de voyage. Spécifiquement, le système divulgué effectue une mise à jour de segment qui apporte un nombre accru de solutions de voyage à un utilisateur final. Par ailleurs, le système divulgué conserve aussi les informations de voyage dans le serveur de contexte ce qui 25 réduit le besoin de sonder. En outre le système divulgué répond aussi à certains des problèmes rencontrés lors de l'utilisation de l'approche combinable d'allers simples dans laquelle un utilisateur final sélectionne chaque segment d'un itinéraire de voyage, indépendamment l'un de l'autre. En effet le système divulgué, dans lequel les recommandations de voyage peuvent être générées sur la base d'un vol de départ ou de retour sélectionné, permet à un utilisateur final de 30 réserver les deux segments en même temps. Finalement on remarque aussi que le système divulgué peut fournir à un utilisateur final la recommandation de voyage la moins chère pour 3055056 17 chaque famille tarifaire, ce qui améliore la satisfaction du client et optimise les recettes pour un fournisseur de voyage. [0051] En général les routines exécutées pour mettre en oeuvre les modes de réalisation de l'invention, qu'elles soient implémentées dans le cadre d'un système d'exploitation ou d'une 5 application spécifique, d'un composant, d'un programme, d'un objet, d'un module ou d'une séquence d'instructions, ou même un sous-ensemble de ceux-là, peuvent être désignées dans les présentes comme « code de programme informatique » ou simplement « code de programme ». Un code de programme comporte typiquement des instructions lisibles par ordinateur qui résident à divers moments dans divers dispositifs de mémoire et de stockage dans un ordinateur 10 et qui, lorsqu'elles sont lues et exécutées par un ou plusieurs processeurs dans un ordinateur, amènent l'ordinateur à effectuer des d'opérations nécessaires à l'exécution d'opérations et/ou d'éléments propres à la mise en oeuvre des aspects variés des modes de réalisation de l'invention. Les instructions d'un programme, lisibles par ordinateur, pour effectuer les opérations des modes de réalisation de l'invention peuvent être, par exemple, le langage d'assemblage, ou encore un 15 code source ou un code objet écrit en combinaison avec un ou plusieurs langages de programmation. [0052] Divers codes de programme décrits dans les présentes peuvent être identifiés, selon l'application dans laquelle ils sont implémentés dans des modes de réalisation spécifiques de l'invention. Cependant, on remarquera que toute nomenclature d'un programme particulier qui 20 suit, est utilisée uniquement par commodité ; ainsi l'invention ne peut être limitée à un seul usage dans toute application spécifique identifiée et/ou sous-entendue par ladite nomenclature. Par ailleurs, au vu du nombre généralement infini de moyens par lesquels les programmes informatiques peuvent être organisés selon des sous-programmes, procédures, procédés, modules, objets, et ainsi de suite, ainsi que les façons variées d'affecter les fonctionnalités d'un 25 programme parmi diverses couches de logiciels qui sont résidents dans un ordinateur typique [par ex., les systèmes d'exploitation, les bibliothèques, les interfaces d'application de programme (API), les applications, les applets, etc.], on remarquera que les modes de réalisation de l'invention ne sont pas limités à l'organisation spécifique et à l'affectation spécifique des fonctionnalités de programme telles qu'elles sont décrites dans les présentes. 30 [0053] Le code de programme mis en oeuvre dans toute application/module décrit(e) dans les présentes peut être distribué individuellement ou collectivement comme un produit programme d'ordinateur, sous une variété de formes. En particulier, le code de programme peut être 3055056 18 distribué en utilisant un médium de stockage lisible par ordinateur, disposant d'instructions de programme lisibles par ordinateur, en lui-même, permettant à un processeur d'effectuer des aspects des modes de réalisation de l'invention. [0054] Les supports de stockage lisibles par machine, étant intrinsèquement durables, 5 peuvent inclure des supports tangibles volatiles et non volatiles, amovibles et non amovibles, implémentés dans tout procédé ou technologie de stockage d'information tels que des instructions de programme lisibles par machine, des structures de données, des modules de programme, ou autre données. Les supports de stockage lisibles par ordinateur peuvent aussi comprendre des mémoires RAM, ROM, EPROM (la mémoire à lecture exclusivement, 10 programmable et effaçable), EEPROM (la mémoire à lecture exclusivement, programmable et effaçable électriquement), une mémoire flash, ou toute technologie de support solide de mémoire, CD-ROM (disque compact portable doté d'une mémoire à lecture seule), ou tout autre stockage optique, bandes d'enregistrement magnétique, mémoire à disque magnétique, ou tout autre médium pouvant être utilisé pour stocker l'information désirée et apte à être lu par un 15 ordinateur. Un support de stockage lisible par ordinateur ne peut être interprété comme « signaux transitoires » en soi (par exemple, des ondes radio ou toutes autres ondes électromagnétiques se propageant à travers un support de transmission telle qu'un guide d'ondes, ou des signaux électriques transmis par câble). Les instructions de programme lisibles par ordinateur peuvent être téléchargées sur un ordinateur, un autre type d'appareil de traitement de données 20 programmable ou sur tout autre dispositif de support de stockage lisible par machine, ou vers un ordinateur externe ou vers un dispositif de stockage externe par un réseau. [0055] Les instructions de programme lisibles par ordinateur, enregistrées sur un support lisible par ordinateur, peuvent être utilisées pour amener un ordinateur, d'autres types d'appareil programmable de traitement de données, ou d'autres dispositifs, à fonctionner d'une façon 25 particulière, de sorte que les instructions enregistrées sur un support lisible par ordinateur produisent un article de fabrication comprenant les instructions qui mettent en oeuvre les fonctions, les actions et/ou les opérations spécifiées dans les organigrammes, diagrammes de séquence, et / ou diagrammes blocs. Les instructions de programme informatiques peuvent être fournies à un ou à plusieurs processeurs d'un ordinateur à usage général, un ordinateur dédié ou 30 un autre appareil programmable de traitement de données pour produire une machine, de sorte que les instructions, lorsqu'elles sont exécutées à l'aide du ou des processeurs, accomplissent une 3055056 19 séries de calculs pour mettre en oeuvre les fonctions, actions, et/ou les opérations spécifiées dans les organigrammes, diagrammes séquentiels et/ou diagrammes blocs. [0056] Dans certains autres modes de réalisation, les fonctions, les actions et / ou des opérations spécifiées dans les organigrammes, diagrammes de séquence, et / ou des diagrammes 5 blocs peuvent être recommandées à nouveau, traitées en série, et / ou traitées en même temps conformément aux modes de réalisation de l'invention. De plus, tout organigramme, diagramme séquentiel, et/ou diagramme bloc peut inclure plus ou moins de blocs que ceux qui sont illustrés, tout en restant conformes avec les modes de réalisation de l'invention. [0057] La terminologie utilisée dans les présentes a pour but de décrire uniquement des 10 modes de réalisation particuliers et n'est pas destinée à limiter les modes de réalisation de l'invention. Le singulier des articles définis et indéfinis « un », « une », « le » et « la » tels qu'ils sont utilisés dans les présentes sous-entend également les formes plurielles, sauf s'il en est indiqué autrement et clairement par le contexte. Par ailleurs, les termes « comprend », « comprennent » et/ou « comprenant » lorsqu'ils sont utilisés dans ces spécifications, précisent la 15 présence de caractéristiques, de nombres entiers, d'étapes, d'opérations, d'éléments, et/ou de composants, mais n'excluent pas la présence ou l'ajout d'un ou de plusieurs caractéristiques, nombres entiers, étapes, éléments, composants et/ou groupes en cela. De plus, dans la mesure où les formes verbales « inclut », « ayant », «a », ou des variantes, sont utilisées dans la description détaillée des revendications, ces termes sont censés être inclusifs de façon similaire 20 au verbe « comprendre". [0058] Bien que l'invention soit illustrée par une description de divers modes de réalisation et bien que ces modes de réalisation soient décrits de façon très détaillée, il n'est pas de l'intention du demandeur de restreindre ou de limiter, de quelque façon que ce soit, l'étendue des revendications des présentes à ces détails. Des avantages supplémentaires et des modifications 25 possibles apparaîtront aisément aux hommes de métier. L'invention sous un angle plus large n'est donc pas limitée aux détails spécifiques, aux procédés et aux appareils représentatifs, et aux illustrations montrées et décrites à titre d'exemple. Par conséquent, il est possible de s'éloigner de ces détails sans s'éloigner de l'esprit et de la portée du concept inventif général de l'appliquant. REVENDICATIONS1. Un système pour générer des recommandations pour un voyage, le système comprenant : au moins un processeur, et une mémoire couplée audit processeur ou à plusieurs processeurs, la mémoire stockant des données comprenant le code de programme qui, lors de l'exécution par ledit processeur ou plusieurs processeurs, amène le système à : recevoir une requête pour le voyage, dans lequel le voyage inclut au moins un premier segment et un second segment ; en réponse à la réception de la requête, générer une pluralité de suggestions de réservations qui correspondent à la fois au premier segment et au second segment du voyage ; enregistrer les réservations suggérées correspondant au premier segment et au second segment en mémoire, dans lequel les réservations suggérées correspondant au second segment coïncident avec un sous-ensemble de réservations suggérées publiées pour affichage, correspondant au premier segment publié ; publier les réservations suggérées correspondant au premier segment pour affichage à l'attention d'un utilisateur ; en réponse à la réception d'une saisie qui indique une réservation sélectionnée pour le premier segment, déterminer si la réservation sélectionnée est l'une des réservations d'un sous-20 ensemble de réservations suggérées correspondant au premier segment ; en réponse à la réservation sélectionnée étant l'une des réservations du sous-ensemble de réservations, récupérer les réservations suggérées correspondant au second segment dans la mémoire ; et publier les réservations suggérées correspondant au second segment pour affichage à 25 l'attention de l'utilisateur. 2. Le système selon la revendication 1 dans lequel le code de programme, lors de l'exécution par ledit processeur ou plusieurs processeurs, amène par ailleurs le système à : en réponse à la réservation sélectionnée étant différente d'une des réservations du sous-30 ensemble de réservations, calculer un ensemble alternatif de réservations pour le second segment qui correspondent à la réservation sélectionnée pour le premier segment ; et 3055056 21 16 57703 Revendications modifiées (copie au propre) publier l'ensemble alternatif de réservations pour le second segment pour affichage à l'attention de l'utilisateur. 3. Le système selon la revendication 1 ou la revendication 2, dans lequel le sous-ensemble 5 de réservations suggérées, correspondant au premier segment, est basé sur un pourcentage des occurrences de réservations suggérées en mémoire correspondant au second segment qui sont publiées instantanément en réponse à la réception d'une saisie qui indique la réservation sélectionnée pour le premier segment. 10 4. Le système selon la revendication 1 ou la revendication 2 dans lequel le code de programme, lors de l'exécution par ledit processeur ou plusieurs processeurs, amène par ailleurs le système à : déterminer une quantité, dans lequel la quantité représente un nombre de réservations correspondant au second segment qui a besoin d'être déterminé afin que les réservations 15 suggérées en mémoire correspondant au second segment soient publiées instantanément en réponse à la réception d'une saisie qui indique la réservation sélectionnée pour le premier segment. 5. Le système selon l'une quelconque des revendications 1 à 4 dans lequel le code de programme lors de l'exécution par ledit processeur ou plusieurs processeurs, amène par ailleurs le système à : enregistrer les réservations suggérées correspondant au premier segment et au second segment dans la mémoire pour une durée prédéterminée, dans lequel la durée prédéterminée est aj ustab le. 6. Le système selon la revendication 5 dans lequel la durée prédéterminée est basée sur une moyenne de temps de conversation avec l'utilisateur sur un site web et d'une volatilité de la disponibilité des données pour le voyage. 3055056 22 16 57703 Revendications modifiées (copie au propre) 7. Le système selon l'une quelconque des revendications 1 à 6 dans lequel le premier segment est une portion de départ du voyage, le second segment est une portion de retour du voyage, et le voyage est un voyage aller-retour. 5 8. Le système selon l'une quelconque des revendications 1 à 7 dans lequel le code de programme lors de l'exécution par ledit processeur ou plusieurs processeurs, amène par ailleurs le système à : en réponse à une autre saisie qui indique une autre réservation sélectionnée pour le second segment, mettre à jour les réservations suggérées correspondant au premier segment qui 10 sont publiées pour affichage à l'attention de l'utilisateur. 9. Le système selon l'une quelconque des revendications 1 à 8 dans lequel la réservation sélectionnée pour le premier segment est sauvegardée en mémoire sous forme de clé spécifique.