FR3061575A1 - INTERRUPTION INDEX FOR TRACKING DATABASE RECORDS - Google Patents

INTERRUPTION INDEX FOR TRACKING DATABASE RECORDS Download PDF

Info

Publication number
FR3061575A1
FR3061575A1 FR1750077A FR1750077A FR3061575A1 FR 3061575 A1 FR3061575 A1 FR 3061575A1 FR 1750077 A FR1750077 A FR 1750077A FR 1750077 A FR1750077 A FR 1750077A FR 3061575 A1 FR3061575 A1 FR 3061575A1
Authority
FR
France
Prior art keywords
coupon
ticket
database
data
record
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR1750077A
Other languages
French (fr)
Other versions
FR3061575B1 (en
Inventor
Ghassen Lahmadi
Pierre Pattard
Sebastien Bardin
Anatole Laffitte
Amal Hjije
Caroline Ledroit
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Amadeus SAS
Original Assignee
Amadeus SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Amadeus SAS filed Critical Amadeus SAS
Priority to FR1750077A priority Critical patent/FR3061575B1/en
Priority to EP18700188.8A priority patent/EP3566188A1/en
Priority to CN201880005972.6A priority patent/CN110140136B/en
Priority to PCT/EP2018/050241 priority patent/WO2018127551A1/en
Publication of FR3061575A1 publication Critical patent/FR3061575A1/en
Application granted granted Critical
Publication of FR3061575B1 publication Critical patent/FR3061575B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/02Reservations, e.g. for tickets, services or events
    • G06Q10/025Coordination of plural reservations, e.g. plural trip segments, transportation combined with accommodation

Abstract

Des systèmes, des procédés, et des produits de programme informatique pour le traitement d'enregistrements de base de données. Un système de gestion de base de données peut recevoir une interrogation identifiant un billet dont l'échange est en cours dans une base de données de billets. En réponse à la réception de l'interrogation, le système de gestion de base de données peut récupérer, dans une base de données de transition, un enregistrement de transition qui est indexé sur le billet. L'enregistrement de transition peut inclure un indice d'interruption ayant un ou plusieurs tableaux, chacun définissant un ensemble d'éléments de données liés. Le système de gestion de base de données peut récupérer des billets supplémentaires dans la base de données de billet qui sont identifiés par les éléments de données, et organiser les billets selon un ordre établi ordonné qui définit un historique des interruptions pour le billet dont l'échange est en cours. Le système de gestion de base de données peut alors générer un itinéraire hybride basé sur l'historique des interruptions, et utiliser l'itinéraire hybride pour déterminer une valeur pour le billet dont l'échange est en cours.Systems, methods, and computer program products for processing database records. A database management system may receive a query identifying a ticket that is being exchanged in a ticket database. In response to receiving the query, the database management system can retrieve, in a transition database, a transition record that is indexed to the ticket. The transition record may include an interrupt index having one or more tables, each defining a set of linked data items. The database management system can retrieve additional tickets from the ticket database that are identified by the data items, and arrange the tickets in an orderly, ordered order that defines a history of interruptions for the ticket whose exchange is in progress. The database management system can then generate a hybrid route based on the interrupt history, and use the hybrid route to determine a value for the ticket being exchanged.

Description

Titulaire(s) : simplifiée.Holder (s): simplified.

AMADEUS S.A.S. Société par actionsAMADEUS S.A.S. Joint-stock company

O Demande(s) d’extension :O Extension request (s):

© Mandataire(s) : SAMSON & PARTNER PATENTANWALTE MBB.© Agent (s): SAMSON & PARTNER PATENTANWALTE MBB.

p4) INDICE D'INTERRUPTION POUR SUIVRE LES ENREGISTREMENTS DE BASE DE DONNEES.p4) INTERRUPTION INDEX FOR FOLLOWING DATABASE RECORDS.

FR 3 061 575 - A1FR 3,061,575 - A1

Des systèmes, des procédés, et des produits de programme informatique pour le traitement d'enregistrements de base de données. Un système de gestion de base de données peut recevoir une interrogation identifiant un billet dont l'échange est en cours dans une base de données de billets. En réponse à la réception de l'interrogation, le système de gestion de base de données peut récupérer, dans une base de données de transition, un enregistrement de transition qui est indexé sur le billet. L'enregistrement de transition peut inclure un indice d'interruption ayant un ou plusieurs tableaux, chacun définissant un ensemble d'éléments de données liés. Le système de gestion de base de données peut récupérer des billets supplémentaires dans la base de données de billet qui sont identifiés par les éléments de données, et organiser les billets selon un ordre établi ordonné qui définit un historique des interruptions pour le billet dont l'échange est en cours. Le système de gestion de base de données peut alors générer un itinéraire hybride basé sur l'historique des interruptions, et utiliser l'itinéraire hybride pour déterminer une valeur pour le billet dont l'échange est en cours.Systems, methods, and computer program products for processing database records. A database management system can receive a query identifying a ticket whose exchange is in progress in a ticket database. In response to receiving the query, the database management system can retrieve from a transition database a transition record that is indexed to the ticket. The transition record may include an interrupt index having one or more arrays, each defining a set of linked data elements. The database management system can retrieve additional tickets from the ticket database which are identified by the data elements, and organize the tickets according to an established established order which defines a history of interruptions for the ticket whose exchange is in progress. The database management system can then generate a hybrid route based on the history of interruptions, and use the hybrid route to determine a value for the ticket whose exchange is in progress.

Figure FR3061575A1_D0001
Figure FR3061575A1_D0002

INDICE D’INTERRUPTION POUR SUIVRE LES ENREGISTREMENTS DE BASE DE DONNÉESINTERRUPTION INDEX FOR TRACKING DATABASE RECORDS

CONTEXTE [0001] L'invention concerne de façon générale les ordinateurs et les logiciels, et en particulier les systèmes, procédés et produits de programme informatique pour gérer les enregistrements de base de données dans un système de gestion de voyage.BACKGROUND The invention relates generally to computers and software, and in particular to computer program systems, methods and products for managing database records in a travel management system.

[0002] Les systèmes de gestion de voyage incluent de façon générale une ou plusieurs bases de données, chaque base de données stockant et organisant une pluralité de structures d’enregistrements de données, ou « enregistrements ». Les enregistrements de base de données entretenus par un système de gestion de voyage pour gérer un voyage incluent de façon générale un dossier de nom de passager (FNP) qui stocke des données définissant un itinéraire de voyage, et un ou plusieurs billets qui peuvent être échangés contre les cartes d’embarquement sur les segments inclus dans Γitinéraire de voyage.Travel management systems generally include one or more databases, each database storing and organizing a plurality of data record structures, or "records". Database records maintained by a travel management system to manage a trip generally include a passenger name record (FNP) which stores data defining a travel route, and one or more tickets that can be exchanged against boarding passes on the segments included in the travel itinerary.

[0003] Dans le contexte du transport aérien, un itinéraire de voyage peut inclure un ou plusieurs segments qui relient entre eux un lieu d’origine et un lieu de destination. Chaque segment peut se référer à l’exploitation d’un vol entre un point où les voyageurs montent en premier à bord d’un appareil, et un autre point où les voyageurs descendent de l’appareil. Un segment peut inclure une ou plusieurs liaisons, chaque liaison concernant l’exploitation de 20 l’appareil d’une escale de départ programmée à la prochaine escale d’arrivée programmée.In the context of air transport, a travel itinerary can include one or more segments which connect a place of origin and a place of destination. Each segment can refer to the operation of a flight between a point where travelers first board a plane, and another point where travelers get off the plane. A segment may include one or more connections, each connection relating to the operation of the aircraft from a scheduled departure stop to the next scheduled arrival stop.

L’itinéraire de voyage peut inclure des segments connectés multiples, avec le voyageur devant changer d’appareil à chaque point de connexion entre les segments consécutifs.The travel itinerary may include multiple connected segments, with the traveler having to change devices at each connection point between consecutive segments.

[0004] Parfois, un voyageur disposant d’un billet émis peut être dans l’obligation de modifier son itinéraire. Par exemple, après un événement qui a une incidence sur la programmation d’un segment (p. ex. l’annulation d’un vol de correspondance entre deux lieux), un voyageur dont l’itinéraire de voyage inclut le segment interrompu peut être amené à devoir modifier son itinéraire de voyage. La modification peut inclure le remplacement du segment interrompu, ou une combinaison de segments incluant le segment interrompu, avec un ou plusieurs segments de remplacement. Lorsqu’une solution appropriée est trouvée, un nouveau billet peut être émis, basé sur l’itinéraire modifié. Ce nouveau billet peut être échangé pour tout ou partie du billet précédemment détenu par le voyageur. Typiquement, le voyageur n’est pas facturé pour cet échange.Sometimes a traveler with a ticket issued may have to change his itinerary. For example, after an event that affects the scheduling of a segment (eg the cancellation of a connecting flight between two locations), a traveler whose travel itinerary includes the interrupted segment may be having to change their travel itinerary. The modification may include the replacement of the interrupted segment, or a combination of segments including the interrupted segment, with one or more replacement segments. When an appropriate solution is found, a new ticket can be issued, based on the modified route. This new ticket can be exchanged for all or part of the ticket previously held by the traveler. Typically, the traveler is not charged for this exchange.

[0005] Les procédures normales pour mettre à jour les enregistrements de base de données dans le système de gestion de voyage sont souvent court-circuités dans le cas de changements involontaires de telle façon que les cartes d’embarquement peuvent être rapidement émises et sans frais supplémentaires pour le voyageur bloqué. Cela peut se traduire par des enregistrements de base de données inexacts. Les enregistrements de base de données peuvent être particulièrement problématiques si un autre changement dans l’itinéraire 5 est souhaité à la suite d’un échange involontaire.Normal procedures for updating database records in the travel management system are often bypassed in the event of unintentional changes so that boarding passes can be issued quickly and at no cost additional for the blocked traveler. This can result in inaccurate database records. Database records can be particularly problematic if another change in Route 5 is desired as a result of an involuntary exchange.

[0006] Par conséquent, il est nécessaire d’avoir des systèmes améliorés, des procédés et des produits de programme informatique pour gérer les enregistrements de base de données dans les systèmes de gestion de voyage afin de conserver la pertinence des bases de données dans l’éventualité d’un échange involontaire de billet, et pour augmenter la vitesse et l’efficacité avec lesquelles la donnée pertinente est récupérée dans les bases de données.Therefore, it is necessary to have improved systems, methods and computer program products to manage the database records in the travel management systems in order to maintain the relevance of the databases in the 'possibility of an involuntary exchange of tickets, and to increase the speed and efficiency with which the relevant data is retrieved from the databases.

RÉSUMÉ [0007] Dans un mode de réalisation, un système est fourni et inclut un ou plusieurs processeurs et une mémoire couplée aux processeurs. La mémoire peut stocker le code de programme qui, une fois exécuté par au moins un des processeurs, amène le système à recevoir une interrogation identifiant un premier enregistrement de base de données stocké dans une première base de données, et récupérer, dans une deuxième base de données, un deuxième enregistrement de base de données indexé sur le premier enregistrement de base de données. Le deuxième enregistrement de base de données peut contenir un indice d’interruption qui inclut au moins un tableau définissant un ensemble d’éléments de données liés. Le code de programme peut par ailleurs amener le système à identifier un ensemble d’enregistrements de base de données dans la première base de données qui inclut au moins un des éléments de base de données liés. L’ensemble des enregistrements de base de données qui inclut au moins un des éléments de données liés, peut inclure le premier enregistrement de base de données et un troisième enregistrement de base de données. Le code de programme peut par ailleurs amener le système à générer un premier tableau à partir de l’ensemble des enregistrements de base de données en initialisant le premier tableau avec des éléments de données tirés du premier enregistrement de base de données, et en ajoutant au moins un élément de donnée du troisième enregistrement de base de données au premier tableau.SUMMARY In one embodiment, a system is provided which includes one or more processors and a memory coupled to the processors. The memory can store the program code which, when executed by at least one of the processors, causes the system to receive a query identifying a first database record stored in a first database, and retrieve it, in a second database data, a second database record indexed to the first database record. The second database record can contain a hint that includes at least one table defining a set of linked data items. The program code may further cause the system to identify a set of database records in the first database which includes at least one of the linked database elements. The set of database records that includes at least one of the linked data elements, can include the first database record and a third database record. The program code can also cause the system to generate a first table from the set of database records by initializing the first table with data elements taken from the first database record, and adding to the minus one data item from the third database record to the first array.

[0008] Dans un autre aspect, les éléments de données dans le premier enregistrement de base de données peuvent inclure une première série d’éléments de données classés de l’élément de donnée le plus ancien à l’élément de donnée le plus récent, le troisième enregistrement de base de données peut inclure une deuxième série d’éléments de données classés de l’élément de donnée le plus ancien à l’élément de donnée le plus récent, et le code de programme peut par ailleurs amener le système à générer le premier tableau en sélectionnant un élément de donnée le plus récent auparavant non sélectionné dans le troisième enregistrement de base de données et en déterminant un statut pour l’élément de donnée sélectionné. En réponse au statut indiquant que l’élément de donnée sélectionné a été échangé, le code de programme peut amener le système à activer un signal d’échange et supprimer l’élément de donnée sélectionné. En réponse au statut indiquant que l’élément de donnée sélectionné n’a pas été échangé, le code de programme peut amener le système à ajouter l’élément de donnée sélectionné à celui d’un deuxième tableau ou d’un troisième tableau.In another aspect, the data elements in the first database record can include a first series of classified data elements from the oldest data element to the most recent data element, the third database record may include a second series of classified data items from the oldest data item to the most recent data item, and the program code may also cause the system to generate the first table by selecting a most recent data item previously not selected in the third database record and determining a status for the selected data item. In response to the status indicating that the selected data item has been exchanged, the program code may cause the system to activate an exchange signal and delete the selected data item. In response to the status indicating that the selected data item has not been exchanged, the program code may cause the system to add the selected data item to that of a second table or a third table.

[0009] Dans un autre aspect, le code de programme peut par ailleurs amener le système à ajouter l’élément de donnée sélectionné à un élément du premier tableau ou du deuxième tableau en ajoutant l’élément de donnée sélectionné au deuxième tableau si le signal d’échange n’est pas activé, et en ajoutant l’élément de donnée sélectionné au troisième tableau si le signal d’échange est activé.In another aspect, the program code can also cause the system to add the selected data item to an item in the first table or in the second table by adding the selected data item to the second table if the signal exchange is not activated, and adding the selected data item to the third table if the exchange signal is activated.

[0010] Dans un autre aspect, en réponse à l’élément de donnée sélectionné étant l’élément de donnée le plus ancien du troisième enregistrement de base de données, le code de programme peut par ailleurs amener le système à mettre à jour le premier tableau en annexant le deuxième tableau au premier tableau avant l’élément de donnée le plus ancien du premier tableau, et en annexant le troisième tableau au premier tableau après l’élément de donnée le plus récent du premier tableau.In another aspect, in response to the selected data item being the oldest data item of the third database record, the program code can also cause the system to update the first array by appending the second array to the first array before the oldest data item in the first array, and appending the third array to the first array after the most recent data element in the first array.

[0011] Dans un autre aspect, chaque enregistrement de base de données dans l’ensemble des enregistrements de base de données peut posséder un horodatage indiquant une heure à laquelle l’enregistrement de base de données a été ajouté à la première base de données, et l’ensemble des enregistrements de base de données peut inclure un quatrième enregistrement de base de données dont J’horodatage se produit après l’horodatage du troisième enregistrement de base de données. En réponse au statut indiquant que l'élément de donnée sélectionné a été échangé, le code de programme peut par ailleurs amener le système à déterminer si l’élément de donnée sélectionné apparaît dans un élément de prix du quatrième enregistrement de base de données, et si l’élément de donnée sélectionné n’apparaît pas dans l’élément de prix du quatrième enregistrement de base de données, interrompre le traitement des enregistrements de base de données.In another aspect, each database record in the set of database records can have a time stamp indicating a time at which the database record was added to the first database, and the set of database records may include a fourth database record whose timestamp occurs after the timestamp of the third database record. In response to the status indicating that the selected data item has been exchanged, the program code may also cause the system to determine whether the selected data item appears in a price item from the fourth database record, and if the selected data item does not appear in the price item of the fourth database record, stop processing the database records.

[0012] Dans un autre aspect, la première série d’éléments de données peut inclure un ensemble de coupons comprenant un premier billet, et la deuxième série d’éléments de données peut inclure un ensemble de coupons comprenant un deuxième billet.In another aspect, the first series of data elements may include a set of coupons comprising a first ticket, and the second series of data elements may include a set of coupons comprising a second ticket.

(0013] Dans un autre aspect. le code de programme peut par ailleurs amener le système à générer un billet hybride à partir du premier tableau, déterminer une première valeur pour le billet hybride à l’aide du moteur de tarification, et attribuer la première valeur au premier enregistrement de base de données.In another aspect, the program code can also cause the system to generate a hybrid ticket from the first table, determine a first value for the hybrid ticket using the pricing engine, and assign the first value at first database record.

[0014] Dans un autre aspect, le code de programme peut par ailleurs amener le système à déterminer une deuxième valeur pour un cinquième enregistrement de base de données pour lequel le premier enregistrement de base de données est en train d’être échangé à l’aide du moteur de tarification, déterminer une troisième valeur égaie à la différence entre la deuxième valeur et la première valeur, et attribuer la troisième valeur au cinquième enregistrement de base de données.In another aspect, the program code can also cause the system to determine a second value for a fifth database record for which the first database record is being exchanged at the using the pricing engine, determine a third value equal to the difference between the second value and the first value, and assign the third value to the fifth database record.

[0015] Dans un autre aspect, le code de programme peut par ailleurs amener le système à trier l’ensemble des enregistrements de base de données basés sur l’horodatage de chaque enregistrement de base de données, de telle façon que l’ensemble est configuré en tant qu’une série d’enregistrements de base de données classés de l’enregistrement de base de données 15 ayant l’horodatage le plus ancien à F enregistrement de base de données ayant l’horodatage le plus récent.In another aspect, the program code can also cause the system to sort the set of database records based on the timestamp of each database record, so that the set is configured as a series of classified database records from the database record 15 having the oldest time stamp to the database record having the most recent time stamp.

[0016] Dans un autre mode de réalisation, le procédé de traitement des enregistrements de base de données est fourni. Le procédé peut inclure la réception de l’interrogation identifiant le premier enregistrement de base de données stocké dans la première base de données, et la 20 récupération, dans la deuxième base de données, du deuxième enregistrement de base de données indexé sur le premier enregistrement de base de données et contenant l’indice d’interruption qui inclut au moins un tableau qui définit l’ensemble des éléments de données liés. Le procédé peut par ailleurs inclure l’identification de l’ensemble des enregistrements de base de données (fans la première base de données qui inclut au moins un des éléments de 25 base de données liés. L’ensemble d’enregistrements de base de données qui inclut au moins un des éléments de données liés peut inclure le premier enregistrement de base de données et le troisième enregistrement de base de données. Le procédé peut par ailleurs inclure la génération du premier tableau à partir de l’ensemble des enregistrements de données en initialisant le premier tableau avec des éléments de données issus du premier enregistrement 30 de base de données, et en ajoutant au moins un élément de donnée du troisième enregistrement de base de données au premier tableau.In another embodiment, the method for processing database records is provided. The method may include receiving the query identifying the first database record stored in the first database, and retrieving, in the second database, the second database record indexed to the first record database and containing the interrupt index which includes at least one array that defines the set of linked data elements. The method may further include identifying the set of database records (the first database which includes at least one of the linked database items. The set of database records which includes at least one of the linked data items may include the first database record and the third database record. The method may further include generating the first array from the set of data records in initializing the first array with data elements from the first database record, and adding at least one data element from the third database record to the first array.

[0017] Dans un autre aspect, les éléments de données du premier enregistrement de base de données peuvent inclure la première série d’éléments de données classés de l’élément de donnée le plus ancien à l’élément de donnée le plus récent, le troisième enregistrement de base de données peut inclure la deuxième série d’éléments de données classés de l’élément de donnée le plus ancien à l’élément de donnée le plus récent, et le procédé peut générer le premier tableau en sélectionnant le dernier élément de donnée auparavant non sélectionné dans le troisième enregistrement de base de données, déterminant le statut de l’élément de données sélectionné, en réponse au statut indiquant que l’élément de donnée sélectionné a été échangé, en activant l’indice d’échange et en supprimant l’élément de donnée sélectionné, et en réponse au statut indiquant que l’élément de donnée n’a pas été échangé, en ajoutant l’élément de donnée sélectionné à l’un du deuxième tableau ou du troisième tableau.In another aspect, the data elements of the first database record can include the first series of classified data elements from the oldest data element to the most recent data element, the third database record may include the second series of classified data items from the oldest data item to the most recent data item, and the method may generate the first array by selecting the last item previously unselected data in the third database record, determining the status of the selected data item, in response to the status indicating that the selected data item has been traded, activating the exchange index and deleting the selected data item, and in response to the status indicating that the data item has not been exchanged, by adding the selected data item to one of the second or third table.

[0018] Dans un autre aspect, le procédé peut ajouter l’élément de donnée sélectionné à un élément du premier tableau ou du deuxième tableau en ajoutant l’élément de donnée sélectionné au deuxième tableau si le signal d’échange n’est pas activé, et en ajoutant l’élément de donnée sélectionné au troisième tableau si le signal d’échange est activé.In another aspect, the method can add the selected data element to an element of the first table or of the second table by adding the selected data element to the second table if the exchange signal is not activated , and adding the selected data item to the third table if the exchange signal is activated.

[0019] Dans un autre aspect, en réponse à l’élément de donnée sélectionné étant l’élément de donnée le plus ancien du troisième enregistrement de base de données, le procédé peut mettre à jour le premier tableau en annexant le deuxième tableau au premier tableau avant l’élément de donnée le plus ancien du premier tableau, et en annexant le troisième tableau au premier tableau après l’élément de donnée le plus récent du premier tableau.In another aspect, in response to the selected data item being the oldest data item of the third database record, the method can update the first table by appending the second table to the first array before the oldest data item in the first array, and appending the third array to the first array after the most recent data element in the first array.

[0020J Dans un autre aspect, chaque enregistrement de base de données dans l’ensemble des enregistrements de base de données peut avoir l’horodatage indiquant l’heure à laquelle l’enregistrement de base de données a été ajouté à la première base de données, l’ensemble des enregistrements de base de données peut inclure le quatrième enregistrement de base de données ayant l’horodatage survenant après l’horodatage du troisième enregistrement de base de données, et le procédé peut par ailleurs inclure, en réponse au statut indiquant que l’élément de donnée a été échangé, de déterminer si l’élément de donnée sélectionné apparaît dans l’élément de prix du quatrième enregistrement de base de données, et si l’élément de donnée sélectionné n’apparaît pas dans l'élément de prix du quatrième enregistrement de base de données, interrompre le traitement des enregistrements de base de données.In another aspect, each database record in the set of database records can have the time stamp indicating the time when the database record was added to the first database , the set of database records may include the fourth database record having the time stamp occurring after the time stamp of the third database record, and the method may further include, in response to the status indicating that the data item has been exchanged, to determine if the selected data item appears in the price item of the fourth database record, and if the selected data item does not appear in the price of the fourth database record, stop processing database records.

[0021] Dans un autre aspect, la première série d’éléments de données peut inclure l’ensemble des coupons comprenant le premier billet, et la deuxième série d’éléments de données peut inclure l’ensemble de coupons comprenant le deuxième billet [0022] Dans un autre aspect, le procédé peut par ailleurs inclure la génération du billet hybride à partir du premier tableau, la détermination de la première valeur pour le billet hybride à l’aide du moteur de tarification, et l’attribution de la première valeur au premier enregistrement de base de données.In another aspect, the first series of data elements may include the set of coupons comprising the first ticket, and the second series of data elements may include the set of coupons comprising the second ticket [0022 ] In another aspect, the method may further include generating the hybrid ticket from the first table, determining the first value for the hybrid ticket using the pricing engine, and assigning the first value on the first database record.

[0023] Dans un autre aspect, le procédé peut inclure la détermination de la deuxième valeur pour le cinquième enregistrement de base de données pour lequel le premier enregistrement de base de données en train d’être échangé à l’aide du moteur de tarification, la détermination de la troisième valeur égale à la différence entre la deuxième valeur et la première valeur, et l'attribution de la troisième valeur au cinquième enregistrement de base de données.In another aspect, the method can include determining the second value for the fifth database record for which the first database record being exchanged using the pricing engine, determining the third value equal to the difference between the second value and the first value, and assigning the third value to the fifth database record.

[0024] Dans un autre aspect, le procédé peut par ailleurs inclure de trier l’ensemble des enregistrements de base de données d’après de I’horodatage de chaque enregistrement de base de données, de telle façon que l’ensemble est configuré en tant que la série d’enregistrements de base de données classés de l’enregistrement de base de données possédant I’horodatage le plus ancien à l’enregistrement de base de données possédant I’horodatage le plus récent. [0025] Dans un autre aspect, le premier tableau peut définir un itinéraire hybride. [0026] Dans un autre mode de réalisation, un produit de programme informatique pour traiter les enregistrements de base de données est pourvu. Le produit de programme informatique peut inclure un support de stockage durable lisible par ordinateur, et un code de programme stocké sur le support qui. lorsqu’il est exécuté par un ou plusieurs processeurs, amène les processeurs à recevoir Γ interrogation identifiant le premier enregistrement de base de données stocké dans la première base de données, et à récupérer, dans la deuxième base de données, le deuxième enregistrement de base de données indexé sur le premier enregistrement 20 de base de données et contenant l’indice d’interruption qui inclut au moins un tableau qui définit l’ensemble des éléments de données liés. Le code de programme peut par ailleurs amener les processeurs à identifier l’ensemble des enregistrements de base de données dans la première base de données qui inclut au moins un des éléments de base de données liés. L’ensemble des enregistrements de base de données qui inclut àu moins un des éléments de données liés peut inclure le premier enregistrement de base de données et le troisième enregistrement de base de données. Le code de programme peut par ailleurs amener les processeurs à générer le premier tableau à partir de l’ensemble des enregistrements de base de données en initialisant le premier tableau avec des éléments de données tirés du premier enregistrement de base de données, et en ajoutant au moins un élément de donnée du troisième enregistrement de base de données au premier tableau.In another aspect, the method can also include sorting the set of database records according to the timestamp of each database record, so that the set is configured in as the series of classified database records from the database record with the oldest time stamp to the database record with the most recent time stamp. In another aspect, the first table can define a hybrid route. In another embodiment, a computer program product for processing database records is provided. The computer program product may include durable computer readable storage medium, and program code stored on the medium which. when executed by one or more processors, causes the processors to receive Γ interrogation identifying the first database record stored in the first database, and to retrieve, in the second database, the second basic record data indexed on the first database record 20 and containing the interruption index which includes at least one table which defines all of the linked data elements. The program code may also cause the processors to identify the set of database records in the first database which includes at least one of the linked database elements. The set of database records that includes at least one of the linked data items can include the first database record and the third database record. The program code can also cause the processors to generate the first table from the set of database records by initializing the first table with data elements drawn from the first database record, and by adding to the minus one data item from the third database record to the first array.

[0027] Dans un autre mode de réalisation, un système est fourni et inclut un ou plusieurs processeurs et une mémoire couplée aux processeurs. La mémoire stocke les premières données comportant un indice pour la récupération d’information dans une base de données, et un code de programme. Lorsqu’il est exécuté par au moins un des processeurs, le code de programme peut amener le système à récupérer, dans un premier enregistrement de données, la première donnée définissant un premier ensemble de coupons parents qui a été échangé pour un deuxième ensemble de coupons de remplacement en raison d’une interruption ayant eu une incidence sur ou plusieurs des coupons parents, et récupérer, dans un deuxième enregistrement de base de données, une deuxième donnée définissant le deuxième ensemble de coupons de remplacement Le code de programme peut par ailleurs amener le système à définir un premier tableau d’opérateurs, chacun correspondant à un des coupons parents respectifs dans le premier ensemble des coupons parents, et indiquant si le coupon parent respectif correspond à l’interruption , définir un deuxième tableau d’opérateurs, chacun correspondant à un des coupons de remplacement respectifs dans le deuxième ensemble des coupons de remplacement, et indiquant si le coupon parent respectif correspond à l’interruption, et définir un troisième tableau de liens, chacun Kant au moins un coupon parent dans le premier ensemble à au moins un coupon de remplacement du deuxième ensemble. Le code de programme peut par ailleurs amener le système à stocker le premier tableau, le deuxième tableau, et le troisième tableau dans l’indice.In another embodiment, a system is provided and includes one or more processors and a memory coupled to the processors. The memory stores the first data comprising an index for retrieving information from a database, and a program code. When executed by at least one of the processors, the program code can cause the system to recover, in a first data record, the first data defining a first set of parent coupons which has been exchanged for a second set of coupons replacement due to an interruption having affected one or more of the parent coupons, and recovering, in a second database record, a second datum defining the second set of replacement coupons The program code can moreover bring the system to define a first table of operators, each corresponding to one of the respective parent coupons in the first set of parent coupons, and indicating whether the respective parent coupon corresponds to the interruption, define a second table of operators, each corresponding to one of the respective replacement coupons in the second set of coupons replacement, and indicating whether the respective parent coupon corresponds to the interruption, and define a third link table, each Kant at least one parent coupon in the first set to at least one replacement coupon in the second set. The program code can also cause the system to store the first table, the second table, and the third table in the index.

[0028] Dans un autre aspect, le troisième tableau peut lier chaque coupon parent dans le premier ensemble à au moins un coupon de remplacement dans le deuxième ensemble, et lier chaque coupon de remplacement dans le deuxième ensemble à au moins un coupon parent dans le premier ensemble.In another aspect, the third table can link each parent coupon in the first set to at least one replacement coupon in the second set, and link each replacement coupon in the second set to at least one parent coupon in the first set.

[0029] Dans un autre aspect, les coupons parents dans chacun des premier et deuxième ensemble peuvent être classés par ordre chronologique, et le code de programme peut amener le système à définir le premier tableau, le deuxième tableau, et le troisième tableau en sélectionnant un coupon parent le plus ancien dans le premier ensemble, en sélectionnant un coupon parent le plus ancien dans le deuxième ensemble, en comparant le coupon parent sélectionné au coupon de remplacement sélectionné. En réponse au coupon parent sélectionné correspondant au coupon de remplacement sélectionné, le code de programme peut amener le système à ajouter un premier opérateur au premier tableau indiquant que le coupon parent sélectionné ne correspond pas à l’interruption, ajouter un deuxième opérateur au deuxième tableau indiquant que le coupon de remplacement sélectionné ne correspond pas à l’interruption, et ajouter un premier lien au troisième tableau liant le coupon parent sélectionné au coupon de remplacement sélectionné.In another aspect, the parent coupons in each of the first and second sets can be classified in chronological order, and the program code can cause the system to define the first table, the second table, and the third table by selecting an older parent coupon in the first set, by selecting an older parent coupon in the second set, comparing the selected parent coupon to the selected replacement coupon. In response to the selected parent coupon corresponding to the selected replacement coupon, the program code can cause the system to add a first operator to the first table indicating that the selected parent coupon does not correspond to the interruption, add a second operator to the second table indicating that the selected replacement coupon does not correspond to the interruption, and add a first link to the third table linking the selected parent coupon to the selected replacement coupon.

[0030] Dans un autre aspect, le coupon parent sélectionné et le coupon de remplacement sélectionné peuvent chacun être sélectionnés en se basant sur un compteur, et le code de programme peut par ailleurs amener le système à, en réponse au coupon parent sélectionné correspondant au coupon de remplacement sélectionné, încrémenter le compteur pour sélectionner un coupon parent le plus ancien suivant et un coupon de remplacement le plus récent suivant, et sélectionner le coupon parent le plus ancien suivant et le coupon de remplacement le plus récent suivant pour une comparaison basée sur le compteur. Le code de 5 programme peut par ailleurs amener le système à încrémenter le compteur chaque fois que le coupon parent correspond au coupon de remplacement sélectionné, [0031] Dans un autre aspect, le code de programme peut par ailleurs amener le système à, en réponse au coupon parent sélectionné ne correspondant pas au coupon de remplacement sélectionné, sélectionner un coupon parent le plus ancien dans le premier ensemble, sélectionner un coupon de remplacement le plus récent dans le deuxième ensemble, et comparer le coupon parent le plus récent au coupon de remplacement le plus récent. En réponse au coupon parent sélectionné le plus récent correspondant au coupon de remplacement le plus récent, le code de programme peut par ailleurs amener le système à ajouter un troisième opérateur au premier tableau indiquant que le coupon parent sélectionné le plus récent ne correspond pas à l’interruption, ajouter un quatrième opérateur au deuxième tableau indiquant que le coupon parent sélectionné le plus récent ne correspond pas à l’interruption, et ajouter un deuxième lien au troisième tableau liant le coupon parent le plus récent au coupon de remplacement le plus récent.In another aspect, the selected parent coupon and the selected replacement coupon can each be selected based on a counter, and the program code can also bring the system to, in response to the selected parent coupon corresponding to selected replacement coupon, increment counter to select next oldest parent coupon and next most recent replacement coupon, and select next oldest parent coupon and next most recent replacement coupon for comparison based on the counter. The program code can moreover cause the system to increment the counter each time the parent coupon corresponds to the selected replacement coupon, In another aspect, the program code can moreover cause the system to, in response to the selected parent coupon not corresponding to the selected replacement coupon, select an older parent coupon from the first set, select the most recent replacement coupon from the second set, and compare the most recent parent coupon to the replacement coupon most recent. In response to the most recent selected parent coupon corresponding to the most recent replacement coupon, the program code may also cause the system to add a third operator to the first table indicating that the most recent selected parent coupon does not correspond to the 'interruption, add a fourth operator to the second table indicating that the most recent selected parent coupon does not correspond to the interruption, and add a second link to the third table linking the most recent parent coupon to the most recent replacement coupon.

[0032J Dans un autre aspect, le code de programme peut par ailleurs amener le système à, en réponse au coupon parent le plus récent ne correspondant pas au coupon de remplacement le plus récent, ajouter un cinquième opérateur au premier tableau indiquant que le coupon parent le plus récent correspond à l’interruption, ajouter un sixième opérateur au deuxième tableau indiquant que le coupon de remplacement le plus récent correspond à l’interruption, et ajouter un troisième lien au troisième tableau liant le coupon parent le plus récent au coupon de remplacement le plus récent.In another aspect, the program code can also cause the system to, in response to the most recent parent coupon not corresponding to the most recent replacement coupon, add a fifth operator to the first table indicating that the parent coupon most recent corresponds to the interruption, add a sixth operator to the second table indicating that the most recent replacement coupon corresponds to the interruption, and add a third link to the third table linking the most recent parent coupon to the replacement coupon most recent.

[0033] Dans un autre aspect, le code de programme peut par ailleurs amener le système à, en réponse au coupon parent sélectionné correspondant au coupon de remplacement sélectionné, déterminer si à la fois un coupon parent le plus ancien suivant existe dans le premier ensemble et un coupon de remplacement le plus ancien suivant existe dans le deuxième ensemble, et ajouter uniquement le premier opérateur au premier tableau, le deuxième opérateur au deuxième tableau, et le premier lien au troisième tableau si le coupon parent le plus ancien suivant et le coupon de remplacement le plus ancien suivant existent tous deux.In another aspect, the program code can also cause the system to, in response to the selected parent coupon corresponding to the selected replacement coupon, determine whether both the next oldest parent coupon exists in the first set and a next oldest replacement coupon exists in the second set, and add only the first operator to the first table, the second operator to the second table, and the first link to the third table if the next oldest parent coupon and the coupon the next oldest replacement both exist.

[0034] Dans un autre aspect, le code de programme peut par ailleurs amener le système à, en réponse à au moins un coupon parent le plus ancien et le coupon de remplacement suivant le plus ancien suivant n’existant pas. si le coupon parent le plus récent suivant existe, ajouter pour chaque coupon parent restant dans le premier ensemble, un opérateur respectif au premier tableau indiquant que le coupon parent respectif correspond à l’interruption. Le code de programme peut également amener le système à, en réponse au moins au coupon parent le plus ancien et le coupon de remplacement suivant le plus ancien inexistant, si le coupon de remplacement suivant le plus ancien existe, ajouter pour chaque coupon parent restant dans le deuxième ensemble, un opérateur respectif au deuxième tableau indiquant que le coupon respectif de remplacement correspond à l’interruption.In another aspect, the program code can also cause the system to, in response to at least one oldest parent coupon and the next oldest oldest replacement coupon not existing. if the next most recent parent coupon exists, add for each parent coupon remaining in the first set, a respective operator to the first table indicating that the respective parent coupon corresponds to the interruption. The program code can also cause the system to, in response to at least the oldest parent coupon and the next oldest replacement coupon non-existent, if the next oldest replacement coupon exists, add for each parent coupon remaining in the second set, a respective operator in the second table indicating that the respective replacement coupon corresponds to the interruption.

[0035] Dans un autre aspect, le code de programme peut par ailleurs amener le système à, si le coupon parent le plus ancien existe, ajouter pour chaque coupon parent restant dans le premier ensemble, un lien respectif au troisième tableau liant le coupon parent au coupon de remplacement le plus récent dans le deuxième ensemble, et si le coupon de remplacement le plus ancien suivant existe, ajouter pour chaque coupon de remplacement restant dans le premier ensemble, un lien respectif au troisième tableau liant le coupon de remplacement à un coupon parent le plus récent dans le premier ensemble.In another aspect, the program code can also cause the system to, if the oldest parent coupon exists, add for each parent coupon remaining in the first set, a respective link to the third table linking the parent coupon to the most recent replacement coupon in the second set, and if the next oldest replacement coupon exists, add for each replacement coupon remaining in the first set, a respective link to the third table linking the replacement coupon to a coupon most recent parent in the first set.

[0036] Dans un autre mode de réalisation, un procédé générant l’indice destiné à récupérer des informations dans la base de données est pourvu. Le procédé peut inclure de récupérer, à partir du premier enregistrement de base de données, la première donnée définissant le premier ensemble de coupons parents ayant été échangés pour le deuxième ensemble de coupons de remplacement en raison de l’interruption ayant eu une incidence sur ou plusieurs des coupons parents, et récupérer, dans le deuxième enregistrement de base de données, la deuxième donnée définissant le deuxième ensemble de coupons de remplacement.In another embodiment, a method generating the index intended to retrieve information from the database is provided. The method may include recovering, from the first database record, the first data defining the first set of parent coupons that have been redeemed for the second set of replacement coupons due to the interruption having affected or several of the parent coupons, and recovering, in the second database record, the second datum defining the second set of replacement coupons.

Le procédé peut par ailleurs inclure de définir le premier tableau d’opérateurs, chacun correspondant à l’un des coupons parents respectifs dans le premier ensemble des coupons parents, et indiquant si le coupon parent respectif correspond à l’interruption, définir le deuxième tableau d’opérateurs, chacun correspondant au coupon respectif des coupons de remplacement dans le deuxième ensemble des coupons de remplacement, et indiquant si le coupon de remplacement respectif correspond à l’interruption, et définir le troisième tableau de liens, chacun liant au moins un coupon parent dans le premier ensemble à au moins un coupon de remplacement du deuxième ensemble. Le procédé peut par ailleurs inclure le stockage du premier tableau, du deuxième tableau, et du troisième tableau dans l’indice.The method can also include defining the first operator table, each corresponding to one of the respective parent coupons in the first set of parent coupons, and indicating whether the respective parent coupon corresponds to the interruption, defining the second table operators, each corresponding to the respective coupon of the replacement coupons in the second set of replacement coupons, and indicating whether the respective replacement coupon corresponds to the interruption, and define the third table of links, each linking at least one coupon parent in the first set to at least one replacement coupon from the second set. The method may further include storing the first table, the second table, and the third table in the index.

[0037] Dans un autre aspect, le troisième tableau peut lier chaque coupon parent dans le premier ensemble à au moins un coupon de remplacement dans le deuxième ensemble, et lier chaque coupon de remplacement dans le deuxième ensemble à au moins un coupon parent dans le premier ensemble.In another aspect, the third table can link each parent coupon in the first set to at least one replacement coupon in the second set, and link each replacement coupon in the second set to at least one parent coupon in the first set.

[0038] Dans un autre aspect, les coupons parents dans le premier ensemble et les coupons de remplacement dans le deuxième ensemble peuvent être classés par ordre chronologique, et le premier tableau, le deuxième tableau, et le troisième tableau peuvent être définis en sélectionnant le coupon parent le plus ancien dans le premier ensemble, sélectionnant le coupon de remplacement le plus ancien dans le deuxième ensemble, et en comparant le coupon parent sélectionné au coupon de remplacement sélectionné. En réponse au coupon parent sélectionné correspondant au coupon de remplacement sélectionné, le procédé peut ajouter le premier opérateur au premier tableau indiquant que le coupon parent sélectionné ne correspond pas à l’interruption, ajouter le deuxième opérateur au deuxième tableau indiquant que le coupon de remplacement sélectionné ne correspond pas à l’interruption, et ajouter le premier lien au troisième tableau liant le coupon parent sélectionné au coupon de remplacement sélectionné.In another aspect, the parent coupons in the first set and the replacement coupons in the second set can be classified in chronological order, and the first table, the second table, and the third table can be defined by selecting the oldest parent coupon in the first set, selecting the oldest replacement coupon in the second set, and comparing the selected parent coupon to the selected replacement coupon. In response to the selected parent coupon corresponding to the selected replacement coupon, the method can add the first operator to the first table indicating that the selected parent coupon does not correspond to the interruption, add the second operator to the second table indicating that the replacement coupon selected does not correspond to the interruption, and add the first link to the third table linking the selected parent coupon to the selected replacement coupon.

[0039] Dans un autre aspect, le coupon parent sélectionné et le coupon de remplacement sélectionné peuvent chacun être sélectionnés en se basant sur un compteur, et le procédé peut par ailleurs inclure, en réponse au coupon parent sélectionné correspondant au coupon de remplacement sélectionné, incrémenter le compteur pour sélectionner le coupon parent le plus ancien suivant et le coupon de remplacement le plus ancien suivant pour une comparaison basée sur le compteur, où le compteur est incrémenté chaque fois que le coupon parent sélectionné correspond au coupon de remplacement sélectionné.In another aspect, the selected parent coupon and the selected replacement coupon can each be selected based on a counter, and the method can also include, in response to the selected parent coupon corresponding to the selected replacement coupon, increment the counter to select the next oldest parent coupon and the next oldest replacement coupon for a counter-based comparison, where the counter is incremented each time the selected parent coupon matches the selected replacement coupon.

[0040] Dans un autre aspect, en réponse au coupon parent sélectionné ne correspondant pas au coupon de remplacement sélectionné, le procédé peut sélectionner le coupon parent le plus ancien dans le premier ensemble, sélectionner le coupon de remplacement le plus récent dans le deuxième ensemble, et comparer le coupon parent le plus récent au coupon de remplacement le plus récent. En réponse au coupon parent sélectionné le plus récent correspondant au coupon de remplacement le plus récent, le procédé peut ajouter le troisième opérateur au premier tableau indiquant que le coupon parent le plus récent ne correspond pas à l’interruption, et ajouter le deuxième lien au troisième tableau associant le coupon parent le plus récent au coupon de remplacement le plus récent [0041] Dans un autre aspect, en réponse au coupon parent le plus récent ne correspondant pas au coupon de remplacement le plus récent, le procédé peut ajouter le cinquième opérateur au premier tableau indiquant que le coupon parent le plus récent correspond à l’interruption, ajouter un sixième opérateur au deuxième tableau indiquant que le coupon de remplacement le plus récent correspond à l’interruption, et ajouter le quatrième opérateur au deuxième tableau indiquant que le coupon de remplacement le plus récent ne correspond pas à l’interruption, et ajouter le deuxième lien au troisième tableau associant liant le coupon parent le plus récent au coupon de remplacement le plus récent.In another aspect, in response to the selected parent coupon not corresponding to the selected replacement coupon, the method can select the oldest parent coupon in the first set, select the most recent replacement coupon in the second set , and compare the most recent parent coupon to the most recent replacement coupon. In response to the most recent selected parent coupon corresponding to the most recent replacement coupon, the method can add the third operator to the first table indicating that the most recent parent coupon does not correspond to the interruption, and add the second link to the third table associating the most recent parent coupon with the most recent replacement coupon In another aspect, in response to the most recent parent coupon not corresponding to the most recent replacement coupon, the method can add the fifth operator to the first table indicating that the most recent parent coupon corresponds to the interruption, add a sixth operator to the second table indicating that the most recent replacement coupon corresponds to the interruption, and add the fourth operator to the second table indicating that the most recent replacement coupon does not match the interruption, and add the second link to the third table associating linking the most recent parent coupon to the most recent replacement coupon.

[0042] Dans un autre aspect, en réponse au coupon parent sélectionné correspondant au coupon de remplacement sélectionné, le procédé peut déterminer si à la fois le coupon parent le plus ancien suivant existe dans le premier ensemble et le coupon de remplacement le plus 10 ancien suivant existe dans le deuxième ensemble, et ajouter uniquement le premier opérateur au premier tableau, le deuxième opérateur au deuxième tableau, et le premier lien au troisième tableau si le coupon parent le plus récent suivant et le coupon de remplacement le plus récent suivant existent tous deux.In another aspect, in response to the selected parent coupon corresponding to the selected replacement coupon, the method can determine whether both the next oldest parent coupon exists in the first set and the oldest replacement coupon next exists in second set, and add only first operator to first table, second operator to second table, and first link to third table if next most recent parent coupon and next most recent replacement coupon all exist of them.

[0043] Dans un autre aspect, en réponse au moins à un coupon parent le plus ancien 15 suivant et le coupon de remplacement suivant le plus ancien n’existant pas, si le coupon parent le plus récent suivant existe, le procédé peut ajouter, pour chaque coupon parent restant dans le premier ensemble, l’opérateur respectif au premier tableau indiquant que le coupon panent respectif correspond à l’interruption. En réponse au moins au coupon parent le plus ancien suivant et le coupon de remplacement suivant le plus ancien n’existant pas, si le coupon de remplacement le plus ancien suivant existe, le procédé peut également ajouter pour chaque coupon parent restant dans le deuxième ensemble, l’opérateur respectif au deuxième tableau indiquant que le coupon de remplacement respectif correspond à l’interruption.In another aspect, in response to at least one next oldest parent coupon and the next oldest replacement coupon not existing, if the next most recent parent coupon exists, the method can add, for each parent coupon remaining in the first set, the respective operator in the first table indicating that the respective bread coupon corresponds to the interruption. In response to at least the next oldest parent coupon and the next oldest replacement coupon not existing, if the next oldest replacement coupon exists, the method may also add for each parent coupon remaining in the second set , the respective operator in the second table indicating that the respective replacement coupon corresponds to the interruption.

[0044] Dans un autre aspect, si le coupon parent le plus ancien existe, le procédé peut inclure d’ajouter pour chaque coupon parent restant dans le deuxième ensemble, le lien respectif au troisième tableau liant le coupon parent au coupon de remplacement le plus récent dans le deuxième ensemble. Si le coupon de remplacement le plus ancien suivant existe, le procédé peut également ajouter, pour chaque coupon de remplacement restant dans le deuxième ensemble, le lien respectif au troisième tableau liant le coupon de remplacement au coupon parent le plus récent dans le premier ensemble.In another aspect, if the oldest parent coupon exists, the method may include adding for each parent coupon remaining in the second set, the respective link to the third table linking the parent coupon to the most replacement coupon. recent in the second set. If the next oldest replacement coupon exists, the method can also add, for each replacement coupon remaining in the second set, the respective link to the third table linking the replacement coupon to the most recent parent coupon in the first set.

[0045] Dans un autre aspect, chaque coupon dans le premier ensemble de coupons parents peut comporter un statut et une heure de départ, et la récupération de la première donnée définissant le premier ensemble de coupons parents peut comprendre le filtrage de chaque coupon parent pour lequel le statut est parcouru, ou pour lequel l’heure de départ est antérieure à l’heure de départ d’un autre coupon parent ayant le statut parcouru, dans le premier ensemble de coupons parents.In another aspect, each coupon in the first set of parent coupons can have a status and a start time, and retrieving the first data defining the first set of parent coupons can include filtering each parent coupon to which the status is browsed, or for which the departure time is earlier than the departure time of another parent coupon having the browsed status, in the first set of parent coupons.

[0046] Dans un autre mode de réalisation, un produit de programme informatique générant l’indice pour la récupération des informations dans la base de données est pourvu. Le produit de programme informatique peut inclure un support de stockage durable lisible par ordinateur, et un code de programme stocké sur le support qui. lorsqu’il est exécuté par un ou plusieurs processeurs, amène les processeurs à récupérer, à partir du premier enregistrement de base de données, la première donnée définissant le premier ensemble de coupons parents ayant été échangé pour le deuxième ensemble de coupons de remplacement en raison de l’interruption qui a eu une incidence sur un ou plusieurs des coupons parents, et récupérer, à partir du deuxième enregistrement de base de données, la deuxième donnée définissant le deuxième ensemble de coupons de remplacement. Le code de programme peut par ailleurs amener les processeurs à définir le premier tableau d’opérateurs, chacun correspondant à l’un des coupons parents respectifs dans le premier ensemble des coupons parents, et indiquant si le coupon parent respectif correspond à l’interruption, définir le deuxième tableau d’opérateurs, chacun correspondant au coupon respectif des coupons de remplacement dans le deuxième ensemble des coupons de remplacement, et indiquant si le coupon de remplacement respectif correspond à l’interruption, et définir le troisième tableau de liens, chacun associant au moins un coupon parent dans le premier ensemble à au moins un coupon de remplacement du deuxième ensemble. Le code de programme peut par ailleurs amener les processeurs à stocker le premier tableau, le deuxième tableau, et le troisième tableau dans l’indice.In another embodiment, a computer program product generating the index for retrieving information from the database is provided. The computer program product may include durable computer readable storage medium, and program code stored on the medium which. when executed by one or more processors, causes the processors to recover, from the first database record, the first data defining the first set of parent coupons having been exchanged for the second set of replacement coupons due of the interruption which affected one or more of the parent coupons, and recovering, from the second database record, the second datum defining the second set of replacement coupons. The program code can moreover cause the processors to define the first array of operators, each corresponding to one of the respective parent coupons in the first set of parent coupons, and indicating whether the respective parent coupon corresponds to the interruption, define the second operator table, each corresponding to the respective coupon for replacement coupons in the second set of replacement coupons, and indicating whether the respective replacement coupon corresponds to the interruption, and define the third table of links, each associating at least one parent coupon in the first set to at least one replacement coupon in the second set. Program code can also cause processors to store the first table, the second table, and the third table in the index.

[0047] Dans un autre mode de réalisation, un système est pourvu qui inclut un ou plusieurs processeurs et une mémoire couplée aux processeurs. La mémoire peut stocker le code de programme qui, une fois exécuté par au moins un des processeurs, amène le système à récupérer, à partir d’un premier enregistrement de base de données, la première donnée définissant un premier ensemble de premiers coupons, et récupérer, à partir d’un deuxième enregistrement de base de données, une deuxième base de données définissant un deuxième ensemble de segments. Le code de programme peut par ailleurs, pour chaque segment dans le deuxième ensemble, générer un deuxième coupon correspondant au segment, et identifier chaque premier coupon pour lequel le deuxième coupon est un remplacement Le code de programme peut par ailleurs amener le système à, pour chaque premier coupon identifié, créer un tableau qui inclut un premier élément de coupon qui identifie le premier coupon et un deuxième élément de coupon qui identifie le deuxième coupon et est lié au premier élémentIn another embodiment, a system is provided which includes one or more processors and a memory coupled to the processors. The memory can store the program code which, once executed by at least one of the processors, causes the system to recover, from a first database record, the first data defining a first set of first coupons, and retrieving, from a second database record, a second database defining a second set of segments. The program code can also, for each segment in the second set, generate a second coupon corresponding to the segment, and identify each first coupon for which the second coupon is a replacement. The program code can also cause the system to, for each first coupon identified, create a table that includes a first coupon element that identifies the first coupon and a second coupon element that identifies the second coupon and is linked to the first element

Figure FR3061575A1_D0003

de coupon. Le code de programme peut par ailleurs amener le système à ajouter le tableau à un premier indice.coupon. The program code can also cause the system to add the table to a first index.

[0048] Dans un autre aspect, le code de programme peut par ailleurs amener le système à, pour chaque tableau dans le premier indice, déterminer si le premier coupon a subi l’incidence 5 d’une interruption, et, si l’interruption a eu une incidence sur le premier coupon, signaler le premier coupon comme correspondant à l’interruption.In another aspect, the program code can also cause the system to, for each table in the first index, determine whether the first coupon has suffered the impact of an interruption, and, if the interruption affected the first coupon, report the first coupon as corresponding to the interruption.

[0049] Dans un autre aspect, le premier indice peut être généré en réponse à la réception d’une première demande d’échange d’un premier billet pour un deuxième billet, et stocké dans un troisième enregistrement de base de données. En réponse à la réception d’une demande d’affichage du deuxième billet, le code de programme peut amener le système àIn another aspect, the first index can be generated in response to the receipt of a first request to exchange a first ticket for a second ticket, and stored in a third database record. In response to receiving a request to display the second ticket, the program code may cause the system to

Figure FR3061575A1_D0004

chaque tableau dans le premier indice, récupérer la troisième donnée qui définit le deuxième coupon, récupérer la quatrième donnée qui définit le premier coupon lié au deuxième coupon, et récupérer la cinquième donnée qui identifie si le premier coupon lié au deuxième coupon est bien signalé comme correspondant à l’interruption. Le code de programme peut par ailleurs amener le système à utiliser la troisième donnée, la quatrième donnée, et la cinquième donnée pour transmettre une réponse à l’interrogation, la réponse étant configurée pour amener le système demandeur à afficher, pour chaque deuxième coupon défini par la troisième donnée, la sixième donnée qui définit le deuxième coupon, le premier coupon qui 20 est lié au deuxième coupon, et si le premier coupon correspond bien à l ’ interruption.each table in the first index, recover the third datum which defines the second coupon, recover the fourth datum which defines the first coupon linked to the second coupon, and recover the fifth datum which identifies whether the first coupon linked to the second coupon is correctly marked as corresponding to the interruption. The program code can moreover cause the system to use the third datum, the fourth datum, and the fifth datum to transmit a response to the interrogation, the response being configured to cause the requesting system to display, for each second coupon defined. by the third datum, the sixth datum which defines the second coupon, the first coupon which is linked to the second coupon, and if the first coupon corresponds to the interruption.

[0050] Dans un autre aspect, le code de programme peut par ailleurs amener le système à déterminer si le système demandeur est compatible avec une partie de la sixième donnée qui définit le premier coupon qui est lié au deuxième coupon, et si le système demandeur est incompatible, filtrer la partie de la sixième donnée provenant de la réponse.In another aspect, the program code can also cause the system to determine if the requesting system is compatible with part of the sixth datum which defines the first coupon which is linked to the second coupon, and if the requesting system is incompatible, filter the part of the sixth datum coming from the response.

[0051] Dans un autre aspect, le premier indice peut être stocké dans un troisième enregistrement de base de données, et le code de programme peut par ailleurs amener le système à, pour chaque premier coupon dans le premier ensemble, extraire, à partir du premier enregistrement de base de données, un composant tarifaire du premier coupon, stocker le composant tarifaire dans un élément de prix, stocker la troisième donnée identifiant le premier coupon et le premier enregistrement de base de données dans un élément de produit, lier l’élément de prix et l’élément de produit pour définir une structure de donnée, et ajouter la structure de donnée à un deuxième indice. Le code de programme peut par ailleurs amener le système à stocker le deuxième indice dans le troisième enregistrement de base de données.In another aspect, the first index can be stored in a third database record, and the program code can also cause the system to, for each first coupon in the first set, extract, from the first database record, a price component of the first coupon, store the price component in a price element, store the third data identifying the first coupon and the first database record in a product element, link the element and the product element to define a data structure, and add the data structure to a second index. The program code may also cause the system to store the second index in the third database record.

[0052] Dans un autre aspect, le premier enregistrement de base de données peut inclure un billet original, le deuxième enregistrement de base de données peut inclure un dossier de réservation, le premier indice peut inclure un indice d’interruption, et le deuxième index peut inclure un indice de structure tarifaire.In another aspect, the first database record may include an original ticket, the second database record may include a reservation file, the first index may include an interruption index, and the second index may include a pricing structure index.

[0053] Dans un autre aspect, le premier indice peut être généré en réponse à la réception d’une première demande d’échange d’un premier billet pour un deuxième billet, et le code de programme peut par ailleurs amener le système à, en réponse à la réception d’une deuxième demande d’échange du deuxième billet pour un troisième billet, récupérer, à partir du deuxième enregistrement de base de données, la troisième donnée définissant un troisième ensemble de segments. Le code de programme peut par ailleurs amener le système à, pour chaque segment dans le troisième ensemble de segments, générer un troisième coupon correspondant au segment, et identifier chaque deuxième coupon pour lequel le troisième coupon est le remplaçant. Pour chaque deuxième coupon identifié, le code de programme peut amener le système à identifier chaque tableau correspondant au deuxième coupon, ajouter un troisième élément de coupon qui identifie le troisième coupon au tableau identifié, et lier le troisième élément de coupon au deuxième élément de coupon. Le premier indice peut par conséquent être configuré pour pourvoir un mappage entre chaque troisième coupon et au moins un premier coupon correspondant.In another aspect, the first index can be generated in response to the reception of a first request to exchange a first ticket for a second ticket, and the program code can also cause the system to, in response to the reception of a second request to exchange the second ticket for a third ticket, recovering, from the second database record, the third datum defining a third set of segments. The program code can also cause the system to, for each segment in the third set of segments, generate a third coupon corresponding to the segment, and identify each second coupon for which the third coupon is the replacement. For each second identified coupon, the program code can cause the system to identify each table corresponding to the second coupon, add a third coupon element which identifies the third coupon to the identified table, and link the third coupon element to the second coupon element. . The first index can therefore be configured to provide a mapping between each third coupon and at least one corresponding first coupon.

[0054] Dans un autre aspect, le code de programme peut par ailleurs amener le système à, 20 pour chaque première structure de donnée dans le premier indice, déterminer si le deuxième coupon a subi l’incidence d’une interruption, et si l’interruption a eu une incidence sur le deuxième coupon, signaler le deuxième coupon comme étant interrompu.In another aspect, the program code can also cause the system to, for each first data structure in the first index, determine whether the second coupon has been affected by an interruption, and if the 'interruption had an impact on the second coupon, report the second coupon as being interrupted.

[0055] Dans un autre aspect, le code de programme peut par ailleurs amener le système à, pour chaque deuxième coupon, déterminer si le deuxième coupon est en train d’être remplacé par plus qu’un troisième coupon. Si le deuxième coupon est en train d’être remplacé par plus qu’un troisième coupon, le code de programme peut amener le système à identifier chaque tableau qui inclut le deuxième élément de coupon correspondant au deuxième coupon, et pour chaque tableau identifié, générer des doublons du tableau identifié de telle façon qu’un tableau correspondant existe pour accepter le troisième élément de coupon, chaque troisième coupon remplaçant le deuxième coupon.In another aspect, the program code can also cause the system to, for each second coupon, determine whether the second coupon is being replaced by more than a third coupon. If the second coupon is being replaced by more than a third coupon, the program code can cause the system to identify each table which includes the second coupon element corresponding to the second coupon, and for each identified table, generate duplicates of the table identified so that a corresponding table exists to accept the third coupon element, each third coupon replacing the second coupon.

[0056] Dans un autre mode de réalisation, un procédé indexant les enregistrements de base de données pour la récupération d’informations est pourvu. Le procédé peut inclure de récupérer, dans le premier enregistrement de base de données, la première donnée définissant le premier ensemble de premiers coupons, et récupérer, dans le deuxième enregistrement de base de données, la deuxième donnée définissant le deuxième ensemble de segments. Le procédé peut par ailleurs inclure, pour chaque segment dans le deuxième ensemble, la génération du deuxième coupon correspondant au segment, et l’identification de chaque premier coupon pour lequel le deuxième coupon est le coupon de remplacement. Pour chaque 5 premier coupon identifié, le procédé peut créer le tableau qui inclut le premier élément de coupon qui identifie le premier coupon et le deuxième élément de coupon qui identifie le deuxième coupon et est lié au premier élément de coupon. Le procédé peut par ailleurs ajouter le tableau au premier indice.In another embodiment, a method indexing database records for retrieving information is provided. The method can include recovering, in the first database record, the first data defining the first set of first coupons, and recovering, in the second database record, the second data defining the second set of segments. The method can also include, for each segment in the second set, the generation of the second coupon corresponding to the segment, and the identification of each first coupon for which the second coupon is the replacement coupon. For each first identified coupon, the method can create the table which includes the first coupon element which identifies the first coupon and the second coupon element which identifies the second coupon and is linked to the first coupon element. The method can also add the table to the first index.

[0057] Dans un autre aspect, le procédé peut par ailleurs inclure, pour chaque tableau dans le premier indice, de déterminer si le premier coupon a subi l’incidence de l’interruption, et si l’interruption a eu une incidence sur le premier coupon, signaler le premier coupon comme correspondant à l’interruption.In another aspect, the method can also include, for each table in the first index, to determine if the first coupon has been affected by the interruption, and if the interruption has had an impact on the first coupon, report the first coupon as corresponding to the interruption.

[0058] Dans un autre aspect, le premier indice peut être généré en réponse à la réception de la première demande d’échange du premier billet pour le deuxième billet et stocké dans le troisième enregistrement de base de données, et le procédé peut par ailleurs inclure de recevoir la demande d’affichage du deuxième billet En réponse à la réception de la demande, le procédé peut récupérer le premier indice dans le troisième enregistrement de base de données. Pour chaque tableau dans le premier indice, le procédé peut récupérer la troisième donnée qui définit le deuxième coupon, récupérer la quatrième donnée qui définit le premier 20 coupon lié au deuxième coupon, et récupérer la cinquième donnée qui identifie si le premier coupon lié au deuxième coupon est bien signalé comme correspondant à l’interruption. Le procédé peut par ailleurs inclure d’utiliser la troisième donnée, la quatrième donnée, et la cinquième donnée pour transmettre la réponse à la demande, la réponse étant configurée pour amener le système demandeur à afficher, pour chaque deuxième coupon défini par la troisième donnée, la sixième donnée qui définit le deuxième coupon, le premier coupon qui est lié au deuxième coupon, et si le premier coupon correspond bien à l’interruption. [0059] Dans un autre aspect, le procédé peut par ailleurs inclure de déterminer si le système demandeur est compatible avec la partie de la sixième donnée qui définit le premier coupon qui est lié au deuxième coupon, et si le système demandeur est incompatible, de filtrer [0060] Dans un autre aspect, si le système demandeur est compatible avec la partie de la sixième donnée, il peut être déterminé à partir d’une identité du système demandeur, ou le statut du signal dans la demande.In another aspect, the first index can be generated in response to receipt of the first request to exchange the first ticket for the second ticket and stored in the third database record, and the method can also include receiving the request to display the second ticket In response to receiving the request, the method may retrieve the first index from the third database record. For each table in the first index, the method can recover the third datum which defines the second coupon, recover the fourth datum which defines the first coupon linked to the second coupon, and recover the fifth datum which identifies whether the first coupon linked to the second coupon is well marked as corresponding to the interruption. The method can also include using the third datum, the fourth datum, and the fifth datum to transmit the response to the request, the response being configured to cause the requesting system to display, for each second coupon defined by the third datum , the sixth datum which defines the second coupon, the first coupon which is linked to the second coupon, and whether the first coupon corresponds to the interruption. In another aspect, the method can also include determining whether the requesting system is compatible with the part of the sixth datum which defines the first coupon which is linked to the second coupon, and if the requesting system is incompatible, of filter In another aspect, if the requesting system is compatible with the part of the sixth datum, it can be determined from an identity of the requesting system, or the status of the signal in the request.

[0061] Dans un autre aspect, le premier indice peut être stocké dans le troisième enregistrement de base de données, et pour chaque premier coupon dans le premier ensemble, le procédé peut par ailleurs inclure d’extraire le composant tarifaire du premier coupon dans le premier enregistrement de base de données, stocker le composant tarifaire dans l’élément de prix, stocker la troisième donnée identifiant le premier coupon et le premier enregistrement de base de données dans 1’ élément de produit, lier l’élément tarifaire et l’élément de produit pour définir la structure de donnée, et ajouter la structure de donnée au deuxième indice. Le procédé peut ensuite stocker le. deuxième indice dans le troisième enregistrement de base de données.In another aspect, the first index can be stored in the third database record, and for each first coupon in the first set, the method can also include extracting the tariff component from the first coupon in the first database record, store the tariff component in the price element, store the third data identifying the first coupon and the first database record in the product element, link the tariff element and the element of product to define the data structure, and add the data structure to the second index. The method can then store the. second clue in the third database record.

[0062] Dans un autre aspect, le premier indice peut être généré en réponse à la réception de la première demande demandant d’échanger le premier billet pour le deuxième billet, et le procédé peut par ailleurs inclure, en réponse à la réception de la deuxième demande d’échanger le deuxième billet pour le troisième billet, récupérer, à partir du deuxième enregistrement de base de données, la troisième donnée définissant le troisième ensemble de segments. Pour chaque segment dans le troisième ensemble de segments, le procédé peut générer le troisième coupon correspondant au segment, et identifier chaque deuxième coupon pour lequel le troisième coupon est le remplaçant. Pour chaque deuxième coupon identifié, le procédé peut identifier chaque tableau correspondant au deuxième coupon, ajouter le troisième élément de coupon qui identifie le troisième coupon au tableau identifié, et lier le troisième élément de coupon au deuxième élément de coupon. Le premier indice peut ainsi être configuré pour pourvoir le mappage entre chaque troisième coupon et celui au moins correspondant au premier coupon.In another aspect, the first index can be generated in response to the receipt of the first request to exchange the first ticket for the second ticket, and the method may also include, in response to the receipt of the second request to exchange the second ticket for the third ticket, recover, from the second database record, the third datum defining the third set of segments. For each segment in the third set of segments, the method can generate the third coupon corresponding to the segment, and identify each second coupon for which the third coupon is the replacement. For each second identified coupon, the method can identify each table corresponding to the second coupon, add the third coupon element which identifies the third coupon to the identified table, and link the third coupon element to the second coupon element. The first index can thus be configured to provide the mapping between each third coupon and that at least corresponding to the first coupon.

[0063] Dans un autre aspect, le procédé peut par ailleurs inclure, pour chaque première structure de donnée dans le premier indice, de déterminer si l’interruption a eu une incidence 25 sur le deuxième coupon, et, si l’interruption a eu une incidence sur le deuxième coupon, signaler le deuxième coupon comme étant interrompu.In another aspect, the method can also include, for each first data structure in the first index, to determine if the interruption has had an impact on the second coupon, and, if the interruption has had affect the second coupon, report the second coupon as discontinued.

[0064] Dans un autre aspect, le procédé peut par ailleurs inclure, pour chaque deuxième coupon, de déterminer si le deuxième coupon est remplacé par plus qu’un troisième coupon.In another aspect, the method may also include, for each second coupon, to determine if the second coupon is replaced by more than a third coupon.

Si le deuxième coupon est remplacé par plus d’un troisième coupon, le procédé peut identifier chaque tableau qui inclut le deuxième élément de coupon correspondant au deuxième coupon, et, pour chaque tableau identifié, générer des doublons du tableau identifié de telle façon que le tableau correspondant existe pour accepter le troisième élément de coupon pour chaque troisième coupon remplaçant le deuxième coupon.If the second coupon is replaced by more than a third coupon, the method can identify each table which includes the second coupon element corresponding to the second coupon, and, for each identified table, generate duplicates of the identified table so that the corresponding table exists to accept the third coupon element for each third coupon replacing the second coupon.

[0065] Dans un autre mode de réalisation, un produit de programme informatique pour traiter des enregistrements de base de données est pourvu. Le produit de programme informatique peut inclure un support de stockage durable lisible par ordinateur, et un code de programme stocké sur le support qui, lorsqu’il est exécuté par un ou plusieurs processeurs, amène les processeurs à récupérer, à partir du premier enregistrement de base de données stocké, la première donnée définissant le premier ensemble de premiers coupons, et à récupérer, à partir de l’enregistrement de la deuxième base de données, la deuxième donnée définissant le deuxième ensemble de segments. Le code de programme peut par ailleurs amener les processeurs à, pour chaque segment dans le deuxième ensemble, générer le deuxième coupon correspondant au segment, et identifier chaque premier coupon pour lequel le deuxième coupon est le remplaçant. Le code de programme peut par ailleurs amener les processeurs à, pour chaque premier coupon identifié, créer le tableau qui inclut le premier élément de coupon qui identifie le premier coupon et le deuxième élément de coupon qui identifie le deuxième coupon et est lié au premier élément de coupon. Le code de programme peut par ailleurs amener les processeurs à ajouter le tableau au premier indice.In another embodiment, a computer program product for processing database records is provided. The computer program product may include durable computer-readable storage medium, and program code stored on the medium which, when executed by one or more processors, causes the processors to recover from the first recording of stored database, the first data defining the first set of first coupons, and recovering, from the registration of the second database, the second data defining the second set of segments. The program code can moreover cause the processors to, for each segment in the second set, generate the second coupon corresponding to the segment, and identify each first coupon for which the second coupon is the replacement. The program code can moreover cause the processors to, for each first coupon identified, create the table which includes the first coupon element which identifies the first coupon and the second coupon element which identifies the second coupon and is linked to the first element coupon. The program code can also cause the processors to add the table to the first index.

[0066] Le résumé ci-dessus peut présenter une vue d’ensemble simplifiée de certains modes de réalisation de l’invention afin de donner une compréhension basique de certains aspects de l’invention discutée dans les présentes. Le résumé ne prétend pas apporter une vue d’ensemble exhaustive de l’invention et n’est pas destiné à identifier tout élément clé ou critique ou à limiter la portée de l'invention. Le seul but du résumé est de présenter simplement quelques concepts sous une forme simplifiée comme préambule à la description détaillée présentée ci-dessous.The above summary may present a simplified overview of certain embodiments of the invention in order to give a basic understanding of certain aspects of the invention discussed herein. The summary does not purport to provide an exhaustive overview of the invention and is not intended to identify any key or critical element or to limit the scope of the invention. The sole purpose of the summary is to simply present a few concepts in a simplified form as a preamble to the detailed description presented below.

BRÈVE DESCRIPTION DES DESSINS [0067] 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 description détaillée des modes de réalisation donnée ci-après, servent à expliquer les modes de réalisation de l’invention.BRIEF DESCRIPTION OF THE DRAWINGS The drawings, which form an integral part of the specifications, illustrate various embodiments of the invention and, with the general description of the invention above and the detailed description of the embodiments given below. -after, serve to explain the embodiments of the invention.

[0068] La FIG. 1 est une vue schématique d’un environnement d’exploitation exemplaire incluant un système de gestion de base de données dans la communication avec un système utilisateur, un système de pourvoyeur, une base de données de réservation, et une base de données de billets.FIG. 1 is a schematic view of an exemplary operating environment including a database management system in communication with a user system, a provider system, a reservation database, and a ticket database.

[0069] La FIG. 2 est une vue schématique d’un ordinateur exemplaire pouvant être utilisé pour pourvoir l’environnement d’exploitation de la FIG. 1.FIG. 2 is a schematic view of an exemplary computer which can be used to provide the FIG operating environment. 1.

[0070] La FIG. 3 est une vue schématique d’une image d’un dossier de réservation qui peut être stocké dans la base de données de réservation de la FIG. 1.FIG. 3 is a schematic view of an image of a reservation file which can be stored in the FIG reservation database. 1.

[0071 ] La FIG. 4 est une vue schématique d’une image d’un billet original qui peut être stocké dans la base de données de billets de la FIG. 1.FIG. 4 is a schematic view of an image of an original ticket which can be stored in the FIG ticket database. 1.

[0072] La FIG. 5 est une vue schématique de 1 ’ image du dossier de réservation de laFIG. 5 is a schematic view of the image of the reservation file for the

FIG. 3 avec un itinéraire mis à jour.FIG. 3 with an updated route.

[0073] La FIG. 6 est une vue schématique de l’image du billet original de la FIG. 4 et une image d’un billet réémis qui peut avoir été émis en réponse à l’exécution d’une réémission partielle de billets en fonction de l’itinéraire mis à jour défini par le dossier de réservation de 10 la FIG. 5.FIG. 6 is a schematic view of the image of the original FIG ticket. 4 and an image of a reissued ticket which may have been issued in response to the execution of a partial reissue of tickets based on the updated route defined by the FIG booking record. 5.

[0074] La FIG. 7 est une vue schématique de l’image du billet original de la FIG. 4 et une image d’un billet réémis qui peut avoir été émis en réponse à l’exécution d’une réémission complète de billets en fonction de l’itinéraire mis à jour défini par le dossier de réservation de la FIG. 5.FIG. 7 is a schematic view of the image of the original FIG ticket. 4 and an image of a reissued ticket which may have been issued in response to the execution of a complete reissue of tickets based on the updated route defined by the FIG booking file. 5.

[0075] La FIG. 8 est un organigramme d’un procédé d’échange de billet qui peut être mis en œuvre par le système de gestion de base de données de la FIG. 1.FIG. 8 is a flow diagram of a ticket exchange process which can be implemented by the FIG database management system. 1.

[0076] La FIG. 9 est une vue schématique d’un indice d’échange qui peut être utilisé par le processus de la FIG. 8 pour effectuer l’échange de billet.FIG. 9 is a schematic view of an exchange index which can be used by the FIG process. 8 to exchange the ticket.

[0077] Les FIG. 10 à 13 décrivent un organigramme d’un processus destiné à produire 20 l’indice d’échange de la FIG. 9.FIGS. 10 to 13 describe a flow diagram of a process for producing the FIG trading index. 9.

[0078] Les FIG. 14 à 18 constituent les vues schématiques des ensembles exemplaires de coupons qui démontrent le processus des FIG. 10 à 13 telles qu’appliquées à un certain nombre de scénarios différents d’échange de billets.FIGS. 14-18 are schematic views of exemplary sets of coupons which demonstrate the FIG process. 10 to 13 as applied to a number of different ticket trading scenarios.

[0079] La FIG. 19 est une vue schématique d’un enregistrement de transition qui inclut un 25 indice des interruptions qui peut être déterminé sur la base de l’indice d’échange de la FIG. 9.FIG. 19 is a schematic view of a transition record which includes an interruption index which can be determined on the basis of the FIG exchange index. 9.

[0080] La FIG. 20 est une vue schématique d’une image d’une version mise à jour du dossier de réservation de la FIG. 5, et un certain nombre d’images de billets ayant pu avoir été émis sur la base du dossier de réservation mis à jour.FIG. 20 is a schematic view of an image of an updated version of the FIG reservation file. 5, and a number of ticket images that may have been issued based on the updated reservation package.

[0081] La FIG. 21 est une vue schématique de l’enregistrement de transition issu de laFIG. 21 is a schematic view of the transition recording from the

FIG. 19 tel qu’il peut apparaître après l’émission des billets réémis de la FIG. 20.FIG. 19 as it may appear after the issue of FIG reissued banknotes. 20.

[0082] La FIG. 22 est une vue schématique des images enrichies d’un billet parent exemplaire et d’un billet exemplaire de réémission pouvant être affichés par le système utilisateur de la FIG. 1.FIG. 22 is a schematic view of the images enriched with an exemplary parent ticket and an exemplary retransmission ticket which can be displayed by the FIG user system. 1.

[0083] La FIG. 23 est une vue schématique d’une image enrichie d’un billet exemplaire de réémission émis en réponse à un échange du billet réémis dans la FIG. 22.FIG. 23 is a schematic view of an enriched image of an exemplary reissue ticket issued in response to an exchange of the reissued ticket in FIG. 22.

[0084] La FIG. 24 est une vue schématique d’une version exemplaire masquée de l’image enrichie de la FIG. 23.FIG. 24 is a schematic view of a masked exemplary version of the enriched image of FIG. 23.

[0085] La FIG. 25 est une vue schématique d’une image d’un billet exemplaire original. [0086] La FIG. 26 est une vue schématique d’une image du billet original de la FIG. 25 et une image d’un billet exemplaire réémis après un échange du billet original concernant le billet réémis.FIG. 25 is a schematic view of an image of an original exemplary ticket. FIG. 26 is a schematic view of an image of the original FIG ticket. 25 and an image of an exemplary ticket reissued after exchanging the original ticket for the reissued ticket.

[0087] La FIG. 27 est une vue schématique des images du billet original et du billet réémis de la FIG. 26, et une image d’un billet exemplaire réémis émis en échange du billet réémis le plus ancien.FIG. 27 is a schematic view of the images of the original ticket and the reissued ticket of FIG. 26, and an image of an exemplary reissued ticket issued in exchange for the oldest reissued ticket.

[0088] La FIG. 28 est une vue schématique d’un enregistrement de transition ainsi que d’un billet hybride, un itinéraire payé, un itinéraire de cotation, et un enregistrement de cotation tarifaire qui peuvent être générés à partir des données stockées dans l’enregistrement de transition.FIG. 28 is a schematic view of a transition record as well as a hybrid ticket, a paid route, a quote route, and a rate quote record which can be generated from the data stored in the transition record.

[0089] La FIG. 29 est une vue schématique du système de gestion de base de données de la FIG. 1 montrant les informations supplémentaires du système.FIG. 29 is a schematic view of the FIG database management system. 1 showing additional system information.

[0090] La FIG. 30 est un organigramme d’un processus d’échange de billet qui peut être mis en oeuvre par le système de gestion de base de données de la FIG. 29.FIG. 30 is a flow diagram of a ticket exchange process which can be implemented by the FIG database management system. 29.

[0091] Les FIG. 31 et 32 sont des vues schématiques des dossiers qui peuvent amener le système de gestion de base de données de la FIG. 29 à mettre en application une partie du processus de la FIG. 30.FIGS. 31 and 32 are schematic views of the files which can provide the FIG database management system. 29 to implement part of the FIG process. 30.

[0092] La FIG. 33 est un organigramme d’un processus qui peut être mis en œuvre par le système de gestion de base de données de la FIG. 29 pour générer un itinéraire hybride,FIG. 33 is a flow diagram of a process which can be implemented by the FIG database management system. 29 to generate a hybrid route,

DESCRIPTION DÉTAILLÉE [0093] Des modes de réalisation de l’invention peuvent être mis en œuvre par un système de traitement de données qui fournit le traitement et les fonctions de base de données permettant des interconnexions entre une pluralité de systèmes de base de données. Les modes de réalisation de l’invention peuvent inclure un système de gestion de base de données qui fournit une interface entre un système utilisateur, un système pourvoyeur, et les systèmes de base de données. Le système de gestion de base de données peut inclure un serveur d’échange qui génère un enregistrement transitoire. L’enregistrement de transition peut stocker les données utilisées pour gérer les mises à jour des billets et les enregistrements des bases de données de réservation découlant des demandes d’échange d’un billet dans le système utilisateur. L’enregistrement transitoire peut inclure un indice de structure tarifaire ainsi qu’un indice d’interruption qui pourvoit une fonction de mappage entre les enregistrements dans les bases de données de réservation et de billets. Cette fonction de mappage peut augmenter la vitesse et l’efficacité avec lesquelles le serveur d’échange traite des enregistrements de base de données en réponse à la réception d’une demande d’échange d’un billet.DETAILED DESCRIPTION [0093] Embodiments of the invention can be implemented by a data processing system which provides the processing and the database functions allowing interconnections between a plurality of database systems. Embodiments of the invention may include a database management system that provides an interface between a user system, a provider system, and the database systems. The database management system may include an exchange server which generates a transient record. The transition record may store the data used to manage ticket updates and reservation database records arising from requests to exchange a ticket in the user system. The transient registration may include a rate structure index as well as a break index which provides a mapping function between the records in the reservation and ticket databases. This mapping function can increase the speed and efficiency with which the exchange server processes database records in response to the receipt of a ticket exchange request.

[0094] Faisant référence maintenant à la FIG. 1, un environnement d’exploitation 10 conformément à un mode de réalisation de l’invention peut inclure un système de gestion de base de données 12, un système utilisateur 14, un système pourvoyeur 16. une base de données de réservation 18, et une base de données de billets 20. Chacun des systèmes de gestion de base de données 12, systèmes utilisateur 14, système pourvoyeur 16, base de données de réservation 18, et base de données de billets 20 est en mesure de communiquer par un réseau 22, Le réseau 22 peut inclure un ou plusieurs réseaux informatiques privés ou publics (par ex. Internet) permettant l’échange de données entre les systèmes connectés au réseau 22.Referring now to FIG. 1, an operating environment 10 in accordance with an embodiment of the invention may include a database management system 12, a user system 14, a provider system 16. a reservation database 18, and a ticket database 20. Each of the database management systems 12, user systems 14, provider system 16, reservation database 18, and ticket database 20 is able to communicate via a network 22, The network 22 can include one or more private or public computer networks (eg the Internet) allowing the exchange of data between the systems connected to the network 22.

[0095] Le système de gestion de base de données 12 peut inclure un serveur de billetterie électronique (ETS) 24, un serveur d’échange 26, ainsi qu’une base de données transitoire 28. Le système de gestion de base de données 12 peut être configuré pour recevoir et traiter des requêtes émises par le système utilisateur 14 et/ou le système pourvoyeur 16. Le système de gestion de base de données 12 peut recevoir et traiter des interrogations telles que des interrogations de recherche, des interrogations portant sur des informations tarifaires, des interrogations portant sur des confirmations tarifaires, des demandes des émissions de billets, des demandes de réémission/d’échange de billet, ou toute autre interrogation liée aux recherches, à la tarification, aux réservations, et à l’émission de billets pour des produits de voyage. En réponse à la réception d’une interrogation, le système de gestion de base de données 12 peut communiquer avec un ou plusieurs systèmes utilisateur 14, système pourvoyeur 16, base de données de réservation 18, base de données de billets 20, ou tout autre système pour traiter l’interrogation. Dans un mode de réalisation, le système de gestion de base de données 12 peut comprendre un Système de distribution globale (GDS).The database management system 12 can include an electronic ticketing server (ETS) 24, an exchange server 26, as well as a transient database 28. The database management system 12 can be configured to receive and process requests sent by the user system 14 and / or the provider system 16. The database management system 12 can receive and process queries such as search queries, queries relating to pricing information, inquiries relating to fare confirmations, requests for ticket issuance, requests for reissue / exchange of ticket, or any other query related to research, pricing, reservations, and issuance of tickets for travel products. In response to the receipt of a query, the database management system 12 can communicate with one or more user systems 14, provider system 16, reservation database 18, ticket database 20, or any other system to process the query. In one embodiment, the database management system 12 can include a Global Distribution System (GDS).

[0096] Le système utilisateur 14 peut être un système d’agence de voyage, un système de réservation de compagnie aérienne, un système de site Web de voyages, ou tout autre système utilisé pour rechercher, réserver, acheter, et/ou échanger des produits de voyage. Les interrogations transmises au système de gestion de base de données 12 par le système utilisateur 14 peuvent inclure des données définissant une origine, une destination, un certain nombre d’espaces à réserver, une période durant laquelle le voyage est souhaité, un vol en particulier, ou toute autre information ayant trait à l’objet de l’interrogation.The user system 14 can be a travel agency system, an airline reservation system, a travel website system, or any other system used to search, book, buy, and / or exchange travel products. The interrogations transmitted to the database management system 12 by the user system 14 can include data defining an origin, a destination, a certain number of spaces to be reserved, a period during which the trip is desired, a flight in particular. , or any other information relating to the subject of the inquiry.

[0097] Le système pourvoyeur 16 peut inclure un système de réservation informatique (CRS) qui permet au système de gestion de base de données 12 de réserver et de payer des produits de voyage, tels que des billets d’avion. Pour les pourvoyeurs de voyage aérien, le CRS peut gérer les réservations des espaces entre les nœuds d’un réseau de voyage. Chaque nœud du réseau de voyage peut comporter une escale (par ex. un aéroport) à destination de et à partir de laquelle le pourvoyeur exploite les vols. Le système pourvoyeur 16 peut également interagir avec d’autres systèmes pourvoyeurs, soit directement soit par l'entremise du système 10 de gestion de base de données 12, pour permettre à un transporteur émetteur de vendre des billets pour les espaces fournis par le transporteur de fait. Le transporteur de fait peut alors facturer le transporteur émetteur pour les produits fournis.The provider system 16 may include a computer reservation system (CRS) which allows the database management system 12 to book and pay for travel products, such as airline tickets. For air travel providers, CRS can manage space reservations between nodes in a travel network. Each node of the travel network may have a stopover (eg an airport) to and from which the provider operates the flights. The provider system 16 can also interact with other provider systems, either directly or through the database management system 10, to allow an issuing carrier to sell tickets for the spaces provided by the carrier. made. The de facto carrier can then invoice the issuing carrier for the products supplied.

[0098] En réponse au système utilisateur 14 transmettant une demande de réservation d’un produit de voyage, tel qu’un vol, le système de gestion de base de données 12 peut produire un nouveau dossier de réservation et/ou modifier un dossier de réservation existant dans la base de données de réservation 18. Le dossier de réservation peut inclure un ou plusieurs éléments de données, ou « éléments » qui contiennent les données qui définissent l’itinéraire et les informations voyageur liées relevant d’un ou de plusieurs produits de voyage réservés. L’itinéraire peut inclure des produits de voyage émanant de plusieurs pourvoyeurs 20 de produits de voyage. Dans le contexte du transport aérien, Γ itinéraire peut inclure un ensemble de segments comportant un ou plusieurs vols entre un point d’origine et une destination. Pour faciliter la localisation du dossier de réservation dans la base de données de réservations 18, un localisateur d’enregistrement ou tout autre identificateur approprié peut être associé au dossier de réservation. Dans un mode de réalisation, le dossier de réservation 25 peut comporter un dossier de nom de passager (FNP) stocké dans une base de données FNP.In response to the user system 14 transmitting a reservation request for a travel product, such as a flight, the database management system 12 can produce a new reservation file and / or modify a reservation existing in the reservation database 18. The reservation file may include one or more data elements, or "elements" which contain the data defining the route and the related traveler information relating to one or more products of travel booked. The route may include travel products from more than one travel product supplier. In the context of air transport, the route may include a set of segments comprising one or more flights between a point of origin and a destination. To facilitate the location of the reservation file in the reservation database 18, a registration locator or any other appropriate identifier can be associated with the reservation file. In one embodiment, the reservation file 25 may include a passenger name file (FNP) stored in a FNP database.

[0099] Le dossier de réservation peut inclure les éléments qui identifient les segments sur lesquels l’espace a été réservé. Une distinction doit être faite en un espace et un siège basé sur le concept de la surréservation. La surréservation est la pratique qui consiste pour les pourvoyeurs à réserver plus d’espaces que de nombre de sièges physiques sur un vol, anticipant ainsi le fait qu’en raison de la non-présentation de certains passagers au moment du départ de l’appareil, des espaces réservés demeureront inutilisés. Un segment peut faire référence à l’exploitation d’un avion entre un point où les passagers montent en premier à bord de l’appareil et un point où les passagers quittent en dernier lieu l’appareil. Un segment peut inclure tout un nombre d’arrêts au cours desquels les passagers peuvent sortir et rembarquer à bord du même appareil. Un vol peut se rapporter à l’exploitation d’un ou de plusieurs segments avec le même numéro de vol, et peut impliquer plusieurs appareils. Pour réserver un vol qui inclut des segments multiples, des éléments multiples, chacun définissant un segment du vol, peuvent être créés dans le dossier de réservation.The reservation file may include the elements which identify the segments on which the space has been reserved. A distinction must be made in a space and a seat based on the concept of overbooking. Overbooking is the practice where outfitters reserve more space than the number of physical seats on a flight, thus anticipating the fact that due to the non-presentation of certain passengers upon departure of the aircraft , reserved spaces will remain unused. A segment may refer to the operation of an aircraft between a point where passengers first board the aircraft and a point where passengers last depart the aircraft. A segment can include a number of stops during which passengers can exit and re-board on the same aircraft. A flight may relate to the operation of one or more segments with the same flight number, and may involve more than one aircraft. To book a flight that includes multiple segments, multiple items, each defining a segment of the flight, can be created in the reservation folder.

[00100] La réservation d’un produit de voyage peut inclure la vérification de la disponibilité du produit dans l’inventaire du pourvoyeur pour assurer la disponibilité du produit, comme par ex. l’espace disponible sur les segments comprenant l’itinéraire. Cette vérification peut inclure d’envoyer une demande de réservation du système utilisateur 14 au système de gestion de base de données 12. Le système de gestion de base de données 12 peut alternativement interroger un système pourvoyeur correspondant 16 sur la disponibilité des produits demandés. Si les produits demandés sont disponibles, les produits peuvent être réservés, et l’inventaire du pourvoyeur est dès lors diminué pour refléter la réservation. [00101] L’ETS 24 peut être configuré pour gérer les enregistrements dans la base de données de billet 20 qui se rapportent à l’émission, la modification, et l’utilisation des billets,Booking a travel product can include checking the availability of the product in the supplier's inventory to ensure the availability of the product, such as, for example. the space available on the segments including the route. This verification can include sending a reservation request from the user system 14 to the database management system 12. The database management system 12 can alternatively interrogate a corresponding supplying system 16 on the availability of the products requested. If the requested products are available, the products can be reserved, and the supplier's inventory is therefore reduced to reflect the reservation. The ETS 24 can be configured to manage the records in the ticket database 20 which relate to the issue, modification, and use of the tickets,

Chaque billet peut comporter un enregistrement de base de données qui définit les informations de vol telles que le transporteur émetteur, le numéro de vol, le point de départ du vol, la destination du vol, la classe de réservation, les dates du vol, et le prix payé pour le billet. L’enregistrement de billet peut également inclure un horodatage qui indique quand le billet « a été émis », à savoir ajouté ou engagé dans la base de données de billet 20. Des billets 20 peuvent être émis par l’ETS 24 en réponse à la réception d’une indication selon laquelle un dossier de réservation lié a été confirmé. L’ETS 24 peut générer des éléments dans le billet sur la base des données stockées dans le dossier de réservation. Ces informations peuvent inclure des renseignements pour chaque segment défini dans le dossier de réservation, telles que la classe de réservation, la date de départ, le point d’embarquement, le point de débarquement, une identité du passager, une ou plusieurs formes de paiement utilisées pour acheter le segment, etc.Each ticket can include a database record that defines flight information such as the issuing carrier, flight number, flight departure point, flight destination, booking class, flight dates, and the price paid for the ticket. The ticket record may also include a time stamp which indicates when the ticket has been issued, ie added to or committed to the ticket database 20. Tickets 20 may be issued by the ETS 24 in response to the receipt of an indication that a linked reservation file has been confirmed. The ETS 24 can generate elements in the ticket based on the data stored in the reservation file. This information may include information for each segment defined in the booking file, such as the booking class, departure date, embarkation point, disembarkation point, passenger identity, one or more forms of payment used to purchase the segment, etc.

[00102] Le billet peut inclure les éléments qui définissent un « coupon ». Pour un itinéraire donné, un ou plusieurs billets peuvent être émis pour un passager, incluant des coupons pour chaque segment composant Γ itinéraire. Chaque coupon peut identifier un segment spécifique 30 pour lequel le billet peut être utilisé pour obtenir une carte d’embarquement. Le statut d’un coupon peut être « ouvert » si le bon est inutilisé, « parcouru » si le coupon a été utilisé, ou « échangé » si le coupon a été échangé pour un autre vol.The ticket can include the elements that define a "coupon". For a given route, one or more tickets may be issued for a passenger, including coupons for each segment making up the route. Each coupon can identify a specific segment 30 for which the ticket can be used to obtain a boarding pass. Coupon status can be "open" if the coupon is unused, "browsed" if the coupon has been used, or "redeemed" if the coupon has been redeemed for another flight.

[00103] Chaque billet dans la base de données de billets 20 peut avoir un identifiant unique, ou le numéro de billet, qui peut être stocké dans un élément du billet. Pour récupérer des données stockées dans le billet, une interrogation de demande d’affichage de billet peut être transmise à la base de données de billets 20. En réponse à la réception de l’interrogation de demande d’affichage, la base de données de billets 20 peut transmettre en retour une donnée issue de Fenrogistrement de base de données correspondant à un numéro de billet présenté dans l’interrogation.Each ticket in the ticket database 20 can have a unique identifier, or ticket number, which can be stored in an element of the ticket. To retrieve data stored in the ticket, a ticket display request query may be transmitted to the ticket database 20. In response to receipt of the display request query, the ticket database tickets 20 can send back data from the database registration corresponding to a ticket number presented in the query.

[00104] Les billets peuvent inclure des coupons supplémentaires qui peuvent être utilisés pour obtenir des produits autres que des cartes d’embarquement. La base de données de billets 20 peut également stocker d’autres types de documents électroniques, tels que les documents électroniques divers (EMD), qui représentent un paiement pour les services payants ayant été achetés par le voyageur. Ces services payants peuvent être représentés dans le dossier de réservation à l’aide des Demandes de service spécial (SSR, ou Spécial Service Requests). Les services qui sont payants peuvent être associés à un EMD et/ou à un numéro de coupon dans le dossier de réservation.Tickets can include additional coupons that can be used to obtain products other than boarding passes. The ticket database 20 may also store other types of electronic documents, such as miscellaneous electronic documents (EMD), which represent a payment for paid services that have been purchased by the traveler. These paid services can be represented in the reservation file using Special Service Requests (SSR, or Special Service Requests). Services which are chargeable can be associated with an EMD and / or a coupon number in the reservation file.

[00105] Faisant référence maintenant à la FIG. 2, le système de gestion de base de données 12. le système utilisateur 14. le système pourvoyeur 14, la base de données de réservation 18, et la base de données de billets 20 de l’environnement d’exploitation 10 peuvent être mis en application dans un ou plusieurs dispositifs ou systèmes informatiques, tels que l’ordinateur exemplaire 30. L’ordinateur 30 peut inclure un processeur 32, une mémoire 34, un dispositif de stockage de mémoire de masse 36, une interface entrée/sortie (I/O) 38, et une interface homme-machine (HMI) 40. L’ordinateur 30 peut aussi être couplé de façon fonctionnelle à une ou plusieurs ressources externes 42 via le réseau 22 ou l’interface I/O 38. Les ressources externes peuvent inclure, 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 avec l’ordinateur 30.[00105] Referring now to FIG. 2, the database management system 12. the user system 14. the provider system 14, the reservation database 18, and the ticket database 20 of the operating environment 10 can be set up application in one or more computer devices or systems, such as the exemplary computer 30. The computer 30 may include a processor 32, a memory 34, a mass memory storage device 36, an input / output interface (I / O) 38, and a man-machine interface (HMI) 40. The computer 30 can also be operatively coupled to one or more external resources 42 via the network 22 or the I / O interface 38. The external resources can include, but not be limited to, servers, databases, mass storage devices, peripheral devices, cloud network services (cloud), or any other appropriate computing resource that may be used with with computer 30.

[00106] Le processeur 32 peut inclure un ou plusieurs dispositifs sélectionnés :The processor 32 can include one or more selected devices:

unités centrales de traitement, des réseaux de portes programmables (gâte arrays), 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) sur la base des instructions de fonctionnement enregistrées dans la mémoire 34. La mémoire 34 peut inclure un seul dispositif de mémoire ou une pluralité de dispositifs de mémoire comprenant, de façon non exhaustive, la mémoire à lecture seule (ROM), la mémoire à accès aléatoire (RAM), la mémoire volatile, la mémoirecentral processing units, programmable door arrays, programmable logic devices, defined state machines, logic circuits, analog circuits, digital circuits or any other device used to manipulate signals (analog or digital ) based on the operating instructions stored in memory 34. Memory 34 may include a single memory device or a plurality of memory devices including, but not limited to, read-only memory (ROM), memory to random access (RAM), volatile memory, memory

Figure FR3061575A1_D0005

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 stocker des données. Le dispositif de mémoire de masse 36 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 données.non-volatile, static random access memory (SRAM), dynamic random access memory (DRAM), flash memory, cache memory or any other device capable of storing data. The mass memory device 36 may include data storage devices such as a hard disk, an optical disk, a magnetic tape drive, a volatile or non-volatile solid state circuit or any other device capable of store data.

[00107] Le processeur 32 peut fonctionner sous le contrôle d’un système d’exploitation 44 qui réside dans la mémoire 34. Le système d’exploitation 44 peut gérer les ressources de l’ordinateur de telle façon que le code de programme de l’oidinateur, intégré sous forme d’un ou de plusieurs logiciels d’application, tels que l’application 46 qui réside dans la mémoire 34, puisse disposer d’instructions exécutées par le processeur 32. Le processeur 32 peut exécuter l’application 46 directement et auquel cas, le système d’exploitation 44 peut être omis. Un ou plusieurs logiciels d’application peuvent inclure un exemple courant d’une application comportant un serveur, qui peut accepter les demandes provenant de, et fournir des réponses à, une ou plusieurs applications client correspondantes. Une ou plusieurs structures de données 48 peuvent aussi résider dans la mémoire 34, et peuvent être utilisées par le processeur 32, le système d’exploitation 44 ou l’application 46 pour stocker ou manipuler des données.The processor 32 can operate under the control of an operating system 44 which resides in memory 34. The operating system 44 can manage the resources of the computer in such a way that the program code of the computer, integrated in the form of one or more application software, such as the application 46 which resides in the memory 34, can have instructions executed by the processor 32. The processor 32 can execute the application 46 directly and in which case, the operating system 44 can be omitted. One or more application software may include a common example of a server application, which can accept requests from, and provide responses to, one or more corresponding client applications. One or more data structures 48 can also reside in memory 34, and can be used by processor 32, operating system 44 or application 46 to store or manipulate data.

[00108] L’interface I/O 38 peut fournir une interface machine qui couple de façon fonctionnelle le processeur 32 à d’autres dispositifs et systèmes, tels que le réseau 22 ou la ressource externe 42. L’application 46 peut ainsi collaborer avec le réseau 22 et/ou les ressources externes 42 en communiquant par l’intermédiaire de l’interface 1/0 38 pour fournir les divers éléments, fonctions, applications, processus et/ou modules composant les modes de réalisation de l’invention. Le serveur d’application 46 peut aussi avoir un code de programme qui est exécuté par la ou plusieurs ressources externes 42 et/ou autrement repose sur les fonctions et/ou les signaux fournis par un autre système ou d’autres composants de réseau externes au système informatique 30. En effet, au vu des configurations presque infinies de matériel informatique et de logiciel possibles, il faut comprendre que les modes de réalisation de l’invention peuvent inclure des applications localisées à l’extérieur du système informatique 30, distribuées à des ordinateurs multiples et/ou à d’autres ressources externes 42, et/ou fournies par des ressources informatiques (matériel et logiciel) fournies comme services sur le réseau 22, par exemple un service d’informatique en nuage (cloud computing).The I / O interface 38 can provide a machine interface which functionally couples the processor 32 to other devices and systems, such as the network 22 or the external resource 42. The application 46 can thus collaborate with the network 22 and / or the external resources 42 by communicating via the 1/0 interface 38 to provide the various elements, functions, applications, processes and / or modules making up the embodiments of the invention. The application server 46 may also have program code that is executed by the one or more external resources 42 and / or otherwise relies on the functions and / or signals provided by another system or other network components external to the computer system 30. Indeed, in view of the almost infinite configurations of possible computer hardware and software, it should be understood that the embodiments of the invention can include applications located outside of the computer system 30, distributed to multiple computers and / or other external resources 42, and / or provided by computer resources (hardware and software) provided as services on the network 22, for example a cloud computing service.

[00109] Le ΗΜΙ 40 peut être couplé de façon fonctionnelle au processeur 32 du système informatique 30 pour permettre à un utilisateur d’interagir directement avec l’ordinateur 30. Le HMI40 peut inclure un affichage vidéo et/ou un affichage alphanumérique, un écran tactile, un haut-parleur et tout autre indicateur visuel et audio capable de fournir des données à l’utilisateur. Le HMI 40 peut aussi inclure des dispositifs de saisie et des contrôles tels qu’un clavier alphanumérique, un appareil de pointage, des claviers, des boutons poussoir, des boutons de commande, des microphones, etc., capables d’accepter des commandes et/ou des saisies de Γutilisateur, et de transmettre les saisies entrées au processeur 32.ΗΜΙ 40 can be operatively coupled to processor 32 of the computer system 30 to allow a user to interact directly with the computer 30. The HMI40 can include a video display and / or an alphanumeric display, a screen touchscreen, a speaker and any other visual and audio indicator capable of providing data to the user. The HMI 40 can also include input devices and controls such as an alphanumeric keyboard, pointing device, keyboards, push buttons, control buttons, microphones, etc., capable of accepting commands and / or user input, and to transmit the input input to processor 32.

[00110] Une base de données 50 peut résider sur le dispositif de stockage de mémoire de masse 36 et peut être utilisée pour collecter et organiser les données utilisées par les divers systèmes et modules décrits dans les présentes. La base de données 50 peut inclure des données et les structures de données qui les supportent pour stocker et organiser les données. En particulier, la base de données 50 peut être arrangée selon toute organisation ou structure de base de données incluant, 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, une base de données orientée objet ou des combinaisons de celles-là.A database 50 can reside on the mass memory storage device 36 and can be used to collect and organize the data used by the various systems and modules described herein. The database 50 can include data and the data structures that support it to store and organize the data. In particular, the database 50 can be arranged according to any database organization or structure including, in a non-exhaustive manner, a relational database, a hierarchical type database, a networked database, a database object-oriented data or combinations thereof.

[00111] Un système de gestion de base de données sous la forme d'une application logicielle informatique dans la mesure où les instructions sur le processeur 32 peuvent être utilisées pour accéder à la donnée stockée dans les enregistrements de la base de données 50 en réponse à une interrogation, et l’interrogation peut être automatiquement déterminée et exécutée par le système d’exploitation 44, d’autres applications 46 et/ou un ou plusieurs modules. Bien que des modes de réalisation de l’invention peuvent être décrits dans les présentes en utilisant une terminologie relationnelle, hiérarchique, de réseau, orientée objet ou une autre terminologie de base de données dans des exemples spécifiques, il faut comprendre que les modes de réalisation de l'invention peuvent utiliser tout modèle de gestion de bases de données approprié et ne sont pas limités à un type de bases de données en particulier.A database management system in the form of a computer software application insofar as the instructions on the processor 32 can be used to access the data stored in the records of the database 50 in response to an interrogation, and the interrogation can be automatically determined and executed by the operating system 44, other applications 46 and / or one or more modules. Although embodiments of the invention may be described herein using relational, hierarchical, network, object-oriented or other database terminology in specific examples, it should be understood that the embodiments of the invention can use any appropriate database management model and are not limited to a particular type of database.

[00112] La FIG. 3 représente une image 60 d’un dossier de réservation exemplaire pour un vol de Nice en France à l’aéroport John F. Kennedy à New York qui passe par l’aéroport Charles de Gaulle à Paris. Le dossier de réservation inclut un champ d’identificateur 62 qui stocke un enregistrement d’identificateur, un champ de nom de passager 64, et un numéro de champs de segments 65, 66. L’enregistrement d’identificateur peut être une chaîne alphanumérique (par ex., 89DRGH) qui identifie uniquement le dossier de réservation dans la base de données de réservations 18. Le champ de nom de passager peut stocker le nom du passager (par ex., « John Smith »). Si plus d’un passager voyage sur un itinéraire défini par le dossier de réservation, plus d’un passager peut être listé dans le dossier de réservation.[00112] FIG. 3 represents an image 60 of an exemplary reservation file for a flight from Nice in France to John F. Kennedy Airport in New York which passes through Charles de Gaulle Airport in Paris. The reservation file includes an identifier field 62 which stores an identifier record, a passenger name field 64, and a segment field number 65, 66. The identifier record can be an alphanumeric string ( eg 89DRGH) which only identifies the reservation file in the reservation database 18. The passenger name field can store the passenger's name (eg "John Smith"). If more than one passenger is traveling on a route defined by the reservation file, more than one passenger can be listed in the reservation file.

Chaque champ de segment 65,66 peut inclure un identificateur de vols (par ex., AF7711) et un code de classe (par ex., « Y » indiquant la classe économique). L’identificateur de vols peut inclure un identificateur de transporteurs (par ex., AF = Air France) et un numéro de vol (par ex., 7711). Chaque champ de segment peut également inclure une donnée qui définit une date de voyage (par ex., 19MAR), un point d’origine et un point de destination (par ex., NCECDG), et une heure de départ et d’arrivée planifiées pour le segment (par ex., départ à 7:10, arrivée à 8:45).Each segment field 65.66 can include a flight identifier (eg, AF7711) and a class code (eg, "Y" indicating economy class). The flight identifier may include a carrier identifier (eg, AF = Air France) and a flight number (eg, 7711). Each segment field can also include data that defines a travel date (eg 19MAR), a point of origin and a destination point (eg NCECDG), and a departure and arrival time planned for the segment (e.g. departure at 7:10 am, arrival at 8:45 am).

[00113] Une fois que les produits de voyage comprenant l’itinéraire ont été réservés, le voyageur peut s’engager sur l’itinéraire en achetant un ou plusieurs billets pour les produits de voyage. Acheter un billet peut impliquer la tarification, la réservation et la billetterie. En réponse à la réception d’une demande du système utilisateur 14, le système de gestion de bases de données 12 peut fixer le prix du billet à l’aide du moteur de tarification. Le moteur de tarification peut déterminer un tarif total pour le billet en calculant un tarif pour un ou plusieurs segments de l’itinéraire défini par le dossier de réservation et ajouter ces tarifs pour générer le tarif total. Le billet en résultant peut inclure un ou plusieurs coupons, chaque coupon correspondant â l’un des segments ou services inclus dans le voyage.Once the travel products including the route have been booked, the traveler can take the route by purchasing one or more tickets for the travel products. Buying a ticket may involve pricing, booking and ticketing. In response to receiving a request from the user system 14, the database management system 12 can set the price of the ticket using the pricing engine. The pricing engine can determine a total price for the ticket by calculating a price for one or more segments of the route defined by the booking file and add these prices to generate the total price. The resulting ticket may include one or more coupons, each coupon corresponding to one of the segments or services included in the trip.

[00114] L’itinéraire du billet peut définir les segments pour lesquels le billet peut être utilisé pour obtenir une carte d’embarquement et d’autres services compris dans le voyage.The ticket route can define the segments for which the ticket can be used to obtain a boarding pass and other services included in the journey.

Chaque segment de l’itinéraire peut inclure un ou plusieurs tronçons séquentiels, chacun connectant une escale de départ planifiée à une escale d’arrivée planifiée.Each segment of the route can include one or more sequential sections, each connecting a planned departure stopover to a planned arrival stopover.

[00115] Une fois que la disponibilité a été confirmée et l'itinéraire tarifé, on peut demander au voyageur d’approuver la transaction. En réponse à l’approbation de la transaction par le voyageur, le système de gestion de bases de données 12 ou un autre système de réservation 25 peut engager le dossier de réservation, transmettre une demande à l’ETS 24 pour générer les billets pour les produits de voyage, et amener le compte du voyageur à être facturé du prix des services.Once availability has been confirmed and the itinerary has been priced, the traveler can be asked to approve the transaction. In response to the approval of the transaction by the traveler, the database management system 12 or another reservation system 25 can initiate the reservation file, transmit a request to the ETS 24 to generate the tickets for the travel products, and cause the traveler's account to be billed for the price of the services.

[00116] La FIG. 4 représente une image 70 d’un enregistrement de bases de données de billets exemplaire, ou « billet » qui peut être créé en réponse à la réservation du dossier de 30 réservation 89DRGH dans l’image 60. Le billet peut inclure un champ de numéro de billet 72 qui contient la donnée qui identifie le billet (par ex., TKT-001) de manière unique, un champ de localisateur d'enregistrement 74 qui contient une donnée identifiant le dossier de réservation à partir duquel le billet a été généré, un champ de nom de passager 76, un numéro de champs de coupon 78,79, et un numéro de champs de composant tarifaire 82,83. Sur un billet exemplaire TKT-001, le coupon Cl peut correspondre au segment SI du dossier de réservation 89DRGH, et le coupon C2 peut correspondre au segment S2 du dossier de réservation 89DRGH.[00116] FIG. 4 shows an image 70 of an exemplary ticket database record, or "ticket" which can be created in response to the reservation of the 89DRGH reservation file in image 60. The ticket may include a number field ticket 72 which contains data which uniquely identifies the ticket (e.g. TKT-001), a record locator field 74 which contains data identifying the reservation file from which the ticket was generated, a passenger name field 76, a coupon field number 78.79, and a fare component field number 82.83. On an exemplary ticket TKT-001, the coupon C1 can correspond to the segment SI of the reservation file 89DRGH, and the coupon C2 can correspond to the segment S2 of the reservation file 89DRGH.

[00117] Chaque coupon peut inclure une donnée définissant le numéro du vol, le code de la classe de réservation, l’heure et la date de départ, le code du lieu d’origine, le code de destination et un statut de vol. Sur le billet exemplaire TKT-001, le statut du vol est indiqué par « O », ou « ouvert », indiquant que les coupons n’ont pas été utilisés. D’autres statuts de segment peuvent inclure « P » ou « parcouru », et « E » ou « échangé ». Le billet peut également inclure un ou plusieurs champs de composant tarifaire 82, 83. Sur le billet TKT10 001, les champs de composant tarifaire 82, 83 sont indiqués sous les champs coupon 78, 79, et correspondent aux tarifs FC1 et FC2 calculés pour les segments SI et S2 du dossier de réservation 89DRGH.Each coupon can include data defining the flight number, the booking class code, the time and date of departure, the code of the place of origin, the destination code and a flight status. On the exemplary ticket TKT-001, the flight status is indicated by "O", or "open", indicating that the coupons have not been used. Other segment statuses may include "P" or "traveled", and "E" or "traded". The ticket can also include one or more fields of tariff component 82, 83. On ticket TKT10 001, the fields of tariff component 82, 83 are indicated under the coupon fields 78, 79, and correspond to the tariffs FC1 and FC2 calculated for the SI and S2 segments of the 89DRGH reservation file.

[00118] Dans certains cas, un voyageur peut être soumis un changement involontaire de son itinéraire dû à l’apparition d’une interruption. Une interruption peut survenir si, par exemple, un vol est annulé en raison de la météo ou d’un problème mécanique, un segment de liaison est raté en raison de l’arrivée tardive d'un segment plus ancien, un programme est modifié ou un problème de dernière minute survient à l’aéroport. Les changements involontaires de l’itinéraire peuvent être traités par un échange du billet dans son intégralité, ou par un échange partiel. En cas d’échange partiel, il peut y avoir deux billets coexistant en direct dans la base de données de billets, chacun pourvoyant une partie de l’itinéraire total du voyageur. Dans les deux cas, un nouvel itinéraire peut être défini dans le dossier de réservation qui remplace les segments interrompus. Un billet de rémission peut ensuite être généré sur la base du dossier de réservation mis à jour.In some cases, a traveler may be subject to an involuntary change in his itinerary due to the appearance of an interruption. An interruption may occur if, for example, a flight is canceled due to the weather or a mechanical problem, a link segment is missed due to the late arrival of an older segment, a program is modified or a last minute problem occurs at the airport. Unintentional changes to the itinerary can be dealt with by exchanging the entire ticket, or by a partial exchange. In the event of a partial exchange, there may be two tickets coexisting live in the ticket database, each providing part of the total itinerary of the traveler. In both cases, a new route can be defined in the reservation file which replaces the interrupted segments. A remission ticket can then be generated based on the updated reservation file.

[00119] Par voie d’exemple, l’utilisation du dossier de réservation 89DRGH représenté à l’image 60 et du billet TKT-001 représenté à l'image 70, en réponse au segment de Nice àBy way of example, the use of the reservation file 89DRGH represented in image 60 and of the ticket TKT-001 represented in image 70, in response to the Nice segment at

Paris interrompu, un agent du transporteur ou une application automatisée de réaccommodation peut altérer l’itinéraire défini par le dossier de réservation 89DRGH. Par exemple, le dossier de réservation 89DRGH peut être modifié en substituant un vol qui connecte le segment de Nice à Paris en passant par Berlin dans le dossier de réservation.Interrupted Paris, an agent of the transporter or an automated re-accommodation application may alter the route defined by the 89DRGH reservation file. For example, the reservation file 89DRGH can be modified by substituting a flight which connects the segment from Nice to Paris via Berlin in the reservation file.

[00120] La FIG. 5 représente une image 61 d’un dossier de réservation 89DRGH, tel qu’il peut apparaître après avoir été modifié comme décrit ci-dessus. L’image 61 montre que le segment précédent SI défini dans le champ de segment 65 du dossier de réservation 89DRGH a été remplacé par deux champs de segment de remplacement 67, 68 qui définissent de nouveaux segments SI et S2 reliant Nice à Charles de Gaulle via Berlin. Le précédent segment S2 reste une partie de l’itinéraire, et est à présent désigné comme étant le segment S3 dans le champ de segment 69. Un billet de rémission peut être émis pour l’itinéraire révisé qui remplace le billet échangé, ou un billet de rémission peut être émis qui remplace uniquement le segment interrompu. Dans les deux cas, parce que le changement était involontaire, le tarif peut demeurer inchangé par rapport au vol initialement réservé. Dans les systèmes de réservation conventionnels, cela peut nécessiter qu’un agent fixe le tarif des segments de remplacement manuellement.[00120] FIG. 5 shows an image 61 of an 89DRGH reservation file, as it may appear after having been modified as described above. Image 61 shows that the previous segment SI defined in segment field 65 of the reservation file 89DRGH has been replaced by two replacement segment fields 67, 68 which define new segments SI and S2 connecting Nice to Charles de Gaulle via Berlin. The previous segment S2 remains part of the route, and is now designated as the segment S3 in the segment field 69. A remission ticket may be issued for the revised route which replaces the exchanged ticket, or a ticket may be issued which replaces only the interrupted segment. In both cases, because the change was involuntary, the fare may remain unchanged from the flight originally booked. In conventional reservation systems, this may require an agent to set the rate for the replacement segments manually.

[00121] La FIG. 6 présente un scénario dans lequel une réémission TKT-002 est émise lors d’un échange de billet TKT-001 dans son intégralité. Dans ce scénario, le billet échangé ou « parent » TKT-001 peut apparaître comme indiqué sur l’image de billet 71, et un billet de réémission TKT-002 peut apparaître comme indiqué sur l’image de billet 90. Le billet de réémission peut inclure un champ de numéro de billet 92 qui contient un nouveau numéro de billet, un champ de localisateur d’enregistrement 94 qui contient une donnée identifiant le dossier de réservation 89DRGH à partir duquel le billet TKT-002 a été généré, un champ de nom de passager 96, un numéro de champs de coupon 98-100, et un numéro de champs de composant tarifaire 102-104.[00121] FIG. 6 shows a scenario in which a reissue TKT-002 is issued when exchanging a TKT-001 ticket in its entirety. In this scenario, the exchanged or “parent” ticket TKT-001 may appear as shown on the ticket image 71, and a reissue ticket TKT-002 may appear as shown on the ticket image 90. The reissue ticket may include a ticket number field 92 which contains a new ticket number, a registration locator field 94 which contains data identifying the reservation file 89DRGH from which the ticket TKT-002 was generated, a field of passenger name 96, coupon field number 98-100, and fare component field number 102-104.

[00122] Le tarif total des coupons de remplacement C1, C2 identifiés dans les champs de coupon 98, 99 du billet de réémission TKT-002 peut être fixé au même montant (par ex., 80 USD) que le coupon qui a été remplacé (Cl de TKT-001) pour maintenir le prix total au 20 prix du billet original. Parce que le billet TKT-001 a été entièrement remplacé, le statut des coupons Cl et C2 sur le billet TKT-001 peut être « E » pour « échangé », puisqu’ils ont été remplacés par les coupons Cl, C2 et C3 sur le billet TKT-002.The total price of replacement coupons C1, C2 identified in coupon fields 98, 99 of the reissue ticket TKT-002 can be set to the same amount (eg, 80 USD) as the coupon that has been replaced (TKT-001 key) to maintain the total price at the price of the original ticket. Because the TKT-001 ticket has been completely replaced, the status of coupons Cl and C2 on the TKT-001 ticket can be “E” for “redeemed”, since they have been replaced by coupons Cl, C2 and C3 on ticket TKT-002.

[00123] La FIG. 7 représente un échange partiel dans lequel le billet TKT-002 est émis uniquement pour les nouveaux segments. Dans ce cas, les billets TKT-001 et TKT-002 peuvent coexister comme des billets en direct dans la base de données de billets 20. Comme représenté par l’image 73 du billet TKT-001 et l’image 91 du TKT-002, dans cet autre scénario, le statut du coupon C2 reste ouvert sur le billet TKT-001, et TKT-002 inclut uniquement les champs de coupon 98 et 99 et les champs de composant tarifaire 102 et 103.FIG. 7 represents a partial exchange in which the TKT-002 ticket is issued only for the new segments. In this case, tickets TKT-001 and TKT-002 can coexist as live tickets in the ticket database 20. As shown by image 73 of ticket TKT-001 and image 91 of TKT-002 , in this other scenario, the status of coupon C2 remains open on the ticket TKT-001, and TKT-002 includes only the coupon fields 98 and 99 and the tariff component fields 102 and 103.

[00124] Parce que les changements d’itinéraire découlant d’une interruption ne sont typiquement pas facturés au voyageur, les billets de réémission associée à l’interruption peuvent être générés sans calculer les tarifs de remplacement. Cela peut arriver, par exemple, lorsque les billets de réémission sont émis sans frais par la compagnie aérienne en réponse à une interruption de vol due aux conditions météorologiques, aux problèmes d’équipement, à la disponibilité de l’équipage, à la surréservation, aux vols de correspondance retardés, etc.Because route changes resulting from an interruption are typically not billed to the traveler, reissue tickets associated with the interruption can be generated without calculating replacement fares. This can happen, for example, when reissue tickets are issued free of charge by the airline in response to a flight interruption due to weather conditions, equipment issues, crew availability, overbooking, delayed connecting flights, etc.

Les billets de réémission calculés sans les tarifs de remplacement peuvent permettre à des agents d’émettre rapidement de nouveaux billets aux passagers dont le voyage a été interrompu. Cependant, ces billets peuvent être des billets non-standard qui manquent de données tarifaires inhérentes.Reissue tickets calculated without replacement fares can allow agents to quickly issue new tickets to passengers whose travel has been interrupted. However, these tickets may be non-standard tickets that lack inherent fare data.

[00125] Le manque de données tarifaires inhérentes peut créer des problèmes lorsque des transactions supplémentaires impliquant la réémission du billet sont demandées après l’échange involontaire. Par exemple, les calculs pour déterminer les points du programme de fidélité (par ex., l’accumulation du kilométrage du grand voyageur), 1e dédommagement pour les vols annulés, et/ou les remboursements ou une valeur d’échange du billet de réémission peu(ven)t se baser sur les segments qui ont été payés plutôt que sur les segments qui ont été actuellement parcourus ou qui ont fait l’objet d’un billet en raison d’un échange involontaire. Ces types de calcul peuvent nécessiter à la fois les informations tarifaires globales (par ex., le prix total du billet) ainsi que les informations sur le prix structurel du billet original à un niveau du composant tarifaire et/ou du coupon.The lack of inherent pricing data can create problems when additional transactions involving reissue of the ticket are requested after the involuntary exchange. For example, calculations to determine points in the loyalty program (eg, accumulated frequent flyer mileage), compensation for canceled flights, and / or refunds or exchange value of the reissue ticket it can be based on the segments which have been paid rather than on the segments which have been currently covered or which have been the subject of a ticket due to an involuntary exchange. These types of calculations may require both global pricing information (e.g., the total ticket price) as well as information on the structural price of the original ticket at a pricing component and / or coupon level.

[00126] Comme exemple spécifique, si le billet de réémission émis en tant que partie d’un échange involontaire est par la suite échangé volontairement par le voyageur, le voyageur ne devrait normalement pas se voir appliquer des fiais supplémentaires pour les vols qui ont été changés involontairement. Si le voyageur demande par la suite un remboursement partiel du billet de réémission, déterminer la valeur résiduelle du billet de réémission peut nécessiter des segments liés sur les billets originaux et de réémission. Le billet de réémission peut ensuite être utilisé pour déterminer le statut de chaque coupon (par ex., ouvert, parcouru ou échangé), et le billet original peut être utilisé pour définir la valeur monétaire de chaque segment (par ex., le montant payé et/ou le montant du tarif).As a specific example, if the reissue ticket issued as part of an involuntary exchange is subsequently voluntarily exchanged by the traveler, the traveler should not normally be subject to additional charges for flights that have been changed involuntarily. If the traveler subsequently requests a partial refund of the reissue ticket, determining the residual value of the reissue ticket may require linked segments on the original and reissue tickets. The reissue ticket can then be used to determine the status of each coupon (e.g., open, scanned or redeemed), and the original ticket can be used to determine the monetary value of each segment (e.g., the amount paid and / or the amount of the tariff).

[00127] Les scénarios qui peuvent encore compliquer la détermination des informations structurelles sur le prix peuvent incline un échange partiel d’un billet, pouvant entraîner la division de tout l’itinéraire en de multiples billets. Dans certains cas, un ou plusieurs billets échangés peuvent avoir été éliminés du système en raison de l’âge du billet. Parce que la durée de vie des billets peut différer, certains billets échangés liés à un billet de réémission peuvent être disponibles tandis que d’autres peuvent manquer. Pour ces raisons au moins, le fait de tenter de déterminer les informations structurelles de prix en identifiant et en récupérant chaque billet échangé, et en reconstruisant l’historique des échanges peut produire des résultats erronés.Scenarios that can further complicate the determination of structural price information may include a partial exchange of a ticket, which may result in the entire route being split into multiple tickets. In some cases, one or more exchanged tickets may have been removed from the system due to the age of the ticket. Because the life of the tickets may differ, some exchanged tickets linked to a reissue ticket may be available while others may be missing. For these reasons at least, attempting to determine the structural price information by identifying and retrieving each exchanged ticket, and reconstructing the trading history may produce erroneous results.

[00128] Le dédommagement des billets remboursés ou échangés peut être déterminé sur la base de la valeur des vols retardés. Parce que les coupons de segments de remplacement émis à la suite d’un échange involontaire ne sont pas achetés, la valeur de ces coupons ne peut pas nécessairement être déterminée sur la base soit d’un montant payé pour le segment échangé soit du tarif normal pour le segment de remplacement. C’est-à-dire que ces segments peuvent avoir une valeur qui est indépendante des tarifs normaux des segments échangés ou de remplacement Dans certains cas, le dédommagement peut être lié au coupon original du billet acheté à l’origine. Cependant, il peut être difficile ou impossible de déterminer l’échange d’un segment particulier a été volontaire ou involontaire uniquement sur la base des enregistrements de billets. Pour les cas où le billet a été entièrement échangé, il peut être également difficile de déterminer si l’échange a eu lieu ou non.The compensation for reimbursed or exchanged tickets can be determined on the basis of the value of delayed flights. Because replacement segment coupons issued as a result of an involuntary exchange are not purchased, the value of these coupons cannot necessarily be determined on the basis of either an amount paid for the exchanged segment or the normal rate for the replacement segment. This means that these segments can have a value which is independent of the normal prices of the exchanged or replacement segments. In some cases, the compensation may be linked to the original coupon of the ticket purchased originally. However, it may be difficult or impossible to determine the exchange of a particular segment was voluntary or involuntary solely on the basis of ticket records. In cases where the ticket has been fully exchanged, it may also be difficult to determine whether the exchange has taken place or not.

[00129] Les enregistrements de billets et les dossiers de réservation peuvent être requis pour respecter certain formats standard de sorte que la compatibilité soit maintenue entre divers transporteur, agence de voyages et systèmes GDS. Par conséquent, il est impossible d’ajouter simplement de nouveaux types de données à, ou autrement de modifier, les enregistrements de billets et les dossiers de réservation dans le but de régler des problèmes causés par des échanges involontaires. Pour régler ces problèmes, des modes de réalisation de l’invention peuvent utiliser un enregistrement de transition pour suivre le composant tarifaire ancien et la donnée de coupon. Les enregistrements de transition peuvent comprendre un nouveau type d’enregistrement de bases de données qui est utilisé par le serveur d’échange 26 pour pourvoir diverses caractéristiques des modes de réalisation de la présente invention. Le serveur d’échange 26 peut analyser les enregistrements de billets et les dossiers de réservation de billets pour déterminer quels vols ont été interrompus, lier les segments de l’ancien itinéraire aux segments correspondants dans le nouvel itinéraire, et stocker les données définissant ces segmente interrompus et les liens dans Γenregistrement de transition, [00130] L’enregistrement de transition peut inclure une donnée de structure tarifaire qui aurait été incluse dans les billets involontaires s’ils avaient été émis comme faisant partie d’ün échange volontaire. Le serveur d’échange 26 peut également créer un billet hybride incluant tous les coupons de l’itinéraire actuel sur la base de la donnée dans l’enregistrement de transition. Les informations tarifaires provenant du billet acheté à l’origine et les liens vers les coupons du billet hybride peuvent être stockés dans l'enregistrement de transition et peuvent faciliter la détermination des informations structurelles de prix des Billets échangés involontairement [00131] Le billet hybride peut permettre à des billets involontaires de s’afficher comme si leur prix avait été fixé et s’ils avaient été achetés plutôt qu’émis comme faisant partie d’un échange. Cela peut permettre des processus de suivi pour travailler en transparence sur les billets échangés involontairement en faisant correspondre les billets émis précédemment avec les billets de réémission correspondants. À partir d’un billet donné involontairement, des modes de réalisation de l’invention peuvent amener le système utilisateur 14 à afficher l’itinéraire actuel complet, y compris les segments parcourus et ouverts. Cela peut permettre de faire des liens entre les billets dans la chaîne des échanges, ce qui peut faciliter les échanges ou les remboursements ultérieurs d’un billet échangé involontairement. Pour tout coupon donné du billet de réémission, le serveur d’échange 26 peut trouver les éléments de tarification du coupon, par ex., le(s) composant(s) tarifaire(s) original/aux dont provient le coupon. Cela peut permettre au serveur d’échange 26 d’attribuer une valeur au coupon. Les règles de dédommagement peuvent être appliquées à ces composants tarifaires et le cumul du kilométrage peut être déterminé sur la base du prix original.Ticket registrations and reservation files may be required to comply with certain standard formats so that compatibility is maintained between various carriers, travel agencies and GDS systems. Therefore, it is impossible to simply add new types of data to, or otherwise modify, ticket records and reservation records in order to address issues caused by involuntary exchanges. To resolve these issues, embodiments of the invention may use a transition record to track the old fare component and the coupon data. Transition records may include a new type of database record which is used by the exchange server 26 to provide various features of the embodiments of the present invention. The exchange server 26 can analyze the ticket records and the ticket reservation files to determine which flights have been interrupted, link the segments of the old route to the corresponding segments in the new route, and store the data defining these segments. broken and links in the transition record, [00130] The transition record may include a pricing structure data which would have been included in the involuntary tickets if they had been issued as part of a voluntary exchange. The exchange server 26 can also create a hybrid ticket including all the coupons for the current route on the basis of the data in the transition record. Pricing information from the originally purchased ticket and links to hybrid ticket coupons can be stored in the transition record and can assist in determining structural pricing information for Unintentionally Exchanged Tickets [00131] The hybrid ticket can allow involuntary tickets to appear as if their price had been set and if they had been purchased rather than issued as part of an exchange. This can allow follow-up processes to work transparently on involuntarily exchanged tickets by matching previously issued tickets with the corresponding reissue tickets. From an involuntarily given ticket, embodiments of the invention can cause the user system 14 to display the complete current route, including the segments traveled and open. This can make it possible to make links between tickets in the exchange chain, which can facilitate exchanges or subsequent refunds of an involuntary exchanged ticket. For any given coupon of the reissue ticket, the exchange server 26 can find the pricing elements of the coupon, eg, the original tariff component (s) from which the coupon originates. This can allow the exchange server 26 to assign a value to the coupon. The compensation rules can be applied to these tariff components and the cumulative mileage can be determined on the basis of the original price.

[00132] La FIG. 8 représente un diagramme d’un processus d’échange de billet 110 qui peut être mis en œuvre par le serveur d’échange 26 pour gérer les échanges involontaires. Dans le bloc 112, le processus 110 peut recevoir une demande pour un échange involontaire.[00132] FIG. 8 shows a diagram of a ticket exchange process 110 which can be implemented by the exchange server 26 to manage involuntary exchanges. In block 112, process 110 can receive a request for an involuntary exchange.

Cette demande peut inclure le numéro de billet du billet en cours d’échange et/ou le localisateur d’enregistrement d’un dossier de réservation associé au billet. En réponse à la réception de la demande, le processus 110 peut passer au bloc 114 et récupérer le billet en cours d’échange dans la base de données de billets 20. La récupération du billet peut inclure la transmission d’une demande à la base de données de billets 20 demandant une image du billet. Cette image peut inclure la donnée définissant les coupons comprenant le billet et les composants tarifaires utilisés pour fixer le prix du billet, et peut être incluse dans plus dans une réponse transmise au serveur d’échange 26 par la base de données de billets 20. Pour le billet exemplaire, original tarifé et acheté TKT-001, la base de données de billets 20 peut retourner l’image 70 de la FIG. 4 au serveur d’échange 26.This request may include the ticket number of the ticket being exchanged and / or the registration locator of a reservation file associated with the ticket. In response to receiving the request, the process 110 may proceed to block 114 and retrieve the ticket being exchanged from the ticket database 20. Retrieving the ticket may include transmitting a request to the base 20 ticket data requesting an image of the ticket. This image may include the data defining the coupons comprising the ticket and the tariff components used to fix the price of the ticket, and may be included in addition in a response transmitted to the exchange server 26 by the ticket database 20. For the exemplary ticket, original priced and purchased TKT-001, the ticket database 20 can return the image 70 of FIG. 4 to the exchange server 26.

[00133] En réponse à la réception de la réponse de la base de données de billets 20, le processus 110 peut passer au bloc 116 et vérifier le statut de chaque coupon du billet pour déterminer si le billet est échangeable. Par exemple, un billet pour lequel tous les coupons ont été parcourus ne peut pas être échangé. Comme on peut le voir sur les champs de coupon 78, 79 sur l’image 70, les coupons Cl et C2 de TKT-001 sont ouverts. Par conséquent, le billet TKT-001 peut être échangé.In response to receiving the response from the ticket database 20, the process 110 may proceed to block 116 and check the status of each ticket coupon to determine if the ticket is redeemable. For example, a ticket for which all coupons have been scanned cannot be redeemed. As can be seen in coupon fields 78, 79 in image 70, coupons C1 and C2 of TKT-001 are open. Therefore, the TKT-001 ticket can be exchanged.

[00134] Une fois que le statut de chaque coupon du billet en cours d’échange a été déterminé, le processus 110 peut passer au bloc 117 et récupérer le dossier de réservation identifié par la donnée dans le champ du localisateur d’enregistrement du billet. Dans le présent exemple, le champ du localisateur d’enregistrement 74 du billet TKT-001 identifie le dossier de réservation 89DRGH, qui peut apparaître comme représenté par l’image 61 de la FIG. 5. Le dossier de réservation peut définir un itinéraire de remplacement qui inclut un ou plusieurs segments de remplacement (par ex., les segments SI et S2) qui remplace(nt) un ou plusieurs segments interrompus de l’itinéraire précédent.Once the status of each coupon of the ticket being exchanged has been determined, the process 110 can go to block 117 and retrieve the reservation file identified by the data in the field of the ticket registration locator . In the present example, the registration locator field 74 of the ticket TKT-001 identifies the reservation file 89DRGH, which may appear as shown in FIG. 61 of FIG. 5. The reservation file may define an alternative route that includes one or more replacement segments (eg, segments SI and S2) that replace (s) one or more interrupted segments of the previous route.

[00135] En réponse à la réception de l’image du dossier de réservation, le processus 110 peut passer au bloc 118 et créer un billet de réémission (par ex., billet TKT-002) dans la base de données de billets 20. Le processus 110 peut également modifier le billet original (par ex., le billet TKT-001) pour refléter les changements de statut de ce billet. Dans le présent scénario exemplaire, le segment original SI reliant Nice à Paris a été remplacé dans le dossier de réservation 89DRGH par deux segments SI et S2 comprenant un vol avec une correspondance à Berlin. En cas d’échange complet, le billet TKT-002 tel que représenté par l’image 90 de la FIG. 6 peut être créé dans la base de données de billets 20. Parce que le billet TKT-002 représenté sur l’image 90 est un remplacement du billet TKT-001 dans son intégralité comme représenté à l’image 70, TKT-001 peut être modifié en changeant le statut des coupons par « échangé », comme indiqué sur l’image 71.In response to the reception of the image of the reservation file, the process 110 can pass to block 118 and create a reissue ticket (for example, ticket TKT-002) in the ticket database 20. The 110 process can also modify the original ticket (eg, TKT-001 ticket) to reflect changes in the status of that ticket. In the present exemplary scenario, the original SI segment connecting Nice to Paris has been replaced in the 89DRGH reservation file by two SI and S2 segments including a flight with a connection to Berlin. In the event of a complete exchange, the TKT-002 ticket as shown in FIG. 90 of FIG. 6 can be created in the ticket database 20. Because the ticket TKT-002 shown in picture 90 is a replacement for the ticket TKT-001 in its entirety as shown in picture 70, TKT-001 can be modified by changing the status of the coupons to “redeemed”, as shown in picture 71.

[00136] Une fois que les billets impliqués dans l’échange ont été créés et/ou modifiés, le processus 110 peut passer au bloc 119. Dans le bloc 11 9, le processus 110 peut déterminer quels coupons du billet parent et du billet de réémission sont associés à l’interruption. Une fois que les coupons interrompus ont été identifiés, le processus 110 peut passer au bloc 120 20 et créer un enregistrement de transition qui stocke les données liées à l'échange de billets.Once the tickets involved in the exchange have been created and / or modified, the process 110 can go to block 119. In block 11 9, the process 110 can determine which coupons of the parent ticket and of the ticket reissue are associated with the interrupt. Once the interrupted coupons have been identified, the process 110 can proceed to block 120 and create a transition record which stores the data related to the ticket exchange.

Comme décrit ci-dessus, l’enregistrement de transition peut améliorer la vitesse et l’efficacité des futures opérations de récupération de données impliquant un échange du billet de réémission.As described above, transition recording can improve the speed and efficiency of future data recovery operations involving an exchange of the reissue ticket.

[00137] Le processus de détermination des coupons correspondant à l’interruption et de création de l’enregistrement de transition liant ces coupons peut commencer en identifiant un ou plusieurs coupons dans le billet parent qui étaient impliqués dans l’échange. Un coupon dans le billet parent peut être considéré comme correspondant à un coupon diras le billet de réémission, si les coupons comparés possèdent les mêmes informations de vol. Les informations de vol peuvent inclure les identités des transporteurs émetteurs et de fait, le numéro de vol, les lieux de départ et d’arrivée, la classe de réservation et/ou de cabine, et/ou les dates de vol pour le départ et l’arrivée, par exemple.The process of determining the coupons corresponding to the interruption and of creating the transition record linking these coupons can begin by identifying one or more coupons in the parent ticket which were involved in the exchange. A coupon in the parent ticket can be considered as corresponding to a coupon, say the reissue ticket, if the compared coupons have the same flight information. Flight information may include the identities of the originating and actual carriers, the flight number, departure and arrival locations, booking and / or cabin class, and / or flight dates for departure and arrival, for example.

[00138] La FIG. 9 représente un indice d’échanges exemplaire 122 qui inclut plusieurs tableaux ou « ensembles » 124-128. Ces ensembles peuvent être utilisés par le serveur d’échange 26 pour identifier les coupons interrompus dans les billets parents et de réémission.FIG. 9 represents an exemplary exchange index 122 which includes several tables or "sets" 124-128. These sets can be used by the exchange server 26 to identify coupons interrupted in parent and reissue tickets.

et lier les coupons dans le billet parent au coupon de remplacement correspondant dans le billet de réémission. Les ensembles 124-128 peuvent inclure un ensemble J d’un ou de plusieurs coupons parents as qui sont ouverts (et donc échangeables) dans le billet parent. Pour un ensemble A ayant m coupons, l’ensemble peut être défini comme suit :and link the coupons in the parent ticket to the corresponding replacement coupon in the reissue ticket. Sets 124-128 can include a set J of one or more parent coupons a s that are open (and therefore redeemable) in the parent ticket. For a set A having m coupons, the set can be defined as follows:

5 A~ las}>3 ë[0,m] (Eqn.l) 5 A ~ l a s}> 3 ë [0, m] (Eqn.l)

En cas d’échange partiel, les coupons dans l’ensemble A peuvent être filtrés de telle sorte que seuls les coupons qui pourraient être impliqués dans l’échange de billets sont analysés. Par exemple, tout coupon dont le statut est « parcouru » peut être exclu de l’analyse. Si plusieurs coupons dans le billet parent ont été parcourus en dehors de là séquence (c.-à-d. qu’il existe un coupon ouvert avec une date de départ plus ancienne qu’un coupon parcouru), tout coupon Ouvert ayant des dates de départ antérieures à la date de départ d’un coupon parcouru peut également être filtré en dehors de l’ensemble A.In the event of a partial exchange, the coupons in set A can be filtered so that only the coupons that could be involved in the exchange of tickets are analyzed. For example, any coupon whose status is "scanned" can be excluded from the analysis. If multiple coupons in the parent ticket have been scanned outside of this sequence (i.e. there is an open coupon with a departure date older than a scanned coupon), any Open coupon with dates departure date prior to the departure date of a voucher traveled can also be filtered outside of set A.

[00139] Le serveur d’échange 26 peut également déterminer un ensemble B d’un ou de plusieurs coupons de remplacement bh sur le billet de réémission. L’ensemble B peut inclure n 15 coupons qui pourvoient collectivement une solution remplaçant les coupons des segments interrompus dans l’ensemble A. L’ensemble B de coupons bh peut être défini comme suit :The exchange server 26 can also determine a set B of one or more replacement coupons bh on the reissue ticket. The set B can include n 15 coupons which collectively provide a solution replacing the coupons of the interrupted segments in the set A. The set B of coupons bh can be defined as follows:

B = 0¼}. Β θ [0, n] (Fqn. 2) [00140] Pour documenter les associations avec les interruptions et les liens entre les coupons dans chaque ensemble, le serveur d’échange peut remplir l’ensemble A ' avec m 20 opérateurs booléens a 'g, l’ensemble B ' avec n opérateurs booléens b 'h, et l'ensemble D avec l liens. Par exemple, l’ensemble A ' peut être présenté par l’équation 3,B = 0¼}. Β θ [0, n] (Fqn. 2) [00140] To document the associations with the interruptions and the links between the coupons in each set, the exchange server can fill the set A 'with m 20 boolean operators a ' g , the set B' with n Boolean operators b 'h, and the set D with l links. For example, the set A 'can be presented by equation 3,

A'= {a^},^e[Ô,mJ (Fqn.3) où chaque opérateur aga une valeur vraie (par ex., « 1 ») si le coupon ag correspond à un segment interrompu, et à une valeur fausse (par ex., « 0 ») si le coupon ag ne correspond à aucun segment interrompu. De même, l’ensemble B'peut être présenté par l’équation 4, fî’= (b'ft},0e[Ô,nJ (Eqn.4) où chaque opérateur b'h a une valeur vraie si le coupon bh correspond à l’interruption (c.-à-d.A '= {a ^}, ^ e [Ô, mJ (Fqn.3) where each operator a g has a true value (eg, "1") if the coupon a g corresponds to an interrupted segment, and to a false value (eg "0") if the coupon a g does not correspond to any interrupted segment. Similarly, the set B 'can be presented by equation 4, fî' = (b ' ft }, 0e [Ô, nJ (Eqn.4) where each operator b'h has a true value if the coupon bh corresponds to the interruption (i.e.

que le coupon remplace un coupon interrompu ag), et une valeur fausse si le coupon correspondant bh ne correspond pas à l’interruption (c.-à-d. que le coupon bh ne remplace pas 30 un coupon interrompu ag). Dans un mode de réalisation, la valeur de chaque opérateur a'g et b'h peut débuter par, ou autrement être initialement réglée sur fausse. L’ensemble D peut comprendre un tableau de liens qui pourvoient un indice liant chaque coupon ag à un ou plusieurs coupons bh qui remplacent) le coupon as.the coupon replaces an interrupted coupon a g ), and a false value if the corresponding coupon bh does not correspond to the interruption (ie the coupon bh does not replace an interrupted coupon ag). In one embodiment, the value of each operator a ' g and b'h can start with, or otherwise be initially set to false. The set D can include a table of links which provide an index linking each coupon a g to one or more coupons bh which replace) the coupon a s .

[00141 ] L’ensemble D peut comprendre un ensemble l de liens dk, chaque lien dt comprenant une structure de donnée qui définit une relation entre un coupon parent ag et un coupon de remplacement correspondant />*. Chaque lien dk peut être représenté comme suit : d-k ~ (@g· b/ι) (Eqn. 5)The set D can comprise a set l of links dk, each link dt comprising a data structure which defines a relationship between a parent coupon a g and a corresponding replacement coupon /> *. Each dk link can be represented as follows: dk ~ (@ g · b / ι) (Eqn. 5)

Chaque coupon parent ag peut être lié à au moins un coupon de remplacement &*. De même, chaque coupon de remplacement b* peut être lié à au moins un coupon parent ag. Par exemple, un segment interrompu pour être remplacé par plusieurs segments (par ex., si un vol direct est remplacé par un vol de correspondance), et vice-versa. Cela peut donner lieu à m qui n’est pas égal à n. Par conséquent, le nombre l de liens dk dans l’ensemble D peut être pourvu par :Each parent coupon a g can be linked to at least one replacement coupon & *. Similarly, each replacement coupon b * can be linked to at least one parent coupon a g . For example, a segment interrupted to be replaced by several segments (eg, if a direct flight is replaced by a connecting flight), and vice versa. This can give rise to m which is not equal to n. Consequently, the number l of links dk in the set D can be provided by:

l = max(n,m)l = max (n, m)

Puisque chaque coupon parent/de remplacement est lié à au moins un coupon de remplacement/parent. Il n’y a pas nécessairement une correspondance un à un entre les segments interrompus et les segments de remplacement parce qu’un seul segment interrompu peut être remplacé par deux segments de remplacement, ou deux segments interrompus peuvent être remplacés par un seul segment de remplacement.Since each parent / replacement coupon is linked to at least one replacement / parent coupon. There is not necessarily a one-to-one correspondence between the interrupted segments and the replacement segments because a single interrupted segment can be replaced by two replacement segments, or two interrupted segments can be replaced by a single replacement segment .

[00142] Le processus de génération des ensembles A\ B'et D peut inclure la comparaison du coupon parent le plus ancien (c.-à-d. le coupon ayant l’heure de départ la plus éloignée) dans l’ensemble A (par ex., le coupon ai) et le coupon de remplacement le plus ancien dans l’ensemble B (par ex., le coupon bi). Si les coupons correspondent (c.-à-d. que le segment 20 pour lequel chaque coupon est remboursable semble être le même segment basé sur la donnée de vol), le serveur d’échange 26 peut comparer le prochain coupon parent le plus ancien dans l’ensemble A au prochain coupon de remplacement plus ancien dans l’ensemble B, en avançant chronologiquement jusqu’à trouver deux coupons qui ne correspondent pas.The process for generating the sets A \ B'et D can include the comparison of the oldest parent coupon (ie the coupon with the most distant departure time) in the set A (e.g. coupon ai) and the oldest replacement coupon in set B (e.g. coupon bi). If the coupons match (i.e., the segment 20 for which each coupon is redeemable appears to be the same segment based on flight data), the redemption server 26 can compare the next oldest parent coupon in set A to the next older replacement coupon in set B, advancing chronologically until you find two coupons that do not match.

[00143] En réponse à l’identification d’une paire de coupons qui ne correspondent pas, le processus peut sélectionner le coupon parent le plus récent (c.-à-d. le coupon ayant l’heure de départ la plus récente) dans l’ensemble A (par ex., le coupon a„), le coupon de remplacement le plus récent dans l’ensemble B (par ex., le coupon bm), et comparer ces coupons. Si les coupons correspondent, le serveur d’échange 26 peut comparer le prochain coupon le plus récent dans l’ensemble A au prochain coupon le plus récent dans l’ensemble B, en avançant dans l’ordre chronologique inverse jusqu’à trouver deux coupons qui ne correspondent pas.In response to identifying a pair of coupons that do not match, the process can select the most recent parent coupon (i.e. the coupon with the most recent departure time) in set A (eg, coupon a „), the most recent replacement coupon in set B (eg, coupon b m ), and compare these coupons. If the coupons match, the exchange server 26 can compare the next most recent coupon in set A with the next most recent coupon in set B, advancing in reverse chronological order until two coupons are found that don't match.

Le serveur d’échange 26 peut ensuite déterminer que tous les coupons entre et incluant la paire de coupons la plus ancienne qui ne correspondent pas et la paire de coupons la plus récente qui ne correspondent pas sont associées à l’interruption. Cela signifie que les coupons identifiés correspondent aux coupons interrompus ag dans l’ensemble A, et aux coupons de remplacement correspondants ά» dans l’ensemble B.The exchange server 26 can then determine that all of the coupons between and including the oldest pair of coupons that do not match and the most recent pair of coupons that do not match are associated with the interrupt. This means that the coupons identified correspond to the interrupted coupons a g in set A, and to the corresponding replacement coupons ά ”in set B.

[00144] Les FIGS. 10-13 présentent des organigrammes représentant un processus 130 qui peut être mis en œuvre par le serveur d’échange 26 pour détecter les coupons interrompus, les faire correspondre à leurs coupons de remplacement correspondant et générer l’indice d’échange. En référence à la FIG. 10, dans le bloc 132, le processus 130 peut initialiser un ou plusieurs compteurs, par ex., en réglant le compteur i- 1 et le compteur/ = 0. Les compteurs peuvent être utilisés pour garder une trace des coupons dans les ensembles A et B qui sont analysés, ainsi que les endroits des liens dt ajoutés à l’ensemble D par le processus 130.FIGS. 10-13 show flowcharts representing a process 130 which can be implemented by the exchange server 26 to detect interrupted coupons, match them to their corresponding replacement coupons and generate the exchange index. With reference to FIG. 10, in block 132, process 130 can initialize one or more counters, eg, by setting counter i-1 and counter / = 0. The counters can be used to keep track of coupons in sets A and B which are analyzed, as well as the locations of the links dt added to the set D by the process 130.

[00145] Une fois que les compteurs sont réglés, le processus 130 peut passer au bloc 134 et comparer le coupon a, de l’ensemble A au coupon b» de l’ensemble B. Si les coupons ne correspondent pas (branche « NON » du bloc de décision 136), le processus 130 peut passer au bloc 138, régler les valeurs de a', et b‘t sur vraies dans les ensembles A 'et B', indiquant par là même que les coupons sont associés à une interruption, et passer au bloc 139 (FIG. 11 ). Si les coupons correspondent (branche « OUI » du bloc de décision 136), le processus 130 peut passer au bloc 140.Once the counters are set, the process 130 can go to block 134 and compare the coupon a, from set A to coupon b "from set B. If the coupons do not match (branch" NO »Of decision block 136), process 130 can pass to block 138, set the values of a ', and b' t to true in sets A 'and B', thereby indicating that the coupons are associated with a interruption, and go to block 139 (FIG. 11). If the coupons correspond (“YES” branch of the decision block 136), the process 130 can pass to block 140.

[00146] Dans le bloc 140, le processus 130 peut déterminer si à la fois le coupon a+r existe dans l’ensemble J et le coupon 6,+i existe dans l’ensemble B. Si aucun coupon n’existe dans cet ensemble respectif (branche « NON » du bloc de décision 140), le processus 130 peut passer au bloc 142 (FIG. 12). Si les deux coupons existent dans leurs ensembles respectifs (branche « OUI » du bloc de décision 140), le processus 130 peut passer au bloc 144.In block 140, the process 130 can determine whether both the coupon a + r exists in the set J and the coupon 6, + i exists in the set B. If no coupon exists in this respective set (“NO” branch of decision block 140), process 130 can pass to block 142 (FIG. 12). If the two coupons exist in their respective sets (“YES” branch of the decision block 140), the process 130 can pass to block 144.

[00147] Dans le bloc 144, le processus 130 peut régler les valeurs de a't et b 7 sur fausses dans les ensembles J'et B\ respectivement, pour indiquer que les coupons ne sont pas associés à une interruption, et ajouter un lien d, = (a,, b,) à l’ensemble D. Le lien d, peut définir une relation entre le coupon a, et le coupon Le processus 130 peut ensuite passer au bloc 146, incrémenter le compteur i, retourner au bloc 134, et poursuivre le processus de comparaison des coupons.In block 144, the process 130 can set the values of a't and b 7 to false in the sets J'and B \ respectively, to indicate that the coupons are not associated with an interruption, and add a link d, = (a ,, b,) to the set D. The link d, can define a relation between the coupon a, and the coupon The process 130 can then pass to block 146, increment the counter i, return to block 134, and continue the coupon comparison process.

[00148] Faisant maintenant référence à la FIG. 11, dans le bloc 139, le processus 130 peut comparer le coupon a,„.j au coupon bn.j. Si les coupons ne correspondent pas (branche « NON » du bloc de décision 148), le processus 130 peut passer au bloc 150. Dans le bloc 150, le processus 130 peut régler les valeurs de chaque opérateur a / via dans l’ensemble A \ chaque opérateur F, via b m-j dans l’ensemble B' sur vraies. Le processus 130 peut également ajouter des liens d = (ag, bh) à D pour g = i vers m-j eth = i vers n-j. Une fois que les opérateurs et les liens ont été définis dans leurs ensembles respectifs, le processus 130 peut se terminer.[00148] Referring now to FIG. 11, in block 139, process 130 can compare coupon a, „. J with coupon b n .j. If the coupons do not correspond (“NO” branch of decision block 148), process 130 can go to block 150. In block 150, process 130 can adjust the values of each operator a / via in set A \ each operator F, via b mj in the set B 'on true. Process 130 can also add links d = (a g , bh) to D for g = i to mj eth = i to nj. Once the operators and links have been defined in their respective sets, the process 130 can be terminated.

[00149] Si les coupons correspondent (branche « OUI » du bloc de décision 148), le processus 130 peut passer au bloc 152. Dans le bloc 152, le processus 130 peut déterminer si l’opérateur a ou l’opérateur b'n-j est vrai. Si les deux opérateurs sont vrais (branche « OUI » du bloc de décision 152). le processus 130 peut passer au bloc 154 (FIG. 13). Si aucun opérateur n’est vrai (branche « NON » du bloc de décision 152), le processus 130 peut passer au bloc 156.If the coupons correspond ("YES" branch of the decision block 148), the process 130 can pass to block 152. In block 152, the process 130 can determine whether the operator a or the operator b ' n -j is true. If both operators are true (“YES” branch of decision block 152). process 130 can proceed to block 154 (FIG. 13). If no operator is true (“NO” branch of the decision block 152), the process 130 can pass to block 156.

[00150] Dans le bloc 156, le processus 130 peut régler a'm.j et b=faux dans les ensembles A ' et B', respectivement, et ajouter un lien dy = (am-j, bn-j) à l’ensemble D. Le lien d/.j peut définir une relation entre le coupon am-j et le coupon bn-j. Le processus 130 peut ensuite passer au bloc 158, incrémenter le compteur j, retourner au bloc 139, et continuer le processus de comparaison des coupons.In block 156, process 130 can set a ' m .j and b = false in sets A' and B ', respectively, and add a link dy = (a m -j, b n -j) to the set D. The link d / .j can define a relationship between the coupon a m -j and the coupon b n -j. The process 130 can then go to block 158, increment the counter j, return to block 139, and continue the process of comparing the coupons.

[00151] Faisant maintenant référence à la FIG. 12, dans le bloc 142, le processus 130 peut déterminer si le coupon bt+\ existe dans l’ensemble B. Si le coupon existe (branche « OUI » du bloc de décision 142), le processus 130 peut passer au bloc 160 et régler les valeurs de chaque opérateur 6',+/ via bdans l’ensemble 5'sur vraies. Le processus 130 peut également ajouter des liens d = (a,, bh) à D pour h = i vers n. Une fois que la valeur des opérateurs via b'K a été fixée et que les liens d ont été ajoutés à l’ensemble D, le processus 130 peut se terminer.[00151] Referring now to FIG. 12, in block 142, the process 130 can determine if the coupon bt + \ exists in the set B. If the coupon exists (“YES” branch of the decision block 142), the process 130 can go to block 160 and set the values of each operator 6 ', + / via b in the set 5' on true. Process 130 can also add links d = (a ,, bh) to D for h = i to n. Once the value of the operators via b ' K has been fixed and the links d have been added to the set D, the process 130 can be terminated.

Si le coupon bra n’existe pas dans l’ensemble B (branche « NON » du bloc de décision 142), le processus 130 peut passer au bloc 162.If the coupon bra does not exist in set B ("NO" branch of decision block 142), process 130 can pass to block 162.

[00152] Dans le bloc 162, le processus 130 peut déterminer si le coupon a/+i existe dans l’ensemble A. Si le coupon existe (branche « OUI » du bloc de décision 162), le processus 130 peut passer au bloc 164. Dans le bloc 164, le processus 130 peut régler les valeurs de chaque opérateur a't+i via a'm dans l’ensemble A ' sur vraies, et ajouter des liens d = (ag, b,) à D pour g = i vers m. Une fois que les valeurs des opérateurs «',+/ via af m ont été réglées et que les liens d ont été ajoutés à l’ensemble D, le processus 130 peut se terminer. Si le coupon û/+i n’existe pas dans l’ensemble insécable A (branche « NON » du bloc de décision 162), le processus 130 peut passer au bloc 166, générer un message indiquant qu’aucun coupon interrompu n’a été détecté et se terminer.In block 162, the process 130 can determine whether the coupon a / + i exists in the set A. If the coupon exists (“YES” branch of the decision block 162), the process 130 can pass to the block 164. In block 164, process 130 can set the values of each operator a ' t + i via a' m in the set A 'to true, and add links d = (a g , b,) to D for g = i to m. Once the values of the operators '', + / via a f m have been set and the links d have been added to the set D, the process 130 can be terminated. If the coupon û / + i does not exist in the non-breaking set A (“NO” branch of the decision block 162), the process 130 can pass to block 166, generating a message indicating that no interrupted coupon has been detected and terminate.

[00153] Faisant maintenant référence à la FIG. 13, dans le bloc 154, le processus 130 peut déterminer si la valeur de l’opérateur best vraie. Si la valeur de l’opérateur b'nj est vraie (branche « OUI » du bloc de décision 154), le processus 130 peut passer au bloc 168, régler la valeur de l’opérateur b Zj dans l’ensemble B* sur fausse, et régler les valeurs de chaque opérateur a’t via dans l'ensemble sur vraies. Le processus 130 peut également ajouter des liens dg = (ag, bnf) à D pour g - i vers m~j avant de se terminer. Si la valeur de l’opérateur b «y n’est pas vraie (branche «NON » du bloc de décision 154), le processus 130 peut passer au bloc 170. Dans le bloc 170, le processus 130 peut régler la valeur opérateur a'm.[00153] Referring now to FIG. 13, in block 154, process 130 can determine whether the value of the operator best is true. If the value of the operator b'nj is true (branch "YES" of the decision block 154), the process 130 can go to block 168, set the value of the operator b Zj in the set B * to false , and set the values of each operator at all via to true. Process 130 can also add links d g = (a g , bnf) to D for g - i to m ~ j before terminating. If the value of the operator b "y is not true (branch" NO "of the decision block 154), the process 130 can go to block 170. In block 170, the process 130 can set the operator value a ' m .

j dans l’ensemble A' sur fausse, et régler les valeurs de chaque opérateur b't via bf-j.i dans l’ensemble B' sur vraies. Le processus 130 peut également ajouter des liens d/, = (am-,. b;,) à D pour h = z vers n-j avant de se terminer.j in set A 'on false, and set the values of each operator b't via bf-ji in set B' on true. Process 130 can also add links d /, = (a m - ,. b ;,) to D for h = z to nj before ending.

[00154J La FIG. 14 représente une application du processus décrit ci-dessus 130 à un ensemble exemplaire 180 de coupons 182-185 (par ex., ensemble A de coupons ai-aff à partir d’un billet parent, et un ensemble exemplaire 190 de coupons 192-195 (par ex., ensemble B de coupons bi-bf) à partir d’un billet de réémission. Le serveur d’échange 26 peut commencer l'analyse en initialisant le compteur i - 1 et le compteur j = 0, et en sélectionnant le coupon le plus ancien dans l’ordre chronologique à partir de chaque ensemble A et ensemble B (par ex., le coupon ai et le coupon bj) sur la base de la valeur du compteuri.FIG. 14 shows an application of the process described above 130 to an exemplary set 180 of coupons 182-185 (e.g., set A of coupons ai-aff from a parent ticket, and an exemplary set 190 of coupons 192- 195 (eg, set B of coupons bi-bf) from a reissue ticket The exchange server 26 can start the analysis by initializing the counter i - 1 and the counter j = 0, and selecting the oldest coupon in chronological order from each set A and set B (e.g. coupon ai and coupon bj) based on the value of the counter i.

[00155] Le serveur d’échange 26 peut comparer les coupons sélectionnés ai et bj (comme indiqué par la ligne à double flèche 200) pour déterminer s’ils ont les mêmes informations de vol. En réponse au fait de déterminer que les coupons ont bien les mêmes informations de vol (c.-à-d. que ai = b\), le serveur d’échange 26 peut ensuite déterminer si à la fois le coupon ai existe dans l’ensemble A, et le coupon fe existe dans l’ensemble B. En réponse au fait de déterminer que ces coupons existent dans chacun des ensembles respectifs, le serveur d’échange 26 peut régler (ou vérifier, le cas échéant) la valeur de l’opérateur a'i de l’ensemble A ' et de l’opérateur b’2 de l’ensemble B' surfausse (indiquant ainsi qu’elles ne sont pas associées à un lien interrompu), ajouter un lien di = (ai, bi) à l’ensemble D, et incréœenter le compteur 2 à 2.The exchange server 26 can compare the selected coupons ai and bj (as indicated by the double arrow line 200) to determine if they have the same flight information. In response to determining that the coupons have the same flight information (i.e. ai = b \), the exchange server 26 can then determine whether both the coupon ai exists in the the set A, and the coupon fe exists in the set B. In response to determining that these coupons exist in each of the respective sets, the exchange server 26 can adjust (or check, if necessary) the value of the operator a'i of the set A 'and of the operator b'2 of the set B' overflows (thus indicating that they are not associated with a broken link), add a link di = (ai , bi) to set D, and increment the counter 2 to 2.

[00156] Le serveur d’échange 26 peut ensuite comparer le coupon 02 de Γ ensemble A au coupon b2 de l’ensemble (comme indiqué par la ligne à double flèche 202), qui sont les prochains coupons dans l’ordre chronologique dans chaque ensemble, comme indiqué par le compteur i. Parce que les informations de vol du coupon 02 sont différentes des informations de vol du coupon 62, le serveur d’échange 26 peut déterminer que le coupon as ne correspond pas au coupon bz, c.-à-d. que 02 f 62.The exchange server 26 can then compare the coupon 02 of Γ assembly A with the coupon b2 of the assembly (as indicated by the double arrow line 202), which are the next coupons in chronological order in each together, as indicated by the counter i. Because the flight information of coupon 02 is different from the flight information of coupon 62, the exchange server 26 can determine that the coupon as does not match the coupon bz, i.e. than 02 f 62.

[00157] En réponse à la détermination selon laquelle ai f bi, le serveur d’échange 26 peut régler la valeur de l’opérateur a'2 de l’ensemble A ' et de l’opérateur bf de l’ensemble B’ sur vraie. Le serveur d’échange 26 peut également sélectionner le dernier coupon qui apparaît dans l’ordre chronologique dans chaque ensemble A et ensemble B (par ex., le coupon a$ de l’ensemble A et le coupon bi de l’ensemble B) sur la base de la valeur du compteur J et du nombre de coupons dans chaque ensemble, et comparer les coupons sélectionnés, comme indiqué par la ligne double flèche 204. Parce que les informations de vol pour chacun de ces coupons sont les mêmes, le serveur d’échange 26 peut déterminer que a* = b4. En réponse à la détermination selon laquelle m = 64, le serveur d’échange 26 peut de plus déterminer si la valeur de l’opérateur a'4 de l’ensemble A' ou de l’opérateur b'4 de l’ensemble B’ est vraie. Dans le présent exemple, puisque ni l’opérateur a’4 ni l’opérateur b'4 n’a été réglé sur vrai, le serveur d’échange 26 peut déterminer qu’aucun opérateur n’a la valeur vraie, k la suite de sa détermination, le serveur d’échange 26 peut régler la valeur de chacun de ces opérateurs sur fausse, ajouter un lien di = (fin, bi) à l’ensemble D, et incrémenter le compteur j à 1. [00158] Le serveur d’échange 26 peut ensuite sélectionner le prochain coupon le plus récent dans l’ordre chronologique dans chacun des ensembles A et B (par ex., le coupon a$ de l’ensemble A et le coupon 63 de l’ensemble B) sur la base de la valeur du compteur/, et comparer les coupons sectionnés, comme indiqué par la ligne à double flèche 206. Parce que les informations de vol sont les mêmes pour chacun de ces coupons, et parce que ni l’opérateur a'3 ni l’opérateur b’3 n’a été réglé sur vrai, le serveur d’échange 26 peut régler la valeur de chacun de ces opérateurs sur fausse, ajouter un lien = («23, 63) à l’ensemble D, et incrémenter le compteur j à 2.In response to the determination that ai f bi, the exchange server 26 can adjust the value of the operator a'2 of the set A 'and of the operator bf of the set B' on true. The exchange server 26 can also select the last coupon which appears in chronological order in each set A and set B (for example, the coupon a $ of the set A and the coupon bi of the set B) based on the value of the counter J and the number of coupons in each set, and compare the selected coupons, as indicated by the double arrow line 204. Because the flight information for each of these coupons is the same, the server exchange 26 can determine that a * = b4. In response to the determination that m = 64, the exchange server 26 can further determine whether the value of the operator a'4 of the set A 'or of the operator b'4 of the set B is true. In the present example, since neither the operator a'4 nor the operator b'4 has been set to true, the exchange server 26 can determine that no operator has the value true, k following of its determination, the exchange server 26 can set the value of each of these operators to false, add a link di = (end, bi) to the set D, and increment the counter j to 1. [00158] The exchange server 26 can then select the next most recent coupon in chronological order from each of sets A and B (e.g., coupon a $ from set A and coupon 63 from set B) based on the value of the counter /, and compare the severed coupons, as indicated by the double arrow line 206. Because the flight information is the same for each of these coupons, and because neither the operator has' 3 neither the operator b'3 has been set to true, the exchange server 26 can set the value of each of these operators on false, add a link = ("23, 63) to the set D, and increment the counter j to 2.

[00159] Le serveur d’échange 26 peut ensuite sélectionner le prochain coupon le plus récent dans l’ordre chronologique de chaque ensemble basé sur la valeur du compteur j (par ex., le coupon 02 de l'ensemble A et le coupon bz de l’ensemble B) et comparer les coupons, comme indiqué par la ligne à double flèche 208. En réponse à la détermination selon laquelle 02 f bz, le serveur d’échange 26 peut régler la valeur de l’opérateur a'2 sur vraie, régler la valeur de l’opérateur b'2 sur vraie, ajouter un lien dï = (02, bi) à l’ensemble D, et terminer l’analyse.The exchange server 26 can then select the next most recent coupon in chronological order of each set based on the value of the counter j (eg, coupon 02 of set A and coupon bz of the set B) and compare the coupons, as indicated by the double arrow line 208. In response to the determination that 02 f bz, the exchange server 26 can adjust the value of the operator a'2 on true, set the value of the operator b'2 to true, add a link dï = (02, bi) to the set D, and end the analysis.

[00160] La FIG. 15 représente me application du processus 130 décrit ci-dessus sur l’ensemble exemplaire 180 des coupons 182-185 et un autre ensemble exemplaire 210 de coupons 212-215 (par ex., l’ensemble B de coupons bi-bt) d’un billet de réémission dans lequel les coupons b\ et bi ont remplacé les coupons ai et 02.[00160] FIG. 15 shows the application of the process 130 described above on the exemplary set 180 of coupons 182-185 and another exemplary set 210 of coupons 212-215 (e.g., the set B of coupons bi-bt) of a reissue ticket in which coupons b \ and bi replaced coupons ai and 02.

[00161 ] Le serveur d’échange 26 peut commencer l’analyse en initialisant les compteurs et en sélectionnant les coupons les plus anciens dans l’ordre chronologique dans chaque ensemble A et ensemble B, par ex., le coupon ai et le coupon bi comme indiqué par le compteur i. Le serveur d’échange 26 peut comparer les coupons sélectionnés ai et bi (comme indiqué par la ligne à double flèche 220) pour déterminer s’ils ont les mêmes informations de vol. En réponse à la détermination selon laquelle les coupons n’ont pas les mêmes informations de vol (c.-à-d. ai f bi), le serveur d’échange 26 peut régler les valeurs de l’opérateur a'\ de l’ensemble A ' et de l’opérateur b' i de l’ensemble B* sur vraies.The exchange server 26 can start the analysis by initializing the counters and by selecting the oldest coupons in chronological order in each set A and set B, for example, the coupon ai and the coupon bi as indicated by the counter i. The exchange server 26 can compare the selected coupons ai and bi (as indicated by the double arrow line 220) to determine if they have the same flight information. In response to the determination that the coupons do not have the same flight information (i.e. ai f bi), the exchange server 26 may adjust the values of the operator a '\ de l 'set A' and of the operator b 'i of the set B * on true.

[00162] Le serveur d’échange 26 peut ensuite sélectionner le coupon le plus récent qui apparaît dans l’ordre chronologique dans chacun des ensembles A et B (par ex., le coupon a* de l’ensemble A et le coupon &4 de l’ensemble B), et comparer les coupons sélectionnés, comme indiqué par la ligne à double flèche 222. Parce que les informations de vol de chacun de ces coupons sont les mêmes, le serveur d’échange 26 peut déterminer que a» = Ô4. En réponse à la détermination selon laquelle at = 64, le serveur d’échange 26 peut par ailleurs déterminer si la valeur de l’opérateur 0'4 de l’ensemble A ' ou de l’opérateur b'4 de l’ensemble B’ est vraie. Parce que ni l’opérateur a'4 ni l’opérateur b’4 n’a été activé sur vrai, le serveur d’échange 26 peut régler la valeur de chacun de ces opérateurs sur fausse, ajouter un lien d* = («4, b^ à l’ensemble D, et incrémenter le compteur j à 1.The exchange server 26 can then select the most recent coupon which appears in chronological order in each of the sets A and B (for example, the coupon a * of the set A and the coupon & 4 of set B), and compare the selected coupons, as indicated by the double arrow line 222. Because the flight information for each of these coupons is the same, the exchange server 26 can determine that a "= Ô4 . In response to the determination that at = 64, the exchange server 26 may further determine whether the value of the operator 0'4 of the set A 'or of the operator b'4 of the set B is true. Because neither the operator a'4 nor the operator b'4 has been activated on true, the exchange server 26 can set the value of each of these operators to false, add a link d * = (" 4, b ^ to the set D, and increment the counter j to 1.

[00163] Le serveur d’échange 26 peut ensuite sélectionner le prochain coupon le plus récent dans l’ordre chronologique dans chacun des ensembles A et B (par ex., le coupon ai de l’ensemble A et le coupon by de l’ensemble B) sur la base de la valeur du compteurj, et comparer les coupons sélectionnés, comme indiqué par la ligne double flèche 224. Parce que les informations de vol de chacun de ces coupons sont les mêmes, et que ni l’opérateur a'3 ni l’opérateur b'3 n’a été réglé sur vrai, le serveur d’échange 26 peut régler la valeur de chacun des opérateurs sur fausse, ajouter un lien dy = (ay, by) à l’ensemble D, et incrémenter le compteur j à 2.The exchange server 26 can then select the next most recent coupon in chronological order in each of the sets A and B (for example, the coupon ai of the set A and the coupon by of the set B) on the basis of the value of the counter j, and compare the selected coupons, as indicated by the double arrow line 224. Because the flight information for each of these coupons is the same, and that neither the operator has' 3 neither the operator b'3 has been set to true, the exchange server 26 can set the value of each of the operators to false, add a link dy = (ay, by) to the set D, and increment counter j to 2.

[00164] Le serveur d’échange 26 peut ensuite sélectionner le prochain coupon le plus récent dans l’ordre chronologique dans chacun des ensembles A et B (par ex., le coupon ay de l’ensemble A et le coupon b? de l’ensemble B) basées sur la valeur du compteur J, et comparer 25 les coupons sélectionnés, comme indiqué par la ligne double flèche 226. En réponse à la détermination selon laquelle az f by, le serveur d’échange 26 peut activer les valeurs des opérateurs a j, a'y, b'i, et b'2 sur vraies, ajouter des liens d\ - (ai, bi) et d2 = (ay, bz) à l’ensemble D, et terminer l’analyse.The exchange server 26 can then select the next most recent coupon in chronological order in each of the sets A and B (for example, the coupon ay of the set A and the coupon b? Of l 'set B) based on the value of counter J, and compare 25 the selected coupons, as indicated by the double arrow line 226. In response to the determination that az f by, the exchange server 26 can activate the values of operators aj, a'y, b'i, and b'2 on true, add links d \ - (ai, bi) and d2 = (ay, bz) to the set D, and end the analysis.

[00165] La FIG. 16 représente une application du processus 130 décrit ci-dessus sur l’ensemble exemplaire 180 des coupons 182-185 et sur un ensemble exemplaire 230 des coupons 232-236 (par ex., ensemble B de coupons &i-às) d’un billet de réémission dans lequel les by et by remplacent le coupon ay.[00165] FIG. 16 shows an application of the process 130 described above on the exemplary set 180 of the coupons 182-185 and on an exemplary set 230 of the coupons 232-236 (e.g., set B of coupons & i-às) of a ticket in which the by and by replace the ay coupon.

[00166] Le serveur d’échange 26 peut commencer l’analyse en initialisant les compteurs et en sélectionnant les coupons les plus anciens ai et bi dans leurs ensembles A et B. Le serveur d’échange 26 peut comparer les coupons sélectionnés (comme indiqué par la ligne à double flèche 238), déterminer qu’ils ont les mêmes informations de vol, et qu’à la fois le coupon ai existe dans l’ensemble A, et le coupon bi existe dans l’ensemble B. En réponse à ces déterminations, le serveur d’échange 26 peut régler les valeurs de l’opérateur aj de l’ensemble A 'et de l’opérateur bf de l’ensemble B1 sur fausses, ajouter un lien di = (m, bi) à l’ensemble D, et incrémenter le compteur i à 2.The exchange server 26 can start the analysis by initializing the counters and selecting the oldest coupons ai and bi in their sets A and B. The exchange server 26 can compare the selected coupons (as indicated by the double arrow line 238), determine that they have the same flight information, and that both the coupon ai exists in set A, and the coupon bi exists in set B. In response to these determinations, the exchange server 26 can set the values of the operator aj of the set A 'and of the operator bf of the set B 1 to false, add a link di = (m, bi) to the set D, and increment the counter i to 2.

[00167] Le serveur d’échange 26 peut ensuite sélectionner le prochain coupon le plus ancien dans l’ordre chronologique dans chacun des ensembles A et B (par ex., le coupon ai de l’ensemble A et le coupon fe de l’ensemble B) sur la base de la valeur du compteur i, et comparer les coupons sélectionnés, comme indiqué par la ligne à double flèche 240. Parce que les informations de vol du coupon ai sont différentes des informations de vol du coupon bi, le serveur d’échange 26 peut déterminer que ai ψ bi. En réponse à cette détermination, le serveur d’échange 26 peut régler les valeurs de l’opérateur a'2 de l’ensemble A’ et de l’opérateur b‘2 de l’ensemble B’ sur vraies, sélectionner le coupon le plus récent qui apparaît dans l’ordre chronologique dans chacun des ensembles A et B (par ex., le coupon 04 de l’ensemble A et le coupon b$ de l’ensemble B), et comparer les coupons sélectionnés, comme indiqué par la ligne à double flèche 242.The exchange server 26 can then select the next oldest coupon in chronological order in each of the sets A and B (for example, the coupon ai of the set A and the coupon fe of the set B) on the basis of the value of the counter i, and compare the selected coupons, as indicated by the double arrow line 240. Because the flight information of the coupon ai is different from the flight information of the coupon bi, the server of exchange 26 can determine that ai ψ bi. In response to this determination, the exchange server 26 can set the values of the operator a'2 of the set A 'and of the operator b'2 of the set B' to true, select the coupon le most recent which appears in chronological order in each of sets A and B (e.g. coupon 04 of set A and coupon b $ of set B), and compare the selected coupons, as indicated by the double arrow line 242.

[00168] Parce que les informations de vol des coupons 04 et ôs sont les mêmes, le serveur d’échange 26 peut déterminer que a< = 65. En réponse à la détermination selon laquelle a< = bs, le serveur d’échange 26 peut par ailleurs déterminer si la valeur de l’opérateur a'4 de l’ensemble A ' ou de l’opérateur b’5, ou de l’ensemble B’ est vraie. Parce que ni l’opérateur af ni l’opérateur b's n’a été réglé sur vrai, le serveur d’échange 26 peut régler la valeur de chacun de ces opérateurs sur fausse, ajouter un lien d$ = (04, bs) à l’ensemble D, et incrémenter le compteur j à L [00169] Le serveur d’échange 26 peut ensuite sélectionner le prochain coupon le plus récent dans l’ordre chronologique dans chacun des ensembles A et B (par ex., le coupon az de l’ensemble A et le coupon 64 de l’ensemble B) sur la base de la valeur du compteur j, et comparer les coupons sélectionnés, comme indiqué par la ligne à double flèche 244. Parce que les informations de vol de chacun de ces coupons sont les mêmes, et parce que ni l’opérateur a'3 ni l’opérateur b'4 n’a été réglé sur vrai, le serveur d’échange 26 peut régler la valeur de chacun des opérateurs sur fausse, ajouter un lien d4 - (ai, 64) à l’ensemble D, et incrémenter le compteur j à 2.Because the flight information of coupons 04 and ôs are the same, the exchange server 26 can determine that a <= 65. In response to the determination that a <= bs, the exchange server 26 can also determine whether the value of the operator a'4 of the set A 'or of the operator b'5, or of the set B' is true. Because neither the operator af nor the operator b's has been set to true, the exchange server 26 can set the value of each of these operators to false, add a link d $ = (04, bs) to the set D, and increment the counter j to L [00169] The exchange server 26 can then select the next most recent coupon in chronological order in each of the sets A and B (for example, the coupon az from set A and coupon 64 from set B) based on the value of counter j, and compare the selected coupons, as indicated by the double arrow line 244. Because the flight information for each of these coupons are the same, and because neither the operator a'3 nor the operator b'4 has been set to true, the exchange server 26 can set the value of each of the operators to false, add a link d4 - (ai, 64) to the set D, and increment the counter j to 2.

[00170] Le serveur d’échange 26 peut ensuite sélectionner le prochain coupon le plus récent dans l’ordre chronologique dans chacun des ensembles J et B (par ex., le coupon ai deThe exchange server 26 can then select the next most recent coupon in chronological order in each of the sets J and B (for example, the coupon ai of

Γ ensemble A et le coupon bs de l’ensemble B) sur la base de la valeur du compteur J, et comparer les coupons sélectionnés, comme indiqué par la ligne à double flèche 246. En réponse à la détermination selon laquelle ai t bs, le serveur d’échange 26 peut régler les valeurs des opérateurs 0'2, b'2, et b'3 sur vraies, ajouter des liens ife = (<22, h) et «fe ~ («2, M à l’ensemble D, et terminer l’analyse.Γ set A and coupon bs of set B) on the basis of the value of counter J, and compare the selected coupons, as indicated by the double arrow line 246. In response to the determination that ai t bs, the exchange server 26 can set the values of the operators 0'2, b'2, and b'3 to true, add links ife = (<22, h) and "fe ~ (" 2, M to the set D, and complete the analysis.

[00171] La FIG. 17 représente une application du processus 130 décrit ci-dessus à l’ensemble 180 de coupons 182-185 et un ensemble exemplaire 250 de coupons 252-254 (par ex., ensemble B de coupons bi-63) d’un billet de réémîssion dans lequel le vol correspondant aux coupons m et 02 a été remplacé par un vol direct correspondant au coupon bi.[00171] FIG. 17 shows an application of the process 130 described above to the set 180 of coupons 182-185 and an exemplary set 250 of coupons 252-254 (e.g. set B of coupons bi-63) of a reissue ticket in which the flight corresponding to coupons m and 02 has been replaced by a direct flight corresponding to coupon bi.

[00172] Le serveur d’échange 26 peut initialiser les compteurs, sélectionner les coupons les plus anciens ai et bi dans les ensembles respectifs A et B, et comparer les coupons sélectionnés ai et bi, comme indiqué par la ligne à double flèche 256. En réponse à la détermination selon laquelle les coupons n’ont pas les mêmes informations de vol, le serveur d’échange 26 peut régler les valeurs de l’opérateur a'i de l’ensemble A' et de l’opérateur b'i de l’ensemble B1 sur vraies, sélectionner le coupon le plus récent qui apparaît dans l’ordre chronologique dans chacun des ensembles A et B (par ex., le coupon de l’ensemble A et le coupon b3 de l’ensemble B), et comparer les coupons sélectionnés, comme indiqué par la ligne à double flèche 258.The exchange server 26 can initialize the counters, select the oldest coupons ai and bi in the respective sets A and B, and compare the selected coupons ai and bi, as indicated by the double arrow line 256. In response to the determination that the coupons do not have the same flight information, the exchange server 26 can adjust the values of the operator a'i of the set A 'and of the operator b'i of the set B 1 on true, select the most recent coupon which appears in chronological order in each of the sets A and B (for example, the coupon of the set A and the coupon b3 of the set B ), and compare the selected coupons, as indicated by the double arrow line 258.

[00173] En réponse la détermination selon laquelle 04 = bs, le serveur d’échange 26 peut déterminer si la valeur de l’opérateur a 4 de l’ensemble A ' ou de l’opérateur b'3 de l’ensemble B' est vraie. Parce que ni l’opérateur a'4 ni l’opérateur b’3 n’a été activé sur vrai, le serveur d’échange 26 peut régler la valeur de chacun de ces opérateurs sur fausse, ajouter un lien 4» - («4,63) à l’ensemble D, et incrémenter le compteur j à 1.In response to the determination that 04 = bs, the exchange server 26 can determine whether the value of the operator a 4 of the set A 'or of the operator b'3 of the set B' is true. Because neither the operator a'4 nor the operator b'3 has been activated on true, the exchange server 26 can set the value of each of these operators to false, add a link 4 "- (" 4.63) to set D, and increment counter j to 1.

[00174] Le serveur d’échange 26 peut ensuite sélectionner le prochain coupon le plus récent dans l’ordre chronologique dans chacun des ensembles A et B (par ex., le coupon 03 de l’ensemble A et le coupon bz de l’ensemble B) sur la base de la valeur du compteur j, et comparer les coupons sélectionnés, comme indiqué par la ligne à double flèche 260. En réponse à la détermination selon laquelle as = bï, le serveur d’échange 26 peut déterminer si la valeur de l’opérateur a'3 de l’ensemble A' ou de l’opérateur b'2 de l’ensemble 5'est vraie. Parce que ni l’opérateur a'3 ni l’opérateur b’2 n’a été réglé sur vrai, le serveur d’échange 26 peut régler la valeur de chacun de ces opérateurs sur fausse, ajouter un lien dz = {as, bz) à l’ensemble D, et incrémenter le compteur J à 2.The exchange server 26 can then select the next most recent coupon in chronological order in each of the sets A and B (for example, the coupon 03 of the set A and the coupon bz of the set B) based on the value of the counter j, and compare the selected coupons, as indicated by the double arrow line 260. In response to the determination that as = bï, the exchange server 26 can determine whether the value of the operator a'3 of the set A 'or of the operator b'2 of the set 5 is true. Because neither the operator a'3 nor the operator b'2 has been set to true, the exchange server 26 can set the value of each of these operators to false, add a link dz = {as, bz) to the set D, and increment the counter J to 2.

[00175] Le serveur d’échange 26 peut ensuite sélectionner le prochain coupon le plus récent dans l’ordre chronologique dans chacun des ensembles A et B (par ex., le coupon az de l’ensemble A et le coupon bi de l’ensemble B) basées sur la valeur du compteur/, et comparer les coupons sélectionnés, comme indiqué par la ligne à double flèche 262. En réponse à la détermination selon laquelle azfbi, le serveur d’échange 26 peut régler les valeurs des opérateurs a'\, a'z, et b'i sur vraies, ajouter un lien dz = (c?, b\) à l’ensemble D, et terminer l’analyse.The exchange server 26 can then select the next most recent coupon in chronological order in each of the sets A and B (for example, the coupon az of the set A and the coupon bi of the set B) based on the value of the counter /, and compare the selected coupons, as indicated by the double arrow line 262. In response to the determination that azfbi, the exchange server 26 can adjust the values of the operators a ' \, a'z, and b'i on true, add a link dz = (c ?, b \) to the set D, and end the analysis.

[00176] La FIG. 18 représente une application du processus 130 décrit ci-dessus sur l’ensemble 180 des coupons 182-185 et un ensemble exemplaire 270 de coupons 272,274 (par ex., l’ensemble B de coupons bi-bi) dans un billet de réémission dans lequel le vol correspondant aux coupons ai et ai a été annulé.[00176] FIG. 18 shows an application of the process 130 described above on the set 180 of coupons 182-185 and an exemplary set 270 of coupons 272,274 (e.g., the set B of bi-bi coupons) in a reissue ticket in which the flight corresponding to coupons ai and ai has been canceled.

[00177] Le serveur d’échange 26 peut initialiser les compteurs, sélectionner les coupons ai et bi les plus anciens dans leurs ensembles respectifs A et B, et comparer les coupons sélectionnés ai et bi, comme indiqué par la ligne à double flèche 276. En réponse à la détermination selon laquelle les coupons n’ont pas les mêmes informations de vol, le serveur d’échange 26 peut régler les valeurs de l’opérateur a‘\ de l’ensemble A' et de l’opérateur b'i de l’ensemble B' sur vraies.The exchange server 26 can initialize the counters, select the oldest coupons ai and bi in their respective sets A and B, and compare the selected coupons ai and bi, as indicated by the double arrow line 276. In response to the determination that the coupons do not have the same flight information, the exchange server 26 can adjust the values of operator a '\ of set A' and operator b'i of the set B 'on true.

[00178] Le processus 130 peut ensuite sélectionner le coupon le plus récent qui apparaît dans l’ordre chronologique dans chacun des ensembles A et B (par ex., le coupon cm de l’ensemble A et le coupon bz de l’ensemble B), et comparer les coupons sélectionnés, comme représenté par la ligne à double flèche 278. En réponse à la détermination selon laquelle a# = bz, le serveur d’échange 26 peut déterminer si la valeur de l’opérateur a'* de l’ensemble A ' ou de l’opérateur b'z de l’ensemble B' est vraie. Parce que ni l’opérateur a\ ni l’opérateur b'2 n’a été réglé sur vrai, le serveur d’échange 26 peut activer la valeur de chacun de ces opérateurs sur fausse, ajouter un lien dt = (cm, fe) à l’ensemble D, et incrémenter le compteur j à L [00179] Le serveur d’échange 26 peut ensuite sélectionner le prochain coupon le plus récent dans l’ordre chronologique dans chacun des ensembles A et B (par ex., le coupon az de l’ensemble A et le coupon bi de l’ensemble B) basé sur la valeur du compteur f et comparer les coupons sélectionnés, comme représenté par la ligne à double flèche 280. Le serveur d’échange 26 peut déterminer que les informations de vol pour chacun de ces coupons sont les mêmes. Cependant, le serveur d’échange 26 peut par ailleurs déterminer que l’opérateur b' 1 a été réglé sur vrai, suite à la comparaison précédente avec le coupon ai. En réponse à la détermination selon laquelle l’opérateur b' \ a été réglé sur vrai, le serveur d’échange 26 peut régler l’opérateur b’ 1 sur faux, régler la valeur des opérateurs n'i et a’z sur vraie, ajouter des liens di = (ai, 0), dz = (ai, 0), et dz = (03, bi) à l’ensemble D, et terminer l’analyse.The process 130 can then select the most recent coupon which appears in chronological order in each of the sets A and B (for example, the coupon cm of the set A and the coupon bz of the set B ), and compare the selected coupons, as represented by the double arrow line 278. In response to the determination that a # = bz, the exchange server 26 can determine whether the value of the operator a '* of the set A 'or the operator b'z of set B' is true. Because neither the operator a \ nor the operator b'2 has been set to true, the exchange server 26 can activate the value of each of these operators on false, add a link dt = (cm, fe ) to the set D, and increment the counter j to L [00179] The exchange server 26 can then select the next most recent coupon in chronological order in each of the sets A and B (for example, the coupon az of set A and coupon bi of set B) based on the value of counter f and compare the selected coupons, as represented by the double arrow line 280. The exchange server 26 can determine that the flight information for each of these coupons is the same. However, the exchange server 26 can also determine that the operator b '1 has been set to true, following the previous comparison with the coupon ai. In response to the determination that the operator b '\ has been set to true, the exchange server 26 may set the operator b' 1 to false, set the value of the operators n'i and a'z to true , add links di = (ai, 0), dz = (ai, 0), and dz = (03, bi) to the set D, and end the analysis.

[00180] Une fois que les coupons interrompus dans le billet parent et leur coupon de remplacement correspondant dans le billet de réémission ont été identifiés et reliés, le serveur d’échange 26 peut stocker ces informations dans un enregistrement de bases de données pour une utilisation intérieure. Cependant, les enregistrements de billets et les dossiers de réservation peuvent être requis pour respecter certains formats standards, de sorte que la compatibilité soit maintenue entre divers transporteur, agence de voyages et systèmes GDS. Par conséquent, il est impossible d’ajouter de nouveaux types de données ou autrement de modifier les enregistrements de billets et les dossiers de réservation pour stocker les données non standards supplémentaires générées par le serveur d’échange 26.Once the coupons interrupted in the parent ticket and their corresponding replacement coupon in the reissue ticket have been identified and linked, the exchange server 26 can store this information in a database record for use interior. However, ticket records and booking records may be required to meet certain standard formats, so that compatibility is maintained between various carriers, travel agencies and GDS systems. Therefore, it is not possible to add new types of data or otherwise modify ticket records and reservation records to store additional non-standard data generated by the exchange server 26.

[00181] Afin de fournir un enregistrement pour stocker les informations non standard générées par le serveur d’échange 26, des modes de réalisation de l’invention peuvent utiliser des enregistrements de transition. Les enregistrements de transition peuvent inclure des champs de données qui sont utilisés par le serveur d’échange 26 pour suivre l’ancien composant tarifaire et la donnée de coupons, et ils peuvent comprendre un nouveau type d’enregistrement de bases de données qui est utilisé par le serveur d’échange 26 pour pourvoir diverses caractéristiques des modes de réalisation de la présente invention. Les enregistrements de transition peuvent stocker des informations qui pourvoient un historique des échanges dans son intégralité d’un billet de réémission. Les informations stockées dans un enregistrement de transaction peuvent être associées à un dossier de réservation spécifique et peuvent inclure une copie de chaque coupon de l’itinéraire actuel ainsi que des informations sur les tarifs et sur les coupons provenant de tout coupon des billets tarifés et achetés à l’origine qui sont liés à un coupon de Γitinéraire actuel.In order to provide a record for storing the non-standard information generated by the exchange server 26, embodiments of the invention can use transition records. Transition records may include data fields which are used by the exchange server 26 to track the old tariff component and coupon data, and they may include a new type of database record which is used by the exchange server 26 to provide various characteristics of the embodiments of the present invention. Transition records may store information that provides a complete exchange history of a reissue ticket. Information stored in a transaction record may be associated with a specific booking file and may include a copy of each coupon on the current route as well as fare and coupon information from any coupon on fare and purchased tickets which are linked to a coupon from the current route.

[00182] La FIG. 19 représente un enregistrement de transition exemplaire 300 conformément à un mode de réalisation de l’invention qui inclut un indice de structure tarifaire 302 est un indice d'interruption 304. L’enregistrement de transition 300 peut également inclure des signaux (non indiqués) montrant le processus qui a généré l’enregistrement, et si l’enregistrement de transition 300 a été généré sur la base de plusieurs billets originaux.[00182] FIG. 19 shows an exemplary transition record 300 in accordance with an embodiment of the invention which includes a rate structure index 302 is an interruption index 304. The transition record 300 may also include signals (not shown) showing the process which generated the record, and whether the transition record 300 was generated on the basis of several original tickets.

[00183] L ’indice de structure tarifaire 302 peut stocker des données décrivant le billet émis à l’origine avant tout échange, notamment des détails sur les composants tarifaires et les coupons du billet original. Ces données peuvent ne pas être modifiées par le processus d’échange, sauf pour l’ajout de signaux d’interruption qui peuvent être mis à jour après chaque échange. L’indice de structure tarifaire 302 peut par là même permettre au système de gestion de base de données 12 de procéder à des échanges du billet sans récupérer le billet original dans la base de données de billets 20.The tariff structure index 302 can store data describing the ticket originally issued before any exchange, in particular details on the tariff components and the coupons of the original ticket. This data may not be modified by the exchange process, except for the addition of interrupt signals which can be updated after each exchange. The tariff structure index 302 can thereby allow the database management system 12 to exchange the ticket without retrieving the original ticket from the ticket database 20.

[00184] L’indice de structure tarifaire 302 peut inclure des éléments tarifaires 310,312 et des éléments de produit 314,316. Chaque élément tarifaire 310,312 peut stocker une donnée tarifaire pour un coupon du billet original et peut être lié à un élément de produit correspondant 314,316 pour définir une structure de données 315,317. Chaque élément de produit peut stocker la donnée identifiant le billet et le coupon correspondant à l’élément tarifaire auquel l’élément de produit est lié. L’indice de structure tarifaire 302 peut également contenir des données tarifaires et fiscales de base du produit acheté à l’origine.The tariff structure index 302 may include tariff elements 310,312 and product elements 314,316. Each tariff element 310,312 can store tariff data for a coupon of the original ticket and can be linked to a corresponding product element 314,316 to define a data structure 315,317. Each product element can store the data identifying the ticket and the coupon corresponding to the tariff element to which the product element is linked. Tariff structure index 302 may also contain basic tariff and tax data for the product originally purchased.

[00185] L’indice d’interruption 304 peut pourvoir un mappage d’échange pour chaque coupon basé sur la donnée d’un ou de plusieurs indices d’échange, et peut être mis à jour chaque fois qu’un billet est échangé. En permettant au système de gestion de bases de données 12 de faire correspondre les coupons du billet de réémission avec les coupons correspondants du billet original et avec tout autre billet parent d’intervention, l’indice d’interruption 304 peut permettre le traitement ultérieur de billets de réémission qui serait impossible en utilisant des systèmes n’ayant pas cette caractéristique.The interruption index 304 can provide an exchange mapping for each coupon based on the data of one or more exchange indices, and can be updated each time a ticket is exchanged. By allowing the database management system 12 to match the coupons of the reissue ticket with the corresponding coupons of the original ticket and with any other parent intervention ticket, the interruption index 304 may allow the subsequent processing of reissue tickets which would be impossible using systems not having this feature.

[00186] L’indice d’interruption 304 peut inclure un ou plusieurs tableaux 318-320, chacun définissant un ensemble d’éléments de données liés. Chaque tableau 318-320 peut inclure un élément de coupon 322-324 correspondant à un champ de coupon d’un billet parent, et un élément de coupon 326-328 correspondant à un champ de coupon d’un billet de réémission.The interruption index 304 can include one or more tables 318-320, each defining a set of linked data elements. Each table 318-320 can include a coupon element 322-324 corresponding to a coupon field of a parent ticket, and a coupon element 326-328 corresponding to a coupon field of a reissue ticket.

Les tableaux 318-320 peuvent être disposés à l’intérieur de l’indice d’interruption 304 comme une série de tableaux ordonnés à partir du tableau le plus ancien (par ex., le tableau ayant les éléments de données correspondant aux coupons avec l’heure de départ la plus éloignée) au tableau le plus récent (par ex., le tableau ayant l’élément de données correspondant aux coupons avec l’heure de départ la plus proche).Tables 318-320 can be arranged inside the interruption index 304 as a series of tables ordered from the oldest table (e.g., the table having the data elements corresponding to the coupons with l 'most distant start time) at the most recent table (e.g. the table with the data element corresponding to the coupons with the nearest departure time).

[00187] Les éléments de coupon 322-324 peuvent correspondre aux coupons de l’ensemble A, les éléments de coupon 326-328 peuvent correspondre aux coupons de l’ensemble B, et les liens entre les éléments de coupon peuvent être définis par des liens d de l’ensemble D d’un indice d'interruption correspondant généré en association avec l’échange 30 d’un billet parent (par ex., TKT-001 ) contre un billet de réémission (par ex., TKT-002). Les éléments de coupon associés à une interruption (par ex., les éléments de coupon 322 et 323) peuvent être marqués comme interrompus. Le statut des éléments de coupon peut être défini en activant la valeur d’un opérateur associé a'e et/ou b'h sur vraie (interrompue) ou fausse (non interrompue) dans l’ensemble A ' et/ou l’ensemble B' de l’indice d’échange correspondant.The coupon elements 322-324 can correspond to the coupons of the set A, the coupon elements 326-328 can correspond to the coupons of the set B, and the links between the coupon elements can be defined by links d of set D of a corresponding interruption index generated in association with the exchange 30 of a parent ticket (e.g. TKT-001) for a reissue ticket (e.g. TKT-002 ). Coupon items associated with an interruption (eg, coupon elements 322 and 323) can be marked as interrupted. The status of the coupon elements can be defined by activating the value of an operator associated with ' e and / or b'h on true (interrupted) or false (not interrupted) in set A' and / or set B 'of the corresponding exchange index.

[00188] Par exemple, l’enregistrement de transition 300 peut être décrit conformément à l’échange de billet exemplaire TKT-001 contre le billet TKT-002, comme décrit ci-dessus concernant les FIGS. 3-6. Dans cet exemple, l’élément tarifaire 310 peut stocker la donnée définissant les informations tarifaires du coupon Cl du billet TKT-001. Les informations tarifaires peuvent inclure le tarif (par ex., 80 USD) et un statut de signal (par ex., « * ANCIENy>) indiquant que le tarif a été défini pour un coupon qui a été échangé. L’élément de produit associé 314 peut stocker la donnée définissant les informations produit du produit échangé, par ex. la donnée identifiant le segment spécifique pour lequel le coupon Cl du billet TKT-001 aurait pu être utilisé pour obtenir une carte d’embarquement. L’élément de produit 314 peut également inclure un signal de statut indiquant que le produit a été interrompu (par ex., *INT).For example, the transition record 300 can be described in accordance with the exchange of exemplary ticket TKT-001 for ticket TKT-002, as described above with regard to FIGS. 3-6. In this example, the tariff element 310 can store the data defining the tariff information of the coupon C1 of the ticket TKT-001. Pricing information may include the fare (eg, $ 80) and a signal status (eg, "* ANCIENy>) indicating that the fare has been set for a coupon that has been redeemed. The associated product element 314 can store the data defining the product information of the exchanged product, e.g. the data identifying the specific segment for which the coupon C1 of the ticket TKT-001 could have been used to obtain a boarding pass. Product element 314 may also include a status signal indicating that the product has been discontinued (e.g., * INT).

[00189] L’élément de donnée le plus récent 326-328 dans chaque tableau 318-321 peut stocker une donnée qui définit les détails qui font partie de l’itinéraire actuel, et peuvent être utilisés pour définir un billet hybride. Les coupons dans le billet hybride peuvent avoir une correspondance un par un avec le billet de réémission dans la base de données de billets en cas d'un échange complet ou peuvent contenir des coupons dans chacun des billets multiples dans la base de données de billets 20 en cas d’un échange partiel.The most recent data item 326-328 in each table 318-321 can store data that defines the details that are part of the current route, and can be used to define a hybrid ticket. The coupons in the hybrid ticket can have a one-to-one correspondence with the reissue ticket in the ticket database in case of a full exchange or can contain coupons in each of the multiple tickets in the ticket database 20 in the event of a partial exchange.

[00190] Dans l’exemple actuel, l’élément de coupon 326 peut inclure des données identifiant le coupon Ci du billet TKT-002, qui a peut-être été émis en échange du coupon Cl du billet TKT-001. Par conséquent, l’élément de coupon 326 peut être lié à l’élément de coupon 322, qui peut inclure la donnée identifiant le coupon Cl du billet TKT-001, et qui peut être marqué comme correspondant à Γ interruption.In the current example, the coupon element 326 can include data identifying the coupon Ci of the ticket TKT-002, which may have been issued in exchange for the coupon C1 of the ticket TKT-001. Consequently, the coupon element 326 can be linked to the coupon element 322, which can include the data identifying the coupon C1 of the ticket TKT-001, and which can be marked as corresponding to Γ interruption.

[00191] L’élément de coupon 327 peut inclure une donnée identifiant le coupon exemplaire C2 du billet TKT-002, qui a également été émis en échange du coupon Cl du billet TKT-001. En conséquence, l’élément de coupon 327 peut être lié à l’élément de coupon 323, qui peut également inclure la donnée identifiant le coupon Cl du billet TKT-001 et être marqué comme correspondant à l’interruption. L’élément de coupon 328 peut inclure la donnée identifiant le coupon exemplaire C3 du billet TKT-002 qui a été émis en échange du coupon C2 du billet TKT-001. En conséquence, l’élément de coupon 328 peut être lié à l’élément de coupon 324, qui peut inclure la donnée identifiant le coupon C2 du billet TKT001. Cependant, parce que le coupon C2 ne correspond pas à l’interruption qui a déclenché l’échange du billet TKT-001 contre le billet TKT-002, l’élément de coupon 324 ne peut pas contenir un signal indiquant que le coupon C2 du billet TKT-001 est associé à Γ interruption. Collectivement, les tableaux 318-320 d'un indice d’interruption 304 peuvent pourvoir un historique des échanges des coupons comprenant l’itinéraire actuel du voyageur.The coupon element 327 can include data identifying the exemplary coupon C2 of the ticket TKT-002, which was also issued in exchange for the coupon C1 of the ticket TKT-001. Consequently, the coupon element 327 can be linked to the coupon element 323, which can also include the data identifying the coupon C1 of the ticket TKT-001 and be marked as corresponding to the interruption. The coupon element 328 can include the data identifying the exemplary coupon C3 of the ticket TKT-002 which was issued in exchange for the coupon C2 of the ticket TKT-001. Consequently, the coupon element 328 can be linked to the coupon element 324, which can include the data identifying the coupon C2 of the ticket TKT001. However, because coupon C2 does not correspond to the interruption that triggered the exchange of ticket TKT-001 for ticket TKT-002, coupon element 324 cannot contain a signal indicating that coupon C2 of the ticket TKT-001 is associated with Γ interruption. Collectively, tables 318-320 of an interruption index 304 can provide a history of coupon exchanges including the current itinerary of the traveler.

[00192] Suite à l’interruption qui a donné lieu à l’échange du billet TKT-001 contre le billet TKT-002, une autre interruption peut survenir. En réponse à cette interruption survenant plus tard, un agent du transporteur ou une application de réaccommodation automatique peut modifier Γ itinéraire en substituant un ou des segment(s) de remplacement à un ou des segment(s) interrompu(s). Par exemple, si le segment Paris/New York réservé par le segment S3 du dossier de réservation 89DRGH comme indiqué à l’image 61 (FIG. 5) est annulé (par ex., en raison d’une défaillance mécanique ou de membres d’équipage manquants), le segment S3 peut être remplacé par un autre vol.Following the interruption which gave rise to the exchange of the TKT-001 ticket for the TKT-002 ticket, another interruption may occur. In response to this later interruption, a carrier agent or an automatic reshuffle application may modify the route by substituting a replacement segment (s) for one or more interrupted segment (s). For example, if the Paris / New York segment reserved by the S3 segment of the 89DRGH reservation file as shown in Figure 61 (FIG. 5) is canceled (eg, due to mechanical failure or members of the missing crew), the S3 segment can be replaced by another flight.

[00193] La FIG. 20 représente une image 63 d’un dossier de réservation mis à jour 89DRGH, une image 93 d’un billet mis à jour TKT-002, et une image 340 d’un billet de réémission TKT-003, qui ont peut-être été émis en échange d’un billet TKT-002. Comme indiqué par l’image 63, le champ de segments 330 et le champ de segments 332 du dossier de réservation 89DRGH définissent les segments S3 et S4, qui ont remplacé le segment interrompu S3 en un champ de segment 69 du dossier de réservation 89DRGH comme indiqué par l’image 61.[00193] FIG. 20 shows an image 63 of an updated reservation file 89DRGH, an image 93 of an updated ticket TKT-002, and an image 340 of a reissue ticket TKT-003, which may have been issued in exchange for a TKT-002 ticket. As shown in picture 63, the segment field 330 and the segment field 332 of the reservation file 89DRGH define the segments S3 and S4, which have replaced the interrupted segment S3 in a segment field 69 of the reservation file 89DRGH as indicated by image 61.

[00194] L’image de billet 340 peut inclure un champ de numéro de billet 342 qui contient 20 la donnée identifiant le billet (par ex., TKT-003), un champ de localisateur d’enregistrement 344, un champ de nom de passager 346, plusieurs champs de coupon 348351, et plusieurs champs de composants tarifaires 356-359. Chacun des coupons Cl-C4 peut correspondre à un segment respectif SI-S4 défini dans le dossier de réservation mis à jour 89DRGH comme représenté à l’image 63. Parce que le changement est involontaire, le tarif total peut à nouveau demeurer inchangé par rapport au vol réservé initialement.The ticket image 340 may include a ticket number field 342 which contains the data identifying the ticket (eg, TKT-003), a record locator field 344, a name field of passenger 346, multiple coupon fields 348351, and multiple fare component fields 356-359. Each of the coupons Cl-C4 can correspond to a respective segment SI-S4 defined in the updated booking file 89DRGH as shown in image 63. Because the change is involuntary, the total price may again remain unchanged from on the flight originally booked.

[00195] Suite à l’échange, les enregistrements du billet parent correspondant dans la base de données de billets 20 peuvent être mis à jour pour refléter le statut actuel de chaque coupon. Par exemple, le tarif total des coupons de remplacement C3 et C4 sur le billet TKT003 peut être défini à 80 USD pour maintenir le tarif total au prix du billet à l’origine, et le statut des coupons C1, C2 et C3 dans le billet parent TKT-002 peut être défini par « E » pour indiquer que les coupons ont été échangés. Le billet original TKT-001 peut demeurer inchangé, auquel cas le billet TKT-001 peut demeurer comme représenté par F image 71 (FIG. 6). Une fois que le billet de réémission TKT-003 a été émis, le serveur d’échange 26 peut analyser les enregistrements de billets, générer un indice d’échange, et mettre à jour l’enregistrement de transition 300 pour refléter les changements.Following the exchange, the records of the corresponding parent ticket in the ticket database 20 can be updated to reflect the current status of each coupon. For example, the total price of replacement coupons C3 and C4 on the TKT003 ticket can be set to $ 80 to maintain the total price at the original ticket price, and the status of coupons C1, C2 and C3 in the ticket parent TKT-002 can be defined by "E" to indicate that the coupons have been redeemed. The original TKT-001 ticket may remain unchanged, in which case the TKT-001 ticket may remain as shown in picture 71 (FIG. 6). Once the reissue ticket TKT-003 has been issued, the exchange server 26 can analyze the ticket records, generate a trade index, and update the transition record 300 to reflect the changes.

[00196] La FIG. 21 représente la manière dont l'enregistrement de transition 300 peut apparaître après l’émission du billet TKT-003 conformément à l’exemple ci-dessus. Dans le mode de réalisation exemplaire représenté, l’indice d’interruption 304 inclut de nouveaux éléments de coupon 360-363 qui contiennent des données identifiant les coupons qui ont été émis pour remplacer les coupons du billet TKT-002. Chaque élément de coupon 360-363 peut être associé à un tableau correspondant 318-321 qui fournit un historique des échanges de l’élément de coupon associé 360-363. Les éléments de coupon 328 et 329 peuvent inclure un signal d’interruption pour indiquer que ces coupons correspondent à l’interruption la plus récente ou à la dernière interruption.[00196] FIG. 21 shows how the transition record 300 may appear after the issue of ticket TKT-003 in accordance with the example above. In the exemplary embodiment shown, the interruption index 304 includes new coupon elements 360-363 which contain data identifying the coupons which have been issued to replace the coupons of the TKT-002 ticket. Each coupon element 360-363 can be associated with a corresponding table 318-321 which provides a history of the exchanges of the associated coupon element 360-363. Coupon elements 328 and 329 may include an interrupt signal to indicate that these coupons correspond to the most recent interruption or the last interruption.

[00197] Les éléments tarifaires 310, 312 et les éléments de produit 314,316 peuvent stocker une donnée supplémentaire non indiquée aux FIGS. 19 et 21. Des types supplémentaires de données qui peuvent être stockées dans les éléments tarifaires 310,312 peuvent inclure des données qui identifient ou définissent un nombre de composants tarifaires, un tarif de base, un nombre de points de fidélité, un lieu d’origine, une destination, un indicateur de voyage, un code tarifaire de base et un désignateur de billet, un code tarifaire familial et un propriétaire, des frais d’installation de passagers, des taxes, et/ou d’autres frais. Les types de données supplémentaires qui peuvent être stockées dans les éléments de produit 314,316 peuvent inclure un numéro de coupon, un numéro de vol, un code de compagnie aérienne en exploitation, une classe de réservation, des codes d’aéroport pour les aéroports de départ et d’arrivée, les heures de départ et d’arrivée, un numéro de billet original et la présence ou l’absence du signal d’interruption. Les éléments de produit 314,316 peuvent inclure tous les segments impliqués dans le calcul tarifaire du billet original, notamment les segments qui ont été parcourus.The tariff elements 310, 312 and the product elements 314,316 can store additional data not shown in FIGS. 19 and 21. Additional types of data which may be stored in tariff elements 310,312 may include data which identify or define a number of tariff components, a basic tariff, a number of loyalty points, a place of origin, a destination, travel indicator, basic fare code and ticket designator, family fare code and owner, passenger installation fees, taxes, and / or other fees. Additional data types that can be stored in product elements 314,316 may include a coupon number, flight number, operating airline code, booking class, airport codes for departure airports and arrival, departure and arrival times, an original ticket number and the presence or absence of the interruption signal. The elements of product 314,316 can include all the segments involved in the tariff calculation of the original ticket, in particular the segments which have been covered.

[00198] En réponse à une entrée indiquant qu’un utilisateur souhaite voir un billet, une application client fonctionnant sur le système utilisateur 14 peut transmettre une interrogation d’affichage au système de gestion de bases de données 12. En réponse à la réception de l’interrogation, le système de gestion de bases de données 12 peut interroger la base de données de billets 20 pour obtenir un billet identifié lors de l’interrogation, et/ou la base de données d’enregistrements de transition 28 pour obtenir un enregistrement de transition correspondant au billet. Le système de gestion de bases de données 12 peut utiliser la donnée de l’enregistrement de transition pour enrichir la donnée de l’enregistrement du billet, et transmettre une réponse à l’application client.In response to an entry indicating that a user wishes to see a ticket, a client application operating on the user system 14 can transmit a display query to the database management system 12. In response to the reception of the interrogation, the database management system 12 can interrogate the ticket database 20 to obtain a ticket identified during the interrogation, and / or the transition record database 28 to obtain a registration of transition corresponding to the ticket. The database management system 12 can use the data from the transition record to enrich the data from the ticket record, and transmit a response to the client application.

[00199] La FIG. 22 représente une image 370 de TKT-001 et une image 400 de TKT-002 qui peuvent être affichées en réponse à la réception d’interrogations d’affichage par le système de gestion de bases de données 12. Par exemple, une interrogation d’affichage du billet TKT-001 transmise avant l’échange contre le billet TKT-002 peut amener le système utilisateur 14 à afficher l’image 370 du billet TKT-001. L’image du billet affiché 370 inclut un champ de numéro de billet 372, un champ de localisateur d’enregistrement 374, un champ de nom de passager 376, des champs de coupon 378,379, une ligne de calcul tarifaire 382, et des champs de composants tarifaires 384, 386.[00199] FIG. 22 represents an image 370 of TKT-001 and an image 400 of TKT-002 which can be displayed in response to the reception of display interrogations by the database management system 12. For example, an interrogation of display of the TKT-001 ticket transmitted before the exchange for the TKT-002 ticket can cause the user system 14 to display the image 370 of the TKT-001 ticket. The image of the displayed ticket 370 includes a ticket number field 372, a check locator field 374, a passenger name field 376, coupon fields 378,379, a fare calculation line 382, and tariff components 384, 386.

[00200] Si le système de gestion de bases de données 12 reçoit une interrogation d’affichage des billets émis à partir du dossier de réservation 89DRGH après l’échange causé par l’interruption du vol AF7711 de Nice à Paris, le système de gestion de bases de données 12 peut amener le système utilisateur 14 à afficher l’image du billet 400. Les portions soulignées de l’image du billet 400 peuvent représenter des informations ajoutées à l’image du billet 400 qui ont été générées sur la base de la donnée provenant de l’enregistrement de 15 transition 300. L’image du billet affichée 400 inclut un champ de numéros de billet 402, un champ de localisateur d’enregistrement 404, un champ de nom de passager 406, des champs de coupon 408-410, une ligne de calcul du tarif 414, et des champs de composants tarifaires 416,418. L’image du billet 400 peut également inclure les champs de coupon de billet original 420,422 qui fournissent des informations relatives au billet émis et tarifé à l’origine. Ces champs 420, 422 peuvent pourvoir des composants tarifaires structurés et d’anciennes informations de vol parcouru avec les détails de coupon.If the database management system 12 receives a display query for tickets issued from the 89DRGH reservation file after the exchange caused by the interruption of flight AF7711 from Nice to Paris, the management system of databases 12 can cause the user system 14 to display the image of the ticket 400. The underlined portions of the image of the ticket 400 may represent information added to the image of the ticket 400 which has been generated on the basis of data from the transition record 300. The displayed ticket image 400 includes a ticket number field 402, a check locator field 404, a passenger name field 406, coupon fields 408 -410, a tariff calculation line 414, and tariff component fields 416,418. The ticket image 400 may also include the original ticket coupon fields 420,422 which provide information relating to the ticket originally issued and priced. These fields 420, 422 can provide structured price components and old flight information with coupon details.

[00201] L’image affichée 400 peut inclure des informations ajoutées aux champs de coupon 408 et 409, par ex. « (INT TKT-001 Cl)». Ces informations peuvent lier le présent au coupon interrompu qu’il remplace. Par exemple, les informations ajoutées aux coupons Cl et 25 C2 de TKT-002 peuvent indiquer que les coupons ont été émis pour remplacer le coupon interrompu du billet TKT-001. Les données (par ex., « FOR TKT-001 Cl », « FOR TKT-001 C2 ») peuvent également être ajoutées aux champs de composant tarifaire 416,418 pour indiquer la source du tarif.The displayed image 400 may include information added to the coupon fields 408 and 409, e.g. "(INT TKT-001 Cl)". This information may link this to the discontinued coupon it replaces. For example, the information added to coupons C1 and C2 of TKT-002 may indicate that the coupons were issued to replace the interrupted coupon of the ticket TKT-001. Data (eg, "FOR TKT-001 Cl", "FOR TKT-001 C2") can also be added to the tariff component fields 416.418 to indicate the source of the tariff.

[00202] La FIG. 23 représente une image 430 de TKT-003 qui peut être affichée en réponse à la réception d’une interrogation d’affichage par le système de gestion de bases de données 12, suite à l’échange du billet TKT-002 contre TKT-003 causé par l’interruption du vol Paris/New York. Comme avec la FIG. 22, les portions soulignées de l’image 430 peuvent représenter des informations ajoutées à l’image du billet 430 sur la base de la donnée de l’enregistrement de transition 300. L’image du billet affichée 430 peut inclure un champ de numéro du billet 432, un champ de localisateur d’enregistrement 434. un champ de nom de passager 436, des champs de coupon 438-441, un champ de calcul tarifaire 446, des champs de composants tarifaires 448,450, et des champs de donnée de coupon du billet original 452, 454.[00202] FIG. 23 represents an image 430 of TKT-003 which can be displayed in response to the reception of a display query by the database management system 12, following the exchange of the ticket TKT-002 for TKT-003 caused by the interruption of the Paris / New York flight. As with FIG. 22, the underlined portions of the image 430 can represent information added to the image of the ticket 430 on the basis of the data of the transition record 300. The image of the displayed ticket 430 can include a number field of the ticket 432, check-in locator field 434. passenger name field 436, coupon fields 438-441, fare calculation field 446, fare component fields 448.450, and coupon data fields of the original post 452, 454.

[00203] La donnée ajoutée reliant chaque coupon de TKT-003 aux coupons interrompus des billets TKT-001 et TKT-002 peut pourvoir un historique des échanges du coupon respectif. Par exemple, la donnée de liaison ajoutée au coupon Cl dans le champ de coupon 438 peut informer l’utilisateur que le coupon est valable pour le même segment que le coupon Cl du billet TKT-002. qui à son tour était un coupon de remplacement du coupon interrompu Cl du billet TKT-001. La donnée de liaison ajoutée au coupon C2 dans le champ de coupon 439 peut informer l’utilisateur que le coupon est valable pour le même segment que le coupon C2 du billet TKT-002, qui à son tour était un coupon de remplacement du coupon interrompu Cl du billet TKT-001. La donnée de liaison ajoutée aux coupons C3 et C4 dans les champs de coupon 440 et 441 peut informer Γutilisateur que chacun de ces coupons remplace le coupon C3 du billet TKT-002, qui à son tour était un coupon du même segment que le coupon C2 du billet TKT-001.The added data connecting each coupon of TKT-003 to the interrupted coupons of tickets TKT-001 and TKT-002 can provide a history of exchanges of the respective coupon. For example, the link data added to the coupon C1 in the coupon field 438 can inform the user that the coupon is valid for the same segment as the coupon C1 of the ticket TKT-002. which in turn was a replacement coupon for the discontinued coupon C1 of ticket TKT-001. The link data added to the coupon C2 in the coupon field 439 can inform the user that the coupon is valid for the same segment as the coupon C2 of the ticket TKT-002, which in turn was a coupon to replace the interrupted coupon Ticket TKT-001 key. The link data added to coupons C3 and C4 in coupon fields 440 and 441 can inform the user that each of these coupons replaces coupon C3 of ticket TKT-002, which in turn was a coupon of the same segment as coupon C2 of ticket TKT-001.

[00204] Les images de billet enrichi peuvent être plus complexes que les images de billet standard pour se conformer aux nonnes IATA, la présence de données non standard peut causer des problèmes avec certaines applications. Par exemple, en associant les composants 20 tarifaires aux coupons originaux, une image de billet enrichi peut causer des problèmes de compatibilité avec des systèmes requis pour attribuer une valeur monétaire à chaque segment. Par exemple, un système de contrôle de départ (DCS) pourrait être requis pour pourvoir une valeur monétaire à chaque segment sur le billet exemplaire TKT-003 ci-dessus. Cependant, parce que les composants tarifaires du billet TKT-003 sont liés aux coupons originaux Cl et 25 C2 de TKT-001, certains systèmes peuvent être incapables de traiter le billet enrichi.Enhanced ticket images can be more complex than standard ticket images to comply with IATA standards, the presence of non-standard data can cause problems with certain applications. For example, by associating fare components with the original coupons, an enriched ticket image can cause compatibility issues with systems required to assign a monetary value to each segment. For example, a departure control system (DCS) may be required to provide a monetary value for each segment on the exemplary TKT-003 above. However, because the fare components of the TKT-003 ticket are linked to the original C1 and C2 coupons of TKT-001, some systems may be unable to process the enriched ticket.

[00205] Pour permettre aux images de billet enrichi d’être utilisées par les systèmes ayant des problèmes de compatibilité, le serveur d’échange 26 peut être configuré pour masquer certaines portions d’une image de billet enrichi en réponse à la détermination selon laquelle un système demandeur est incompatible avec l’image de billet enrichi. Le serveur d’échange 26 peut déterminer quand masquer une image de billet enrichi, par exemple, sur la base de l’identité du système demandeur, et/ou un champ de donnée dans l’interrogation, par ex., si un signal « vue standard uniquement » est défini dans l’interrogation. L'algorithme de masquage peut créer une version simplifiée de l’image de billet enrichi en utilisant les liens d’interruption stockés dans l’enregistrement de transition. Ces liens peuvent permettre au serveur d’échange 26 d’associer des composants tarifaires stockés dans le champ de composant tarifaire aux segments actuels.To allow the enriched ticket images to be used by systems having compatibility problems, the exchange server 26 can be configured to mask certain portions of an enriched ticket image in response to the determination that a requesting system is incompatible with the enriched ticket image. The exchange server 26 can determine when to mask an enriched ticket image, for example, based on the identity of the requesting system, and / or a data field in the query, eg, if a signal " standard view only ”is defined in the query. The masking algorithm can create a simplified version of the rich ticket image using the trap links stored in the transition record. These links can allow the exchange server 26 to associate the tariff components stored in the tariff component field with the current segments.

[00206] La FIG. 24 représente une image de billet masqué 460 qui peut être générée à partir de l’image de billet enrichi 430. Le serveur d’échange 26 peut déterminer à partir des liens définis par la donnée ajoutée à la portion droite du champ de coupon 438 dans l’image 430 que le coupon Cl du billet TKT-003 est lié à Cl du billet TKT-001. Le serveur d’échange 26 peut par ailleurs déterminer, sur la base de la donnée dans le champ de composant tarifaire structuré 448 ajouté à la partie inférieure de l’image de billet 430, que le tarif applicable est FC1. Parce que les composants tarifaires (à la fois en termes de calcul tarifaire et de forme structurée) sont liés aux vols actuels dans l’image de billet, l’application client peut ne pas avoir besoin d’afficher les vols originaux, qui ne sont normalement pas présents sur les billets standards IATA. Les informations du vol parent peuvent par conséquent être masquées sur l’image 460 transmise au système demandeur comme indiqué sur la FIG. 24.[00206] FIG. 24 represents a masked ticket image 460 which can be generated from the enriched ticket image 430. The exchange server 26 can determine from the links defined by the data added to the right portion of the coupon field 438 in image 430 that the coupon C1 of the ticket TKT-003 is linked to Cl of the ticket TKT-001. The exchange server 26 can moreover determine, on the basis of the data in the structured tariff component field 448 added to the lower part of the ticket image 430, that the applicable tariff is FC1. Because the fare components (both in terms of fare calculation and structured form) are linked to the current flights in the ticket image, the client application may not need to display the original flights, which are not normally not present on standard IATA tickets. The information of the parent flight can therefore be masked on the image 460 transmitted to the requesting system as indicated in FIG. 24.

[00207] Dans certains cas, un voyageur peut souhaiter échanger volontairement des billets qui ont précédemment fait l’objet d’un échange involontaire. Ce type d’échange peut causer des problèmes pour déterminer la valeur d’échange du billet parent et pour fixer le prix du billet de réémission parce que le billet parent a été émis avec un tarif non standard. Les tarifs non-standard peuvent donner lieu à des cas où on ne peut pas facturer un billet de réémission 20 au voyageur et par conséquent, le système de réservation détermine qu’il n’est pas nécessaire d’interroger le moteur de tarification pour fixer le prix du billet de réémission. Par conséquent, le tarif de chaque coupon sur un billet émis suite à un échange involontaire peut se baser sur le tarif du billet précédemment échangé avant l’interruption, ou codé selon des valeurs prédéfinies. Le prix de chaque coupon sur un billet de réémission émis en raison d’un 25 échange involontaire peut par conséquent rie pas correspondre au tarif normal de l’itinéraire de remplacement sur le billet de réémission. De plus, dans les cas où un billet a été échangé involontairement à de multiples reprises, l’itinéraire du voyageur peut être étalé sur plusieurs billets, les coupons de chaque billet ayant un des statuts, tels que parcourus, échangés ou ouverts.In some cases, a traveler may wish to voluntarily exchange tickets which have previously been the subject of an involuntary exchange. This type of exchange can cause problems determining the exchange value of the parent ticket and setting the price of the reissue ticket because the parent ticket was issued with a non-standard rate. Non-standard fares may give rise to cases where the traveler cannot be charged for a reissue ticket 20 and therefore the booking system determines that it is not necessary to query the pricing engine to fix the price of the reissue ticket. Consequently, the price of each coupon on a ticket issued following an involuntary exchange may be based on the price of the ticket previously exchanged before the interruption, or coded according to predefined values. The price of each coupon on a reissue ticket issued due to an involuntary exchange may therefore not correspond to the normal fare of the replacement route on the reissue ticket. In addition, in cases where a ticket has been exchanged involuntarily on multiple occasions, the traveler's itinerary can be spread over several tickets, the coupons of each ticket having one of the statuses, such as traveled, exchanged or opened.

[00208] La FIG. 25 représente une image de billet exemplaire 500 d’un billet original TKT-004 qui inclut un champ de numéro du billet 502, un champ de localisateur d’enregistrement 504, un champ de nom de passager 506, les champs de coupon 508-510, et une ligne de calcul tarifaire 512. TKT-004 inclut trois coupons pour les segments comprenant un vol sur SOUTHWEST AIRLINES® de Louisville à Los Angeles avec des escales à[00208] FIG. 25 shows an exemplary ticket image 500 of an original ticket TKT-004 which includes a ticket number field 502, a check locator field 504, a passenger name field 506, coupon fields 508-510 , and a tariff calculation line 512. TKT-004 includes three coupons for segments including a flight on SOUTHWEST AIRLINES® from Louisville to Los Angeles with stopovers at

Chicago et Denver. L’image du billet 500 peut représenter le billet TKT-004 tel qu’il apparaîtrait après le départ du voyageur pour Chicago.Chicago and Denver. The image of ticket 500 may represent ticket TKT-004 as it would appear after the traveler's departure for Chicago.

[00209] Comme on peut le voir, le statut du coupon Cl pour le segment SDFMDW (Louisvîlle à Chicago) est « parcouru », indiquant que ce coupon a été utilisé pour voyager, et que les coupons restants C2 et C3 pour les segments MDWDEN (Chicago à Denver) et DENLAX (Denver à Los Angeles) sont encore ouverts. La ligne de calcul tarifaire 512 indique que le tarif pour chaque segment s’élève à 258,00 $. Par conséquent, le prix total payé pour le vol réservé à l’origine de Louisvîlle à Los Angeles était de 774,00 $. Si le vol de Chicago à Denver est annulé une fois que le segment Louisville-Chicago a été parcouru, le billet TKT-004 peut faire l’objet d’un échange partiel.As can be seen, the status of the coupon C1 for the SDFMDW segment (Louisvîlle in Chicago) is "browsed", indicating that this coupon was used for travel, and that the remaining coupons C2 and C3 for the MDWDEN segments (Chicago in Denver) and DENLAX (Denver in Los Angeles) are still open. Tariff calculation line 512 indicates that the tariff for each segment is $ 258.00. As a result, the total price paid for the flight booked originally from Louisville to Los Angeles was $ 774.00. If the flight from Chicago to Denver is canceled after the Louisville-Chicago segment has been covered, ticket TKT-004 may be subject to partial exchange.

[00210] La FIG. 26 représente une image de billet 501 montrant le billet TKT-004 tel qu’il peut apparaître après l’échange, et l’image de billet 520 qui représente un billet de réémission TKT-005. L’image de billet 520 peut inclure un champ de numéro de billet 522, un champ de localisateur d’enregistrement 524, un champ de nom de passager 526, des champs de coupon 528, 530, et un champ de calcul tarifaire 532. Comme on peut le voir sur l’image 501, le statut du coupon C2 du billet TKT-004 a changé et est devenu « E », ou échangé, et le statut du coupon C3 du billet TKT-004 reste ouvert. Le billet de réémission TKT-005 peut inclure les coupons ouverts Cl et C2 qui remplacent le coupon C2 de TKT-004. Par conséquent, il peut y avoir deux billets en direct dans la base de données de billets 20 pour l’itinéraire non parcouru ou « restant » du passager.[00210] FIG. 26 shows a ticket image 501 showing the TKT-004 ticket as it may appear after the exchange, and the ticket image 520 which represents a TKT-005 reissue ticket. Ticket image 520 can include a ticket number field 522, a check locator field 524, a passenger name field 526, coupon fields 528, 530, and a fare calculation field 532. As we can see it on image 501, the status of coupon C2 of ticket TKT-004 has changed and become “E”, or exchanged, and the status of coupon C3 of ticket TKT-004 remains open. The reissue ticket TKT-005 may include the open coupons Cl and C2 which replace the coupon C2 of TKT-004. As a result, there may be two live tickets in the ticket database 20 for the passenger's "not traveled" or "remaining" route.

[00211] Le segment de Chicago à Denver a été remplacé par un segment de Chicago à Saint-Louis et un autre segment de Saint-Louis à Denver. Cependant, l’élément tarifaire sur le billet de rémission TKT-005 peut uniquement ajouter une « I-Date » devant l’élément tarifaire existant sur le billet parent. L’I-Date peut simplement pourvoir une indication selon laquelle le billet a été émis le 9 mars 2016 en échange d’un autre billet. Par conséquent, le calcul tarifaire lui-même peut ne pas correspondre à l’itinéraire défini par le billet de réémission. [00212] La FIG. 27 représente une image 503 du billet TKT-004, une image 521 du billet TKT-005, et une image 540 d’un billet TKT-006 émis récemment. Les images 503, 521, et 540 peuvent représenter des billets TKT-004, TKT-005. et TKT-006 après que le coupon Cl de TKT-005 a été involontairement échangé contre TKT-006, par ex., en raison de l’interruption du vol WN0984. À ce stade, l’itinéraire restant du voyageur peut être étalé sur trois billets actifs. L’image de billet 540 peut inclure un champ de numéro de billet 542, un champ de localisateur d’enregistrement 544, un champ de nom de passager 546, un champ de coupon 548, est un champ de calcul tarifaire 550. Comme on peut le voir, TKT-004 peut demeurer inchangé par la dernière interruption, le statut du coupon Cl du billet TKT-005 a changé et est passé à « E », ou échangé, et le billet de réémission TKT-006 peut inclure le coupon Cl pour remplacer le coupon Cl de TKT-005.The segment from Chicago to Denver has been replaced by a segment from Chicago to Saint-Louis and another segment from Saint-Louis to Denver. However, the tariff element on the remission ticket TKT-005 can only add an "I-Date" in front of the existing tariff element on the parent ticket. The I-Date can simply provide an indication that the ticket was issued on March 9, 2016 in exchange for another ticket. Therefore, the fare calculation itself may not correspond to the route defined by the reissue ticket. [00212] FIG. 27 shows an image 503 of the ticket TKT-004, an image 521 of the ticket TKT-005, and an image 540 of a ticket TKT-006 recently issued. Images 503, 521, and 540 can represent tickets TKT-004, TKT-005. and TKT-006 after coupon C1 of TKT-005 was unintentionally exchanged for TKT-006, eg, due to the interruption of flight WN0984. At this point, the traveler's remaining itinerary can be spread over three active tickets. The ticket image 540 may include a ticket number field 542, a check locator field 544, a passenger name field 546, a coupon field 548, is a fare calculation field 550. As can be see it, TKT-004 may remain unchanged by the last interruption, the status of coupon C1 of ticket TKT-005 has changed and changed to "E", or exchanged, and the reissue ticket TKT-006 may include coupon Cl to replace coupon TKT-005 Cl.

[00213] Comme indiqué dans l’exemple ci-dessus, l’élément tarifaire sur les billets émis comme faisant partie d’un échange involontaire peut indiquer que le tarif est basé sur un billet échangé involontairement. Cependant, l’élément tarifaire lui-même peut ne pas fournir d’informations liées à ce que serait le tarif soit pour les coupons du billet de réémission, soit pour Γitinéraire de remplacement dans son ensemble, si le billet avait été changé volontairement. De plus, une vue complète peut être fournie uniquement pour l’itinéraire payé 10 initialement sur le billet original. En raison du potentiel d’échanges partiels, les coupons ouverts peuvent exister sur des billets précédents qui n’apparaissent pas sur un billet de réémission. De plus, les billets parents peuvent également inclure un ou plusieurs coupons parcourus. Pour un échange volontaire de billet ayant un coupon parcouru, un nouveau calcul tarifaire peut être réalisé, lequel tient compte des coupons parcourus et stocke une image du 15 coupon parcouru dans une base de données de Grand Objet binaire (BLOB). Cependant, pour un échange involontaire, les coupons parcourus peuvent ne pas apparaître sur un billet de rémission.As shown in the example above, the price element on tickets issued as part of an involuntary exchange may indicate that the price is based on a ticket involuntarily exchanged. However, the fare element itself may not provide information related to what the fare would be either for coupons for the reissue ticket or for the entire replacement route, if the ticket had been changed voluntarily. In addition, a full view can only be provided for the route paid initially 10 on the original ticket. Due to the potential for partial redemptions, open coupons may exist on previous tickets that do not appear on a reissue ticket. In addition, parent tickets can also include one or more coupons traveled. For a voluntary exchange of a ticket having a traveled coupon, a new tariff calculation can be carried out, which takes into account the coupons traveled and stores an image of the coupon traveled in a large binary object (BLOB) database. However, for an involuntary exchange, the coupons crossed may not appear on a remission ticket.

[00214] En référence continue à la FIG. 27, si le voyageur demande un échange volontaire du billet TKT-006, un agent réalisant l’échange et utilisant des systèmes conventionnels peut 20 savoir à partir du champ de calcul tarifaire 550 que le coupon Cl de TKT-005 a été échangé contre le coupon Cl de TKT-006, mais ne peut pas voir le coupon Cl sur TKT-004, ou même être informé de l’existence du billet TKT-004.With continuous reference to FIG. 27, if the traveler requests a voluntary exchange of the ticket TKT-006, an agent carrying out the exchange and using conventional systems can know from the tariff calculation field 550 that the coupon C1 of TKT-005 has been exchanged for the coupon T of TKT-006, but cannot see coupon Cl on TKT-004, or even be informed of the existence of ticket TKT-004.

[00215] Des modes de réalisation de l’invention peuvent résoudre ce problème en traitant la donnée tarifaire liée à Titinéraire original (c.-à-d., l’itinéraire défini par le billet original), et 25 en acheminant la donnée liée à la portion interrompue de l’itinéraire (par ex, Titinéraire défini par le billet de réémission). Le serveur d’échange 26 peut par là même identifier quels coupons ont été en réalité interrompus de sorte que le prix de l’échange peut être déterminé sur la base au moins en partie sur le fait de savoir si un ou plusieurs segments en cours d’échange ont été interrompus. Le serveur d’échange 26 peut également rapprocher de 30 l’itinéraire dans sa totalité, même si Titinéraire est étalé sur plusieurs billets. Ce type de rapprochement multi-billets peut nécessiter que le serveur d’échange 26 modifie le statut du coupon de multiples billets une fois, en fonction du type de modification demandé.Embodiments of the invention can solve this problem by processing the tariff data linked to the original route (ie, the route defined by the original ticket), and by routing the linked data the interrupted portion of the route (eg, Route defined by the reissue ticket). The exchange server 26 can thereby identify which coupons have actually been interrupted so that the price of the exchange can be determined based at least in part on whether one or more segments in progress d have been interrupted. The exchange server 26 can also reconcile the entire route with 30, even if the route is spread over several tickets. This type of multi-ticket reconciliation may require the exchange server 26 to change the coupon status of multiple tickets once, depending on the type of change requested.

[00216] La FIG. 28 représente un enregistrement de transition exemplaire 600 qui peut avoir été généré pendant la séquence d’échanges décrite ci-dessus, un billet hybride 602, un itinéraire payé 604, un itinéraire de cotation 606, et un enregistrement de cotation tarifaire 608 qui peut être généré sur la base de la donnée stockée dans l’enregistrement de transition 600. L’enregistrement de transition 600 peut inclure un indice de structure tarifaire 610 et un indice d’interruption 612, et peut être indexé au numéro de billet pour chaque billet référencé dans l’enregistrement de transition 600, par ex., les billets TKT-004, TKT-005, et TKT-006. L’indice de structure tarifaire 610 peut inclure des éléments de composants tarifaires 614-616, chacun d’entre eux peut être lié à un élément de produit correspondant 618-620 pour le ou les billets tarifés à l’origine, par ex., le billet TKT-004. L’indice d’interruption 604 peut inclure un ou plusieurs tableaux 622-624, chacun définissant un ensemble d’éléments de coupon liés 626-631.[00216] FIG. 28 shows an exemplary transition record 600 which may have been generated during the exchange sequence described above, a hybrid ticket 602, a paid route 604, a quote route 606, and a tariff quote record 608 which can be generated on the basis of the data stored in the transition record 600. The transition record 600 can include a price structure index 610 and an interruption index 612, and can be indexed to the ticket number for each ticket referenced in transition record 600, e.g. tickets TKT-004, TKT-005, and TKT-006. Tariff structure index 610 may include elements of tariff components 614-616, each of which may be linked to a corresponding product element 618-620 for the ticket (s) originally priced, e.g. ticket TKT-004. The interruption index 604 may include one or more tables 622-624, each defining a set of linked coupon elements 626-631.

[00217] Chaque tableau 622-624 peut comprendre un conteneur de données qui détient un nombre d’éléments de coupon 626-631 dans un ordre spécifique. Par exemple, l’ordre peut se baser sur l’heure à laquelle chaque élément de coupon a été émis, de sorte que chaque tableau 622-624 soit configuré comme une série d’éléments de coupon ordonnés de l’élément 15 le plus ancien à l’élément le plus récent. Chaque élément de coupon 626-631 de chaque tableau 622-624 peut identifier un coupon spécifique sur un billet spécifique, et un statut de coupon, par ex., interrompu ou actif. Les éléments de coupon 626-631 peuvent être organisés dans l’ordre de leur tableau respectif 622-624 qui définit une séquence d’échanges. Dans l’indice d’interruption exemplaire 612, l’élément de coupon le plus ancien 626 dans le 20 tableau 622 peut identifier le coupon C2 du billet TKT-004 comme étant le coupon le plus ancien à échanger, et l’élément de coupon le plus récent 628 dans le tableau 622 peut identifier le coupon Cl du billet TKT-006 comme étant le coupon le plus récent émis dans la série. Les éléments de coupon dans chaque tableau peuvent être accessibles à l’aide d’un indice entier pour préciser quel élément dans le tableau est accessible. Par exemple, dans le 25 tableau 622, l’élément de coupon 626 peut être indexé comme élément « 1 », l’élément de coupon 627 peut être indexé comme élément « 2 », et l’élément de coupon 628 peut être indexé comme élément « 3 ».[00217] Each table 622-624 can include a data container which holds a number of coupon elements 626-631 in a specific order. For example, the order can be based on the time each coupon item was issued, so that each array 622-624 is configured as a series of ordered coupon items from the oldest item 15 to the most recent item. Each coupon element 626-631 of each table 622-624 can identify a specific coupon on a specific ticket, and a coupon status, eg, interrupted or active. Coupon elements 626-631 can be organized in the order of their respective table 622-624 which defines a sequence of exchanges. In the exemplary interruption index 612, the oldest coupon element 626 in table 622 can identify coupon C2 of ticket TKT-004 as the oldest coupon to be exchanged, and the coupon element the most recent 628 in table 622 can identify the coupon C1 of the ticket TKT-006 as being the most recent coupon issued in the series. The coupon elements in each table can be accessed using an integer index to specify which element in the table is accessible. For example, in Table 622, the coupon element 626 can be indexed as element "1", the coupon element 627 can be indexed as element "2", and the coupon element 628 can be indexed as item "3".

[00218] Chaque tableau 622-624 peut fournir un historique des échanges pour le coupon émis te plus récemment ou le plus récent du tableau pour revenir à un coupon « original ». Le 30 coupon original identifié dans chaque tableau 622-624 peut être le dernier coupon tarifé, tel qu’un coupon émis sur un billet acheté à l’origine ou sur un billet de réémission qui a été émis comme faisant partie d’un échange volontaire. Dans te présent exempte, le tableau 622 inclut des éléments de coupon 626-628 identifiant une séquence de coupons échangés contre te coupon C2 du billet TKT-004, le tableau 623 inclut les éléments de coupon 629 et 630 qui identifient l’autre coupon échangé contre le coupon C2 du billet TKT-004, et le tableau 624 inclut un élément de coupon 631 identifiant le coupon C3 du billet TKT-004, qui doit à présent être échangé et est par conséquent toujours actif. Le billet hybride 602 peut inclure un ou plusieurs coupons virtuels 632-634. Chacun des coupons virtuels 632-634 peut correspondre à un coupon ouvert identifié par l’élément de coupon le plus récent qui apparaît dans chaque tableau 622-624.Each table 622-624 can provide a history of exchanges for the coupon issued to you more recently or the most recent of the table to return to an "original" coupon. The original coupon identified in each table 622-624 may be the last priced coupon, such as a coupon issued on a ticket originally purchased or on a reissue ticket that was issued as part of a voluntary exchange . In the present example, table 622 includes coupon elements 626-628 identifying a sequence of coupons exchanged for coupon C2 of ticket TKT-004, table 623 includes coupon elements 629 and 630 which identify the other coupon exchanged against coupon C2 of ticket TKT-004, and table 624 includes a coupon element 631 identifying coupon C3 of ticket TKT-004, which must now be exchanged and is therefore always active. The hybrid ticket 602 can include one or more virtual coupons 632-634. Each of the virtual coupons 632-634 can correspond to an open coupon identified by the most recent coupon element that appears in each table 622-624.

[00219] L’indexation pourvue par des enregistrements de transition peut améliorer la vitesse et l’efficacité avec lesquelles les enregistrements de bases de données, notamment les informations pertinentes pour identifier un billet dans une interrogation de bases de données, peuvent être localisés. L’indice d’interruption peut identifier tous les coupons associés à un itinéraire existant en revenant au dernier billet tarifé et l’historique intégral, y compris les indications d’interruption. Ces informations peuvent être utilisées, par exemple, pour calculer la valeur d’un billet en cours d’échange, qui peut être crédité vers le prix d’échange.Indexing provided by transition records can improve the speed and efficiency with which database records, including information relevant to identifying a ticket in a database query, can be located. The interruption index can identify all coupons associated with an existing route by returning to the last fare ticket and the full history, including interruption indications. This information can be used, for example, to calculate the value of a ticket in exchange, which can be credited towards the exchange price.

[00220] Lorsqu’un billet contenant seulement des coupons tarifés est échangé volontairement, le processus d’échange peut appliquer des règles de calcul tarifaire au reste de l’itinéraire pour déterminer la valeur d’échange du billet. Le processus d’échange peut également appliquer les règles de calcul tarifaire au nouvel itinéraire pour déterminer un prix du billet de réémission. Le montant devant être collecté pour l’échange peut ensuite être déterminé sur la base de la différence entre le prix du billet de réémission et la valeur d’échange du billet parent. Cependant, si le billet en cours d’échange a fait l’objet d’un échange involontaire, le ou les billets en cours d’échange peu(ven)t inclure des coupons qui n’ont jamais été tarifés. Par conséquent, dans le but d’échanger un billet volontairement, le serveur d’échange 26 peut devoir déterminer la valeur pour le billet en cours d’échange. [00221] La FIG. 29 représente un mode de réalisation du serveur d’échange 26 qui inclut un module de récupération et de décodage des données 650, un modèle d’objet commercial (BOM) 652, un module de billet hybride 654, et un module d’interface 656 qui communique avec un moteur de tarification 658.When a ticket containing only fare coupons is exchanged voluntarily, the exchange process may apply fare calculation rules to the rest of the route to determine the exchange value of the ticket. The exchange process can also apply the fare calculation rules to the new route to determine a price for the reissue ticket. The amount to be collected for the exchange can then be determined based on the difference between the price of the reissue ticket and the exchange value of the parent ticket. However, if the ticket being exchanged has been involuntarily exchanged, the ticket (s) being exchanged may (s) not include coupons that have never been priced. Therefore, in order to exchange a ticket voluntarily, the exchange server 26 may have to determine the value for the ticket being exchanged. [00221] FIG. 29 shows an embodiment of the exchange server 26 which includes a data recovery and decoding module 650, a business object model (BOM) 652, a hybrid ticket module 654, and an interface module 656 which communicates with a pricing engine 658.

[00222] Lorsque le voyageur échange un billet, le système utilisateur 14 peut transmettre une demande d’échange au serveur d’échange 26 identifiant le billet à échanger. En réponse à la réception d’une demande, le module de récupération et de décodage des données 650 peut interroger une ou plusieurs base(s) de données de réservations 18, base de données de billets 20, et/ou base de données d’enregistrements de transition 28 pour identifier et récupérer les données relatives à toute interruption, les billets impliqués tout échange involontaire préalable, et/ou l’historique des enregistrements de réservation.When the traveler exchanges a ticket, the user system 14 can transmit an exchange request to the exchange server 26 identifying the ticket to be exchanged. In response to the reception of a request, the data recovery and decoding module 650 can interrogate one or more reservation database (s) 18, ticket database 20, and / or reservation database. transition records 28 to identify and recover data relating to any interruption, tickets involved any prior involuntary exchange, and / or history of reservation records.

[00223] Le module de récupération et de décodage des données 650 peut décoder les données reçues et stocker un historique des interruptions dans le BOM 652, qui pourvoit un conteneur configuré pour stocker des données non standard. Les données stockées dans les enregistrements de transition peuvent permettre au module de récupération et de décodage des données 650 de construire l’historique des interruptions du billet en cours d’échange. L’historique des interruptions peut être généré, par exemple, en interrogeant la base de données de billets 20 sur les billets identifiés dans un enregistrement de transition associée aux billets en cours d’échange. Les billets retournés par la base de données de billets 20 peuvent être ajoutés à un ensemble de billets, et l’ensemble de billets peut être classé, de sorte à ordonner les billets du billet ayant l’horodatage le plus ancien au billet ayant l’horodatage le plus récent. La série d’enregistrements de bases de données en découlant peut pourvoir une liste de billets qui commence avec le billet émis le plus récemment qui était entièrement tarifé et s’étend au billet en cours d’échange.The data recovery and decoding module 650 can decode the data received and store a history of interruptions in the BOM 652, which provides a container configured to store non-standard data. The data stored in the transition records can allow the data recovery and decoding module 650 to construct the history of interruptions of the ticket being exchanged. Interruption history can be generated, for example, by querying the ticket database 20 on the tickets identified in a transition record associated with the tickets being exchanged. The tickets returned by the ticket database 20 can be added to a ticket set, and the ticket set can be classified, so as to order the tickets from the ticket with the oldest timestamp to the ticket with the most recent timestamp. The resulting series of database records can provide a list of tickets that begins with the most recently issued ticket that was fully priced and extends to the ticket being exchanged.

[00224] En utilisant l’enregistrement de transition exemplaire 600 comme exemple, leUsing exemplary transition record 600 as an example, the

BOM 652 peut appeler le module de billet hybride 654 pour générer le billet hybride 602, que le BOM 652 peut transférer au module d’interface 656. Le module d’interface 656 peut transférer le billet hybride 602 au moteur de tarification 658 pour en fixer le prix. Le billet hybride 602 peut inclure un coupon virtuel 632-634 correspondant à chaque segment dans l’itinéraire actuel qui doit encore être parcouru, et peut permettre au serveur d’échange 26 d’évaluer les billets échangés involontairement en utilisant le moteur de tarification 658. Le moteur de tarification 658 peut calculer une valeur du billet hybride 602, qui peut être utilisée pour déterminer une valeur du billet en cours d’échange. Le BOM 652 peut également inclure ou accéder à des règles commerciales (par ex., les exigences du transporteur) et un modèle d’objet d’exécution pour appliquer les règles tarifaires aux coupons virtuels 632-634.BOM 652 can call the hybrid ticket module 654 to generate the hybrid ticket 602, which the BOM 652 can transfer to the interface module 656. The interface module 656 can transfer the hybrid ticket 602 to the pricing engine 658 to fix it the price. The hybrid ticket 602 can include a virtual coupon 632-634 corresponding to each segment in the current route which has yet to be traveled, and can allow the exchange server 26 to evaluate the tickets involuntarily exchanged using the pricing engine 658 The pricing engine 658 can calculate a value of the hybrid ticket 602, which can be used to determine a value of the ticket being exchanged. BOM 652 can also include or access business rules (eg, carrier requirements) and an execution object model to apply pricing rules to virtual coupons 632-634.

[00225] Une fois que l’historique des interruptions, le billet hybride tarifé, et Titinéraire payé ont été générés, le module d’interface 656 peut transmettre une réponse au système utilisateur 14 qui amène le système utilisateur 14 à afficher une structure de donnée sous la forme d’un arbre qui représente le prix de l’itinéraire, avec tous les détails de tarification pourvus par le moteur de tarification 658. Le billet hybride 602 peut permettre au serveur d’échange 26 de réaliser un calcul automatique garanti correct par le moteur de tarification 658, et qui est basé sur le schéma tarifaire déposé par la compagnie aérienne. L’entrée pourvue au moteur de tarification 658 peut inclure tous les détails sur le cas d’usage, notamment le passage, l’itinéraire et les options.Once the history of interruptions, the tariffed hybrid ticket and Paid route have been generated, the interface module 656 can transmit a response to the user system 14 which causes the user system 14 to display a data structure in the form of a tree representing the price of the route, with all the pricing details provided by the pricing engine 658. The hybrid ticket 602 can allow the exchange server 26 to perform an automatic calculation guaranteed to be correct by the pricing engine 658, and which is based on the tariff scheme filed by the airline. Entrance with pricing engine 658 may include all details on the use case, including passage, route and options.

[00226] Pour un échange volontaire apparaissant après un échange involontaire, le module d’interface 656 peut pourvoir des détails sur l’itinéraire payé (par ex., quelles parties de l’itinéraire payé ont été interrompues) et l’itinéraire actuel après des interruptions successives. En utilisant l’enregistrement de transition 600 et/ou le BOM 652 pour stocker des structures de données non standard, le serveur d’échange 26 peut présenter des caractéristiques améliorées tout en préservant la structure globale et le caractère réutilisable du message de demande de tarification. La construction du billet hybride 602 peut également permettre des résultats d’interruption différents pour être décomposée en un ensemble de facteurs (par ex., des coupons virtuels) qui peuvent être pourvus de manière standard au moteur de tarification 658 pour traitement. Le module d’interface 656 peut recevoir la sortie du moteur de tarification 658, et stocker les résultats dans une ligne de tarifs d’un enregistrement de réservations associé dans la base de données de réservations 18.For a voluntary exchange appearing after an involuntary exchange, the interface module 656 can provide details on the paid route (eg, which parts of the paid route were interrupted) and the current route after successive interruptions. By using transition record 600 and / or BOM 652 to store non-standard data structures, the exchange server 26 can have improved characteristics while preserving the overall structure and the reusability of the pricing request message. . The construction of the hybrid ticket 602 can also allow for different interrupt results to be broken down into a set of factors (eg, virtual coupons) which can be provided as standard to the pricing engine 658 for processing. The interface module 656 can receive the output of the pricing engine 658, and store the results in a price line of an associated reservation record in the reservation database 18.

[00227] La FIG. 30 représente un organigramme illustrant le processus d’échange 660 qui peut être mis en œuvre par le serveur d’échange 26 pour traiter une demande d’échange volontaire d’un billet qui a été précédemment impliqué dans un échange involontaire. Dans le bloc 662, le processus 660 peut recevoir une demande d’échange d’un billet, telle que le billet TKT-006 décrit ci-dessus relatif à la FIG. 27. En réponse à la réception de la demande, le processus 660 peut passer au bloc 664 et récupérer un enregistrement de transition associé au billet en cours d’échange. Cette récupération peut inclure, par exemple, la transmission d’une interrogation à la base de données d’enregistrements de transition 28 demandant que la base de données retourne les enregistrements de transition indexés à ou contenant le numéro de billet du billet en cours d’échange. En réponse, la base de données d’enregistrements de transition 28 peut retourner un enregistrement de transition associé au billet, par ex., l’enregistrement de transition 600.[00227] FIG. 30 shows a flowchart illustrating the exchange process 660 which can be implemented by the exchange server 26 to process a request for voluntary exchange of a ticket which has previously been involved in an involuntary exchange. In block 662, process 660 can receive a ticket exchange request, such as the TKT-006 ticket described above relating to FIG. 27. In response to receiving the request, process 660 can proceed to block 664 and retrieve a transition record associated with the ticket being exchanged. This retrieval may include, for example, transmitting a query to the transition record database 28 requesting that the database return the transition records indexed to or containing the ticket number of the ticket being exchange. In response, the transition record database 28 may return a transition record associated with the ticket, eg, transition record 600.

[00228] Dans le bloc 666, le processus 660 peut récupérer la donnée ou générer un historique des interruptions sur la base de celle-ci. Les FIGS. 31 et 32 représentent des fichiers exemplaires 668 et 670, chacun comprenant une série de commandes EDIFACT qui peuvent amener le module de récupération et de décodage des données 650 à récupérer les données du billet pour les utiliser en générant l’historique des interruptions. Les portions du fichier de commandes EDIFACT 668 indiquées comme « [donnée] » peuvent être remplies avec les commandes EDIFACT supplémentaires, telles que celles du fichier 670. Les données récupérées par l’exécution des commandes EDIFACT peuvent inclure des billets impliqués dans l’historique des échanges du billet en question qui sont toujours actifs, par ex., qui incluent un coupon dont le statut est ouvert.In block 666, process 660 can recover the data or generate a history of interruptions on the basis thereof. FIGS. 31 and 32 represent exemplary files 668 and 670, each comprising a series of EDIFACT commands which can cause the data recovery and decoding module 650 to recover the ticket data for use by generating the history of interruptions. The portions of the EDIFACT 668 command file indicated as "[data]" can be filled with additional EDIFACT commands, such as those in file 670. The data retrieved by the execution of EDIFACT commands can include tickets involved in the history exchanges of the ticket in question which are always active, e.g. which include a coupon with open status.

[00229] Le processus 660 peut identifier des billets dans la base de données de billets 20 impliqués dans l’historique des échanges basé sur la donnée dans l’enregistrement de transition 600. Par exemple, le processus 660 peut extraire des numéros de billets de l’indice de structure tarifaire et/ou de l’indice d’interruption. En utilisant ces numéros de billets, le processus 660 peut interroger la base de données de billets 20 pour récupérer les billets identifiés. Le processus 660 peut également interroger la base de données de réservations 18 pour recevoir un historique des enregistrements de réservations. L’historique des enregistrements de réservations peut être utilisé par le processus 660 conjointement à l’indice de structure tarifaire, l’indice d’interruption, et/ou les billets récupérés pour générer rhistorique des interruptions de chaque coupon actif.The process 660 can identify tickets in the ticket database 20 involved in the exchange history based on the data in the transition record 600. For example, the process 660 can extract ticket numbers from the tariff structure index and / or the interruption index. Using these ticket numbers, the process 660 can query the ticket database 20 to retrieve the identified tickets. The process 660 can also query the reservation database 18 to receive a history of the reservation records. The booking record history can be used by the 660 process in conjunction with the rate structure index, interruption index, and / or recovered tickets to generate the interruption history of each active coupon.

[00230] Le processus 660 peut générer un historique des interruptions complet du billet en cours d’échange sur la base de la donnée récupérée. L’historique des interruptions du billet en cours de traitement peut être étalé dans de multiples conteneurs de données (par ex., de grands objets binaires) au niveau du coupon. Ces objets peuvent être retournes par la base de données 15 d’enregistrements de transition 28 et/ou récupérer dans l’historique des enregistrements de réservation dans la base de données de réservations 18. Les conteneurs de données au niveau du coupon peuvent être utilisés pour agréger les données d’interruption à partir de multiples objets et construire la liste des précédents billets à récupérer.The process 660 can generate a complete history of interruptions of the ticket being exchanged on the basis of the data retrieved. The history of ticket interruptions being processed can be spread across multiple data containers (e.g., large binary objects) at the coupon level. These objects can be returned by the database of transition records 28 and / or retrieved from the history of reservation records in the reservation database 18. The data containers at the coupon level can be used to aggregate the interrupt data from multiple objects and build the list of previous tickets to recover.

[00231] Dans un mode de réalisation, rhistorique des interruptions peut être représenté par un ensemble d’enregistrements de bases de données comprenant une série de billets Ts, Ti,...In one embodiment, the history of interruptions can be represented by a set of database records comprising a series of tickets Ts, Ti, ...

Tn, dans laquelle Ti est le billet le plus ancien de la série (c.-à-d., le billet ayant l’horodatage le plus ancien, par ex., le billet tarifé), et le billet T» est le billet le plus récent de la série (c.-àd., le billet ayant l’horodatage le plus récent, par ex- le billet en cours d’échange). Le serveur d’échange 26 peut également amener les billets récupérés à être affichés par le système utilisateur 14 de sorte que l’agent est pourvu d’un statut de l’itinéraire du passager mis à jour. [00232] Une fois que l’historique des interruptions a été généré, le processus 660 peut passer au bloc 672 et générer un billet hybride (par ex., le billet hybride 602) qui peut être envoyé au moteur de tarification 658 pour calculer une valeur pour le billet en cours d’échange. Le billet hybride peut inclure un coupon correspondant à chaque segment de l’itinéraire actuel qui a été ou sera parcouru, et peut permettre au serveur d’échange 26 de traiter les billets échangés involontairement en utilisant le moteur de tarification 658.T n , where Ti is the oldest ticket in the series (ie, the ticket with the oldest time stamp, eg, the fare ticket), and the ticket T "is the Most recent ticket in the series (ie, the ticket with the most recent time stamp, eg the ticket being exchanged). The exchange server 26 can also cause the retrieved tickets to be displayed by the user system 14 so that the agent is provided with an updated passenger route status. Once the history of interruptions has been generated, the process 660 can pass to block 672 and generate a hybrid ticket (eg, the hybrid ticket 602) which can be sent to the pricing engine 658 to calculate a value for the ticket being exchanged. The hybrid ticket can include a coupon corresponding to each segment of the current route which has been or will be traveled, and can allow the exchange server 26 to process the involuntary exchanged tickets using the pricing engine 658.

[00233] En réponse au billet hybride en train d’être généré, le processus 660 peut passer au bloc 674 et fixer le prix du billet hybride. La détermination du prix du billet hybride peut inclure la transmission du billet hybride au moteur de tarification 658 de sorte que le prix est déterminé sur la base du schéma tarifaire déposé par la compagnie aérienne. Le processus 660 peut ensuite passer au bloc 676, mettre à jour l’enregistrement de réservation et confirmer le billet de rémission dans la base de données de billets 20.[00233] In response to the hybrid ticket being generated, process 660 can proceed to block 674 and set the price of the hybrid ticket. The determination of the price of the hybrid ticket may include the transmission of the hybrid ticket to the pricing engine 658 so that the price is determined on the basis of the tariff scheme submitted by the airline. Process 660 can then go to block 676, update the reservation record, and confirm the remission ticket in the ticket database 20.

[00234] Une première référence d’émission peut être utilisée pour créer un élément d’un ancien document (FO) ou une ligne dans un processus de changement d’itinéraire. La ligneA first show reference can be used to create an element of an old document (FO) or a line in a route change process. Line

FO peut faire référence au numéro de billet original utilisé pour l’échange. Un tableau de données de billets peut inclure un numéro d’enveloppe d’émission, un numéro de billet, un numéro de billet original, une référence passagers, un nom de passager et les champs du transporteur émetteur, et peut être utilisé dans le processus de retarification pour construire un 10 nouveau billet.FO may refer to the original ticket number used for the exchange. A ticket data table can include an issue envelope number, ticket number, original ticket number, passenger reference, passenger name and issuing carrier fields, and can be used in the process of re-pricing to build a new ticket.

[00235] La mise à jour de l’enregistrement de réservation peut inclure la création d’une ligne FO multi-billets dans l'enregistrement de réservation pour faciliter l’échange des coupons ouverts restants. La ligne FO peut inclure des détails sur le billet émis à l’origine, le numéro du billet de rémission, et les coupons en cours d’échange. La ligne FO peut identifier les coupons qui devraient être échangés au moment où le billet de réémission est émis, garantissant ainsi l’intégrité de l’échange. Le processus de création FO peut utiliser une liste de billets interrompus successivement qui contient encore des coupons ouverts pour créer la ligne FO multi-billets. Cette ligne FO multi-billets peut être au format standard attendu par l’émission de serveurs dorsaux. Une ligne exemplaire FO peut être formatée comme indiqué 20 ci-dessous :Updating the reservation record may include the creation of a multi-ticket FO line in the reservation record to facilitate the exchange of the remaining open coupons. The FO line may include details of the original ticket issued, the remission ticket number, and coupons being redeemed. The FO line can identify coupons that should be redeemed when the reissue ticket is issued, thereby ensuring the integrity of the exchange. The FO creation process can use a list of successively interrupted tickets which still contains open coupons to create the multi-ticket FO line. This multi-ticket FO line can be in the standard format expected by the back-end servers. An exemplary FO line can be formatted as shown below:

FO TKTOCityDate/IATA... ./TKTnEl/TKTjF3,4/.. ./TKT1F1,3.. .FO TKTOCityDate / IATA ... ./TKTnEl/TKTjF3,4/ .. ./TKT1F1,3 ...

[00236] La FIG. 33 représente un organigramme illustrant un processus 680 qui peut être utilisé par le serveur d’échange pour définir un itinéraire hybride à partir duquel le billet hybride dans le bloc 672 du processus 660 peut être généré. Itinéraire hybride H peut 25 comprendre un tableau de coupons extraits des billets dans l’historique des interruptions.[00236] FIG. 33 shows a flow diagram illustrating a process 680 which can be used by the exchange server to define a hybrid route from which the hybrid ticket in block 672 of process 660 can be generated. Hybrid route H may include a table of coupons extracted from tickets in the history of interruptions.

Dans le bloc 682, le processus 680 peut initialiser l’itinéraire hybride. L’initialisation peut inclure la définition d’un compteur de billets i à une valeur initiale de n (si n est le nombre total de billets dans l’historique des interruptions), et définir l’itinéraire hybride H comme suit :In block 682, process 680 can initialize the hybrid route. Initialization can include setting a ticket counter i to an initial value of n (if n is the total number of tickets in the history of interruptions), and defining the hybrid route H as follows:

H=CETn H = CET n

Si Tn représente le billet en cours d’échange de sorte que l’itinéraire hybride H inclut initialement tous les coupons C dans le billet Tn.If T n represents the ticket being exchanged so that the hybrid route H initially includes all the coupons C in the ticket T n .

[00237] Dans le bloc 684, le processus 680 peut nettoyer les tableaux de travail B et E, et un signal d’échange, ou « e-signal ». Les tableaux de travail B et E peuvent être utilisés par le processus 680 pour stocker temporairement les coupons qui seront par la suite ajoutés soit au début soit à la fin d’une version actuelle de l’itinéraire hybride H pour générer une version mise à jour de l'itinéraire hybride H. L’e-signal peut être utilisé pour garder une trace et savoir si un coupon ayant un statut « échangé » a été trouvé pendant le traitement d’un billet particulier. Dans le bloc 684, le processus 680 peut également décrémenter le compteur de billets i, initialiser un compteur de coupons j en définissant j égal au nombre de coupons du billet Tt, qui peut initialement être le billet parent précédant immédiatement le billet Tn, ou le billet Tn.}. Le processus 680 peut ensuite passer au bloc 686 et sélectionner le coupon Cj du billet Tt.In block 684, process 680 can clean up work tables B and E, and an exchange signal, or "e-signal". Work Tables B and E can be used by the 680 process to temporarily store coupons, which will then be added either at the start or at the end of a current version of the hybrid route H to generate an updated version. of the hybrid route H. The e-signal can be used to keep track and to know if a coupon with an “exchanged” status was found during the processing of a particular ticket. In block 684, the process 680 can also decrement the ticket counter i, initialize a coupon counter j by defining j equal to the number of coupons of the ticket Tt, which can initially be the parent ticket immediately preceding the ticket T n , or the ticket T n .}. Process 680 can then go to block 686 and select the coupon Cj of the ticket Tt.

[00238] Dans le bloc 688, le processus 680 peut déterminer si le statut du coupon Cj est « échangé ». Si le statut est « échangé » (branche « OUI » du bloc de décision 688), le processus 680 peut passer au bloc 690, définir l’e-signal, et passer au bloc 692. Dans le bloc 692, le processus 680 peut déterminer si le coupon Cj est inclus dans l'élément tarifaire du billet précédemment traité Ί}+ι (c.-à-d., le billet émis en échange du billet Cj). Si le coupon Q est absent de l’élément tarifaire du billet 7}+t (branche « NON » du bloc de décision 692), cela indique peut-être que le billet Tt a été échangé contre plus d’un billet. Dans ce cas, le processus 680 peut passer au bloc 694, rejeter l’échange, et se terminer. Si le coupon Cj inclut dans l’élément tarifaire du billet précédemment traité 7)+1, (branche « OUI » du bloc de décision 692), le processus 680 peut passer au bloc 696.In block 688, process 680 can determine whether the status of coupon Cj is "exchanged". If the status is "exchanged" (branch "YES" of decision block 688), process 680 can go to block 690, define the e-signal, and go to block 692. In block 692, process 680 can determine if the coupon Cj is included in the fare element of the previously processed ticket Ί} + ι (i.e., the ticket issued in exchange for the ticket Cj). If coupon Q is missing from the price element of ticket 7} + t ("NO" branch of decision block 692), this may indicate that the ticket Tt has been exchanged for more than one ticket. In this case, process 680 can go to block 694, reject the exchange, and terminate. If the coupon Cj includes in the tariff element of the previously processed ticket 7) +1, ("YES" branch of the decision block 692), the process 680 can pass to block 696.

[00239] En retournant au bloc 688, si le statut du coupon Cj n’est pas « échangé » (branche « NON » du bloc de décision 688), le processus 680 peut ensuite passer au bloc 698. Dans le bloc 698, le processus 680 peut déterminer si l’e-signal est défini. Si l’e-signal est défini (branche « OUI » du bloc de décision 698), le processus 680 peut passer au bloc 700, ajouter le coupon Cj au début du tableau de travail E, et passer au bloc 696. Si l’e-signal n’est pas défini (branche « NON » du bloc de décision 698), le processus 680 peut passer au bloc 702, ajouter le coupon Cj au début du tableau de travail B, et passer au bloc 696.Returning to block 688, if the status of the coupon Cj is not "exchanged" (branch "NO" of decision block 688), the process 680 can then pass to block 698. In block 698, the 680 process can determine if the e-signal is defined. If the e-signal is defined (“YES” branch of decision block 698), process 680 can go to block 700, add the coupon Cj at the start of work table E, and go to block 696. If the e-signal is not defined (“NO” branch of decision block 698), process 680 can go to block 702, add the coupon Cj at the start of work table B, and go to block 696.

[00240] Dans le bloc 696, le processus 680 peut déterminer si le coupon Q est le dernier coupon restant dans le billet Tt, c.-à-d. que j = L Si le coupon Q n’est pas le dernier coupon restant dans le billet 7), (branche « NON » du bloc de décision 696), le processus 680 peut passer au bloc 704, décrémenter le compteur de coupons j, et retourner au bloc 686 pour commencer le traitement du prochain coupon sur le billet 7). Si le coupon Cj est le dernier coupon restant sur le billet 7}, (branche « OUI » du bloc de décision 696), le processus 680 peut passer au bloc 706.In block 696, the process 680 can determine whether the coupon Q is the last coupon remaining in the ticket Tt, ie. that j = L If the coupon Q is not the last coupon remaining in the ticket 7), (branch "NO" of the decision block 696), the process 680 can pass to block 704, decrement the counter of coupons j, and return to block 686 to begin processing the next coupon on ticket 7). If the coupon Cj is the last coupon remaining on the ticket 7} (branch "YES" of the decision block 696), the process 680 can pass to the block 706.

[00241 ] Dans le bloc 706, le processus 680 peut mettre à jour Γ itinéraire hybride H en ajoutant les coupons dans le tableau de travail B au début de l’itinéraire hybride H, et ajouter les coupons dans le tableau de travail E à la fin de 1’ itinéraire H, c’est-à-dire, mettre à jour l’itinéraire hybride H comme suit ;In block 706, process 680 can update Γ hybrid route H by adding the coupons in work table B at the start of hybrid route H, and add the coupons in work table E to the end of route H, i.e., update hybrid route H as follows;

Le processus 680 peut ensuite passer au bloc 708 et déterminer si le billet Ti est le dernier billet, c.-à-d. si i = 1. Si le billet T, n’est pas le dernier billet (branche « NON » du bloc de décision 708), le processus 680 peut retourner au bloc 684 et commencer le traitement du prochain billet. Si le billet T, est le dernier billet (branche « OUI » du bloc de décision 708), le sous-processus 680 peut passer au bloc 710, stocker l’itinéraire hybride, et retourner au processus principal 660.Process 680 can then proceed to block 708 and determine if the ticket Ti is the last ticket, i.e. if i = 1. If ticket T is not the last ticket ("NO" branch of decision block 708), process 680 can return to block 684 and start processing the next ticket. If ticket T, is the last ticket ("YES" branch of decision block 708), subprocess 680 can go to block 710, store the hybrid route, and return to main process 660.

[00242] En général, les routines exécutées pour mettre en œuvre 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 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 d’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 ». Le code de programme comprend typiquement des instructions lisibles par ordinateur qui résident à des moments divers dans des dispositifs divers de mémoire et de stockage dans un ordinateur, et qui lorsqu’il est lu et exécuté par un ou plusieurs processeurs dans un ordinateur, provoque l’exécution par l’ordinateur d’opérations nécessaires pour exécuter des opérations et/ou des éléments propres aux aspects variés des modes de réalisation de l’invention. Les instructions d’un programme informatique lisibles par ordinateur pour effectuer les opérations des modes de réalisation de l’invention peuvent être, par exemple, le langage d’assemblage, un code source ou un code objet, écrit en combinaison avec un ou plusieurs langages de programmation.In general, the routines executed to implement the embodiments of the invention, whether implemented as part of an operating system or a specific application, of a component, of 'a program, object, module or sequence of instructions, or even a subset thereof, may be referred to herein as "computer program code" or simply "Program code". Program code typically includes computer readable instructions which reside at various times in various memory and storage devices in a computer, and which when read and executed by one or more processors in a computer, cause the 'execution by the computer of operations necessary to execute operations and / or elements specific to the various aspects of the embodiments of the invention. The instructions of a computer-readable computer program for carrying out the operations of the embodiments of the invention may be, for example, the assembly language, a source code or an object code, written in combination with one or more languages programming.

[00243] 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 suit est utilisée uniquement par commodité ; ainsi l’invention ne 30 peut être limitée à un seul usage dans toute application spécifique identifiée et/ou sousentendue 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 sousprogrammes, 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 programme parmi diverses couches de logiciels qui résident dans un ordinateur typique (par. ex., les systèmes d’exploitation, les bibliothèques, les interfaces d’application de programme (API), les applications, les petites applications « applets », les services web, 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.Various program codes described herein can be identified, depending on the application in which they are implemented, in specific embodiments of the invention. However, it should be noted that any nomenclature of a particular program which follows is used only for convenience; thus, the invention cannot be limited to a single use in any specific application identified and / or implied by said nomenclature. Furthermore, in view of the generally infinite number of means by which computer programs can be organized according to subprograms, procedures, procedures, modules, objects, and so on, as well as the various ways of affecting the functionality of a program. among various layers of software that reside on a typical computer (eg, operating systems, libraries, program application interfaces (APIs), applications, small applet applications, web services , etc.); it will be noted that the embodiments of the invention are not limited to the specific organization and to the specific allocation of the program functionalities as described herein.

[00244] Le code de programme mis en œuvre dans toute application/module décrit(e) dans les présentes peut être distribué individuellement ou collectivement comme un produitprogramme d’ordinateur, sous une variété de formes. En particulier, le code de programme peut être distribué en utilisant un support de stockage lisible par ordinateur ayant des instructions de programme lisibles par ordinateur en amenant un processeur à exécuter des aspects des modes de réalisation de l’invention.The program code implemented in any application / module described herein may be distributed individually or collectively as a computer program product, in a variety of forms. In particular, the program code can be distributed using a computer readable storage medium having computer readable program instructions by causing a processor to execute aspects of the embodiments of the invention.

[00245] Les supports de stockage de données lisibles par ordinateur et qui sont intrinsèquement durables, peuvent inclure des médias tangibles, volatiles et non volatiles, amovibles et non amovibles, mis en œuvre dans tout procédé ou technologie de stockage des informations, tels que des instructions de programme lisibles par ordinateur, des structures de données, des modules de programme, ou autre donnée. Les supports de stockage lisibles par ordinateur peuvent par ailleurs inclure la mémoire aléatoire (RAM), la mémoire morte (ROM), la mémoire à lecture exclusive, programmable et effaçable (EPROM), la mémoire à lecture exclusive, programmable et effaçable électriquement (EEPROM), une mémoire flash, toute technologie de support solide de mémoire, disque compact portable doté d’une mémoire à lecture seule (CD-ROM) ou tout autre stockage optique, cassette magnétique, bande d’enregistrement magnétique, mémoire à disque magnétique, autre dispositif de stockage magnétique ou tout autre support pouvant être utilisé pour stocker les informations désirées et qui peut être lu par un ordinateur. Un support de stockage lisible par ordinateur ne peut être 25 interprété comme des signaux transitoires en soi (par ex., des ondes radio ou d’autres ondes électromagnétiques se propageant à travers un support de transmission tel 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 programmable ou sur un autre dispositif de support de stockage lisible par ordinateur, ou vers un ordinateur externe ou vers un dispositif de stockage externe via un réseau [00246] Les instructions de programme lisibles par ordinateur, stockées sur un support lisible par ordinateur, peuvent être utilisées pour instruire un ordinateur, d’autres types d’appareils programmables de traitement ou d’autres dispositifs pour fonctionner d’une façon particulière, de sorte que les instructions stockées sur le support lisible par ordinateur produisent un article de fabrication comprenant les instructions qui mettent en œuvre les fonctions, les actions et/ou les opérations spécifiées dans les organigrammes, diagrammes séquentiels, et/ou diagrammes blocs. Les instructions de programme informatique peuvent être fournies par un ou plusieurs processeurs sur un ordinateur à usage général, un ordinateur à usage spécial, ou tout autre appareil programmable de traitement de données pour produire une machine telle que les instructions qui s’exécutent par l’intermédiaire d’un ou de plusieurs processeurs, provoquent une série de calculs devant être effectués pour mettre en œuvre les fonctions, actions et/opérations spécifiées dans les organigrammes, diagrammes séquentiels 10 et/ou diagrammes blocs.Data storage media readable by computer and which are intrinsically durable, can include tangible, volatile and non-volatile, removable and non-removable media, implemented in any process or technology for storing information, such as computer readable program instructions, data structures, program modules, or other data. Computer readable storage media can also include random memory (RAM), read only memory (ROM), read only, programmable and erasable memory (EPROM), read only memory, electrically erasable and programmable (EEPROM ), flash memory, any solid memory support technology, portable compact disc with read-only memory (CD-ROM) or any other optical storage, magnetic cassette, magnetic recording tape, magnetic disc memory, another magnetic storage device or any other medium which can be used to store the desired information and which can be read by a computer. A computer-readable storage medium cannot be interpreted as transient signals per se (e.g. radio waves or other electromagnetic waves propagating through a transmission medium such as a waveguide or electrical signals transmitted by cable). Computer-readable program instructions can be downloaded to a computer, another type of programmable data processing device, or to another computer-readable storage medium, or to an external computer or to an external storage device via a network [00246] The computer-readable program instructions, stored on a computer-readable medium, can be used to instruct a computer, other types of programmable processing devices or other devices to operate a in a particular way, so that the instructions stored on the computer-readable medium produce an article of manufacture comprising the instructions which implement the functions, actions and / or operations specified in the flowcharts, sequential diagrams, and / or block diagrams . Computer program instructions may be provided by one or more processors on a general purpose computer, a special purpose computer, or any other programmable data processing apparatus to produce a machine such as instructions executed by the through one or more processors, cause a series of calculations to be performed to implement the functions, actions and / operations specified in the flowcharts, sequential diagrams 10 and / or block diagrams.

[00247] Dans certains modes de réalisation alternatifs, les fonctions, les actions et/ou les opérations spécifiées dans les organigrammes, diagrammes séquentiels et/ou diagrammes blocs peuvent être réordonnées, traitées en série et/ou traitées simultanément avec les modes de réalisation de l’invention. De plus, tout organigramme, diagramme séquentiel, et/ou diagramme bloc peut inclure plus de blocs ou moins de blocs que ceux qui sont illustrés conformément aux modes de réalisation de l’invention.In certain alternative embodiments, the functions, actions and / or operations specified in the flowcharts, sequential diagrams and / or block diagrams can be reordered, processed in series and / or processed simultaneously with the embodiments of the invention. In addition, any flowchart, sequence diagram, and / or block diagram may include more blocks or fewer blocks than those illustrated in accordance with the embodiments of the invention.

[00248] La terminologie utilisée dans les présentes a pour but de décrire uniquement des modes de réalisation particuliers et n’est pas destinée à limiter les modes de réalisation de l’invention On comprendra par ailleurs que les formes verbales du verbe « comprendre », 20 « comprend » et/ou « comprenant », lorsqu’elles sont utilisées dans cette spécification, précisent la présence de caractéristiques, de nombres entiers, d’actions, d’étapes, d’opérations, d’éléments, et/ou de composants, mais n’excluent pas la présence ou l’ajout d’une ou de plusieurs caractéristiques, nombres entiers, actions, étapes, éléments, composants et/ou groupes, en cela. De plus, dans la mesure où les verbes « inclure », « ayant », « a », « avec », 25 « composé de » ou des variantes de ceux-là sont utilisés dans la description détaillée ou les revendications, ces termes sont censés être inclusifs de façon similaire à la forme verbale « comprenant ».The terminology used herein is intended to describe only specific embodiments and is not intended to limit the embodiments of the invention. It will also be understood that the verbal forms of the verb "to understand", 20 "includes" and / or "comprising", when used in this specification, specifies the presence of characteristics, whole numbers, actions, steps, operations, elements, and / or components, but do not exclude the presence or addition of one or more characteristics, whole numbers, actions, steps, elements, components and / or groups, in this. In addition, to the extent that the verbs "include", "having", "a", "with", "composed of" or variations thereof are used in the detailed description or claims, these terms are supposed to be inclusive in a similar way to the verb form "comprising".

[00249] 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, le 30 Demandeur n’a pas l’intention 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 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 du Demandeur.Although the invention is illustrated by a description of various embodiments and although these embodiments are described in great detail, the Applicant does not intend to restrict or limit, in any way however, the scope of the claims herein to these details. Additional advantages and possible modifications will be readily apparent to those skilled in the art. The invention from a wider angle is therefore not limited to specific details, representative processes and apparatus, and to the illustrations shown and described by way of example. Therefore, it is possible to depart from these details without departing from the spirit and scope of the Applicant's general inventive concept.

Claims (11)

REVENDICATIONS 1. Un système de traitement d’enregistrements de base de données, le système comprenant :1. A system for processing database records, the system comprising: 5 un ou plusieurs processeurs ; et une mémoire associée à un ou plusieurs processeurs, la mémoire stockant le code programme qui, lorsqu’il est exécuté par un ou plusieurs processeurs, amène le système à : recevoir une interrogation identifiant un premier enregistrement de base de données stocké dans une première base de données ;5 one or more processors; and a memory associated with one or more processors, the memory storing the program code which, when executed by one or more processors, causes the system to: receive a query identifying a first database record stored in a first database of data ; 10 récupérer dans la première base de données un deuxième enregistrement de base de données indexé sur le premier enregistrement de base de données contenant un indice d’interruption qui inclut au moins un tableau qui définit un ensemble d’éléments de données associés ;Retrieving from the first database a second database record indexed on the first database record containing an interruption index which includes at least one table which defines a set of associated data elements; identifier un ensemble d’enregistrements de base de données dans la première base deidentify a set of database records in the first database 15 données qui inclut au moins un des éléments de données lié, l’ensemble des enregistrements de données incluant le premier enregistrement de base de données et un troisième enregistrement de base de données ; et générer un premier tableau à partir de l’ensemble des enregistrements de base de données au moyen de :15 data which includes at least one of the linked data elements, all of the data records including the first database record and a third database record; and generate a first table from all of the database records using: 20 l’initialisation du premier tableau avec les éléments de données dans le premier enregistrement de base de données, et l’ajout d’au moins un élément de données issu du troisième enregistrement de base de données au premier tableau.Initializing the first array with the data elements in the first database record, and adding at least one data element from the third database record to the first array. 2525 2. Le système selon la revendication 1, dans lequel les éléments de données issus du premier enregistrement de base de données consistent en une première série d’éléments de données classés de l’élément de donnée le plus ancien à l’élément de donnée le plus récent, le troisième enregistrement de base de données inclut une deuxième série d’éléments de données classés de l’élément de donnée le plus ancien à l’élément de donnée le plus récent, et le code2. The system of claim 1, wherein the data elements from the first database record consist of a first series of classified data elements from the oldest data element to the oldest data element. newer, the third database record includes a second series of data elements classified from the oldest data element to the most recent data element, and the code 30 de programme amène le système à générer le premier tableau au moyen de :30 of program causes the system to generate the first table by means of: la sélection du dernier élément de donnée auparavant non sélectionné dans le troisième enregistrement de base de données ;selecting the last previously unselected data item in the third database record; la détermination du statut de l’élément de donnée sélectionné ;determining the status of the selected data item; en réponse au statut indiquant que l’élément de donnée sélectionné a été échangé, l’activation d’un signal d’échange et la suppression de l’élément de donnée sélectionné ; et en réponse au statut indiquant que l’élément de donnée sélectionné n’a pas été échangé, l’ajout de l’élément de donnée sélectionné à celui d’un deuxième tableau ou d’un 5 troisième tableau.in response to the status indicating that the selected data item has been exchanged, activating an exchange signal and deleting the selected data item; and in response to the status indicating that the selected data item has not been exchanged, adding the selected data item to that of a second table or a third table. 3. Le système selon la revendication 2, dans lequel le code de programme amène le système à ajouter l’élément de donnée sélectionné à celui du premier tableau ou du deuxième tableau au moyen de :3. The system according to claim 2, wherein the program code causes the system to add the selected data item to that of the first table or the second table by means of: 10 l’ajout de l’élément de donnée sélectionné au deuxième tableau si le signal d’échange n’est pas activé jet l’ajout de l’élément de donnée sélectionné au troisième tableau si le signal d’échange est activé.10 adding the selected data element to the second table if the exchange signal is not activated and adding the selected data element to the third table if the exchange signal is activated. 1515 4. Le système selon la revendication 2 ou 3, dans lequel le code de programme amène le système, en réponse à l’élément de donnée sélectionné étant l’élément de donnée le plus ancien élément de l’enregistrement de la troisième base de données, à mettre à jour le premier tableau au moyen de :4. The system of claim 2 or 3, wherein the program code brings the system in response to the selected data item being the oldest data item in the record of the third database. , to update the first table by means of: l’annexion du deuxième tableau au premier tableau avant l’élément de donnée le plusappend the second table to the first table before the most data element 20 ancien du premier tableau, et l’annexion du troisième tableau au premier tableau après l’élément de donnée le plus récent du premier tableau.20 from the first table, and append the third table to the first table after the most recent data item in the first table. 5. Le système selon l’une quelconque des revendications 2 à 4, dans lequel chaque5. The system according to any of claims 2 to 4, wherein each 25 enregistrement de base de données dans l’ensemble des enregistrements de base de données possède un horodatage indiquant une heure à laquelle l’enregistrement de base de données a été ajouté à la première base de données, l’ensemble des enregistrements de base de données inclut un quatrième enregistrement de base de données, l’horodatage du quatrième enregistrement de base de données se produisant après l’horodatage du troisième25 database record in the set of database records has a timestamp indicating a time at which the database record was added to the first database, the set of database records includes a fourth database record, the time stamp of the fourth database record occurring after the time stamp of the third 30 enregistrement de base de données, et le code de programme amène par ailleurs le système : en réponse au statut indiquant que l’élément de base de données sélectionné a été échangé, à déterminer si l’élément de données sélectionné apparaît dans un élément de prix du quatrième enregistrement de base de données, et si l’élément de base de données sélectionné n’apparaît pas dans l’élément de prix du quatrième enregistrement de base de données, à interrompre le traitement des enregistrements de base de données.30 database record, and the program code also causes the system: in response to the status indicating that the selected database item has been swapped, to determine whether the selected data item appears in a price of the fourth database record, and if the selected database item does not appear in the price item of the fourth database record, to stop processing the database records. 55 6. Le système selon l’une quelconque des revendications 2 à 5, dans lequel la première série d’éléments de données consiste en un premier ensemble de coupons comprenant un premier billet, et la deuxième série d’éléments de données consiste en un deuxième ensemble de coupons comprenant un deuxième billet.The system according to any of claims 2 to 5, wherein the first series of data elements consists of a first set of coupons comprising a first ticket, and the second series of data elements consists of a second set of coupons including a second ticket. 1010 7. Le système selon l’une quelconque des revendications 1 à 6, dans lequel le code de programme amène le système à :7. The system according to any of claims 1 to 6, wherein the program code causes the system to: générer un billet hybride à partir du premier tableau ;generate a hybrid ticket from the first table; déterminer une première valeur pour le billet hybride à l’aide d’un moteur de tarification ; etdetermine a first value for the hybrid ticket using a pricing engine; and 15 attribuer la première valeur au premier enregistrement de base de données.15 assign the first value to the first database record. 8. Le système de la revendication 7 dans lequel le code de programme amène par ailleurs le système à :8. The system of claim 7 wherein the program code further causes the system to: déterminer une deuxième valeur pour un cinquième enregistrement de base dedetermine a second value for a fifth basic record of 20 données pour lequel le premier enregistrement de base de données fait l’objet d’un échange à l’aide du moteur de tarification ;20 data for which the first database record is exchanged using the pricing engine; déterminer une troisième valeur égale à la différence entre la deuxième valeur et la première valeur ; et attribuer la troisième valeur au cinquième enregistrement de base de données.determining a third value equal to the difference between the second value and the first value; and assigning the third value to the fifth database record. 9. Le système selon l’une quelconque des revendications 1 à 4, dans lequel chaque enregistrement de base de données dans l’ensemble des enregistrements de base de données possède un horodatage indiquant une heure à laquelle l’enregistrement de base de données a été ajouté à la première base de données, et le code de programme amène par ailleurs leThe system according to any of claims 1 to 4, wherein each database record in the set of database records has a time stamp indicating a time at which the database record was added to the first database, and the program code also brings the 30 système à :30 system to: trier l’ensemble des enregistrements de base de données en fonction de l’horodatage de chaque enregistrement de base de données, de telle façon que l’ensemble des enregistrements de base de données est configuré en tant qu’une série d’enregistrements de base de données classée issue de l’enregistrement de base de données possédant l'horodatage le plus ancien à l’enregistrement de base de données possédant l’horodatage le plus récent.sort the set of database records according to the timestamp of each database record, so that the set of database records is configured as a series of basic records classified data from the database record with the oldest timestamp to the database record with the most recent timestamp. 10. Un procédé de traitement des enregistrements de base de données, le procédé10. A process for processing database records, the process 5 comprenant :5 including: la réception d’une interrogation identifiant un premier enregistrement de base de données stocké dans une première base de données ;receiving a query identifying a first database record stored in a first database; la récupération, à partir d’une deuxième base de données, d’un deuxième enregistrement de base de données indexé sur le premier enregistrement de base de données, 10 le deuxième enregistrement de base de données contenant un indice d’interruption qui inclut au moins un tableau qui définit un ensemble d’éléments de données liés ;retrieving from a second database a second database record indexed to the first database record, the second database record containing an interrupt index which includes at least an array that defines a set of linked data elements; l’identification d’un ensemble d’enregistrement de base de données dans la première base de données qui inclut au moins un des éléments de données associés, l'ensemble des enregistrements de base de données incluant le premier enregistrement de base de données et 15 un troisième enregistrement de base de données ; et la génération d’un premier tableau issu de l’ensemble des enregistrements de base de données au moyen de :identifying a set of database records in the first database which includes at least one of the associated data items, the set of database records including the first database record and a third database record; and the generation of a first table from all the database records by means of: l’initialisation du premier tableau avec les éléments de données issus du premier enregistrement de base de données, etinitialization of the first array with the data elements from the first database record, and 20 l’ajout d’au moins un élément de donnée issu du troisième enregistrement de donnée au premier tableau.20 adding at least one data element from the third data record to the first table. 11. Un produit-programme informatique comprenant des instructions de code de programme enregistrées sur un support lisible par11. A computer program product comprising program code instructions recorded on a medium readable by 25 ordinateur pour mettre en œuvre les étapes du procédé conformément à la revendication 10 lorsque ledit programme est exécuté sur un ordinateur.25 computer to implement the steps of the method according to claim 10 when said program is executed on a computer. 1/24 λ1/24 λ J λJ λ //
FR1750077A 2017-01-05 2017-01-05 INTERRUPT INDEX TO TRACK DATABASE RECORDS Active FR3061575B1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
FR1750077A FR3061575B1 (en) 2017-01-05 2017-01-05 INTERRUPT INDEX TO TRACK DATABASE RECORDS
EP18700188.8A EP3566188A1 (en) 2017-01-05 2018-01-05 Disruption index for tracking database records
CN201880005972.6A CN110140136B (en) 2017-01-05 2018-01-05 Interrupt index for tracking database records
PCT/EP2018/050241 WO2018127551A1 (en) 2017-01-05 2018-01-05 Disruption index for tracking database records

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1750077A FR3061575B1 (en) 2017-01-05 2017-01-05 INTERRUPT INDEX TO TRACK DATABASE RECORDS
FR1750077 2017-01-05

Publications (2)

Publication Number Publication Date
FR3061575A1 true FR3061575A1 (en) 2018-07-06
FR3061575B1 FR3061575B1 (en) 2022-03-04

Family

ID=58707698

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1750077A Active FR3061575B1 (en) 2017-01-05 2017-01-05 INTERRUPT INDEX TO TRACK DATABASE RECORDS

Country Status (1)

Country Link
FR (1) FR3061575B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2881901A1 (en) * 2013-12-09 2015-06-10 Amadeus S.A.S. Automated refund of travel document subsequent to involuntary exchange
US20160307281A1 (en) * 2015-04-14 2016-10-20 Amadeus S.A.S. Selecting search results for responding to search query

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2881901A1 (en) * 2013-12-09 2015-06-10 Amadeus S.A.S. Automated refund of travel document subsequent to involuntary exchange
US20160307281A1 (en) * 2015-04-14 2016-10-20 Amadeus S.A.S. Selecting search results for responding to search query

Also Published As

Publication number Publication date
FR3061575B1 (en) 2022-03-04

Similar Documents

Publication Publication Date Title
AU2012290777B9 (en) Travel expense automation
US10803459B2 (en) Online transaction processing system for multi-product transactions
FR3066299A1 (en) A SYSTEM AND METHOD FOR PROCESSING AND ACCOUNTING RECONCILIATION OF AN INVOICE DATA FILE
US20120254261A1 (en) Digital travel record
CN101512582A (en) System for managing travel vouchers and method of same
CN113205402A (en) Account checking method and device, electronic equipment and computer readable medium
FR3061575A1 (en) INTERRUPTION INDEX FOR TRACKING DATABASE RECORDS
US20170046636A1 (en) Method and system for providing travel support services
US20170177575A1 (en) Processing transactions involving an exchange of an electronic document
JP6976346B2 (en) Non-standard data management in a data management system
US20170278019A1 (en) Online transaction processing system for multi-product transactions
US10592206B2 (en) Disruption index for tracking database records
FR3078189A1 (en) EXCHANGES WITH AUTOMATIC ACCOUNTING OF FACTORS ASSOCIATED WITH EXCHANGES
FR3090960A1 (en) AUTOMATIC LEARNING FOR FRAUD DETECTION IN A COMPUTER RESERVATION SYSTEM
CN111680150A (en) Information processing method, device, equipment and storage medium
FR3062228A1 (en) AGREGATIVE DATABASE OF RECORDINGS CONTEXT
FR3079040A1 (en) SYSTEM AND METHOD FOR PROVIDING PRODUCTS
US20150294236A1 (en) Electronic miscellaneous document handling in response to voluntary modifications of ancillary services
FR3055995A1 (en) DATABASE MANAGEMENT SYSTEM
CN110140136B (en) Interrupt index for tracking database records
FR3055056A1 (en) GENERATION OF RECOMMENDATIONS FOR ROUTES HAVING TWO OR MORE SEGMENTS
FR3048299A1 (en)
FR3063824A1 (en) COORDINATED DISTURBANCE MANAGEMENT
FR3049368A1 (en) ONLINE TRANSACTION PROCESSING SYSTEM FOR TRANSACTIONS INVOLVING MULTIPLE PRODUCTS
FR3049367A1 (en) ONLINE TRANSACTION PROCESSING SYSTEM FOR TRANSACTIONS INVOLVING MULTIPLE PRODUCTS

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20180706

PLFP Fee payment

Year of fee payment: 4

PLFP Fee payment

Year of fee payment: 5

PLFP Fee payment

Year of fee payment: 6

PLFP Fee payment

Year of fee payment: 7

PLFP Fee payment

Year of fee payment: 8