Patent Publication Number: US-2023145466-A1

Title: Systems and methods for a centralized gift registry with automatic retailer-specific registry creation

Description:
BACKGROUND 
     This disclosure relates generally to the field of gift registries. More particularly, this disclosure relates to systems and methods for merging and managing gift registries. 
     Gift registries are known and used in a number of different markets, with the most common area being wedding registries. Gift registries may also be referred to as wish lists. Gift registries include a list of gift items (or gifts) that a gift registrant desires. Gift registrants may also be referred to as gift recipients. The advent of widespread access to communications networks such as the Internet has led to the development of web applications capable of accessing gift registries. Some gift registries are associated with an event. An event may be, for example, an engagement, wedding, anniversary, birthday, graduation, religious holiday, baby shower, baptism, confirmation, Mother&#39;s day, Father&#39;s day, or any other significant event. Such gift registries may, in addition to gift information, have event information such as type and date of an event. 
     Retailers that provide registry services (hosted at their own servers or by third party servers over a communications network such as the Internet) typically restrict the content of their “retailer-specific” (gift) registries to products offered by the retailer. Thus, gift registrants for major events, such as weddings, must still register with several different retailers in order to create such retailer-specific registries in order to obtain all their desired gifts. Often gift registrants are not satisfied with the scope of their selections even after creating several different retailer-specific registries. In fact, the typical gift registrant does not create more retailer-specific registries because of the burden it places on guests and because of the high degree of effort required, e.g., in updating gifts on each retailer-specific registry, to maintain such a large number of retailer-specific registries. Even with the introduction of Internet-accessible gift registries, retailer-specific gift registries require gift givers attempting to buy gifts for gift registrants to search multiple retailer-specific web sites. Such an inconvenience is magnified when the gift giver does not know where the gift registrant is registered. 
     A multi-retailer registry is one in which the gift list of the gift registry is a combination of gifts from a plurality of retailers. The multi-retailer registry may be created, for example, by a gift registrant manually entering large amounts of information, such as a gift descriptions, prices, and possible retailers where the gift items can be found. In this respect, multi-retailer registries are quite unsatisfactory. First, because the gift registrant must manually enter large amounts of information, multi-retailer registries are not gift registrant-friendly. Second, because multi-retailer registries are generally not associated with particular retailers; they do not receive any communication from a respective retailer. Without retailer communication feedback, the multi-retailer registry is not updated, e.g., when purchases are made. Thus, gift givers and/or gift registrants must diligently update the multi-retailer registry themselves, e.g., after making changes to a gift item or making a purchase from a retailer-specific registry. 
     SUMMARY 
     It is an objective of the present disclosure to provide systems and methods for a centralized gift registry system. The centralized gift registry includes gift items from at least one retailer-specific registry. A retailer-specific registry whose items have been merged into the gift list of the centralized gift registry system is also referred to as an “associated” retailer-specific registry, i.e., the centralized gift registry is associated with the respective retailer-specific registry. For example, gifts may be merged into the gift list of the centralized gift registry from existing retailer-specific gift registries (e.g., for retailers such as Macy&#39;s. Target, etc.). In some embodiments, the centralized gift registry may also include gifts added from a retailer&#39;s catalog (e.g., using a centralized gift registry “Add from Anywhere” feature). In some embodiments, the centralized gift registry may also include gifts added from the centralized gift registry&#39;s catalog of gift items. 
     In some embodiments, a centralized gift registry system may include a centralized gift registry of a gift registrant. The centralized gift registry itself may include a gift common between the centralized gift registry and a retailer-specific registry. The centralized gift registry system may also include a memory for storing the centralized gift registry, and a network interface for communicating with a communications network. The communications network is accessible to at least one retailer-specific registry, a gift giver and the gift registrant. The centralized gift registry system may also include a processor in communication with the memory and the network interface. 
     In some embodiments, the centralized gift registry system is configured such that automatic synchronization of gifts that are common to the centralized gift registry and the retailer-specific registries occurs in near real-time or at periodic intervals. Synchronization may include the propagation of updates to gift items common to a centralized gift registry and a retailer-specific gift registry. These updates may be required when, for example, a gift giver purchases a gift or a gift registrant updates the desired quantity for a gift. For example, in some embodiments, the processor of the centralized gift registry system may be configured to receive, e.g., over a communications network, an update to a gift of the centralized gift registry from a gift giver, a gift registrant or at least one retailer-specific registry system. The processor of the centralized gift registry system may also be configured to send, e.g., over the communications network, an update to a gift from the centralized gift registry system to the at least one retailer-specific registry system. An update includes at least one of a change in the desired quantity of the gift, a decrease in the desired quantity of the gift responsive to a purchase request, a deletion of a gift from the centralized or retailer-specific gift registry, and an addition of a gift to the centralized or retailer-specific gift registry. The processor may also be configured to modify the centralized gift registry to include the update to the gift. In this manner, the gift items common to the at least one retailer-specific registry and the centralized gift registry is synchronized. This process may be referred to as “linking and syncing” the retailer-specific registry with the centralized gift registry. The synchronization may occur in near real-time or periodically. The synchronization period may be any suitable period, e.g., between every two minutes and every 24 hours. 
     In some embodiments, the synchronization of gifts may be performed using an Application Programming Interface (API) of the centralized gift registry system and/or a retailer system&#39;s API configured to allow the exchange of data between the centralized registry and the retailer-specific registries. For example, the processor of the centralized gift registry system may send a request via an API function call to the retailer-specific registry system. In some embodiments, a gift giver or a gift registrant may search for and/or filter the gift items in the centralized gift registry. The search and/or filter operations may be performed across a broad range of categories including, e.g., by retailer, by category (e.g., kitchen, bedroom, bathroom), and by price. 
     In some embodiments, when the purchase of a gift item or other update to the retailer-specific registry occurs, the centralized gift registry is updated and gift item updates are sent to the retailers and/or existing retailer-specific registry hosts to update their respective registries. These updates may be sent by generating and transmitting a request from the centralized gift registry system to the retailer-specific registry system&#39;s API. 
     In some embodiments, when a gift registrant accesses the centralized gift registry, the centralized gift registry system automatically searches for all retailer online and retailer store registries pertaining to the gift registrant. The gift items from the detected retailer-specific registries are then uploaded and merged (i.e., imported) into the gift list of the centralized gift registry. In some embodiments, the processor of the centralized gift registry may be configured to receive a request from the gift registrant to import a retailer-specific registry for the gift registrant into the centralized gift registry. In other embodiments, the processor may automatically (i.e., without a request from the gift registrant) import a retailer-specific registry for the gift registrant into the centralized gift registry. The processor of centralized gift registry system is also configured to receive information on gift items of the retailer-specific registry, and import the gift items of the retailer-specific registry into the centralized gift registry. In this manner, a gift common to the centralized gift registry and at least one retailer-specific registry is included on the gift registry. 
     In some embodiments, the creation of the centralized gift registry may provoke the creation of retailer-specific registries on the respective retailers&#39; systems. In some embodiments, the centralized gift registry system includes a centralized gift registry of a gift registrant including a gift available from at least one retailer, and the processor of the centralized gift registry system is configured to send a request for creating a retailer-specific registry of the gift registrant. The retailer-specific registry is associated with the at least one retailer such that the gift is included on both the centralized gift registry and the retailer-specific registry. In some embodiments, the processor first determines if the retailer-specific registry of the gift registrant exists, and sends the request for creating the retailer-specific registry in response to this determination. If the retailer-specific registry exists, the processor sends a request to add the gift to the retailer-specific registry. In some embodiments, the processor is configured to receive a request from the gift registrant for creating the retailer-specific registry. 
     In some embodiments, when gifts are added to the gift list of the centralized gift registry from a retailer&#39;s catalog, one or more retailer-specific registries including these gift items may be created. In other embodiments, when a gift registrant accesses the centralized gift registry to create or modify their gift list, they may select one or more retailers. The centralized gift registry system may then automatically submit a request for the creation of retailer-specific registries at each of the retailers selected by the gift registrant, based in part on information provided to the centralized gift registry by the gift registrant. The information may be associated with one or more gift items. This creation process may involve the use of retailer-specific and/or centralized gift registry system&#39;s APIs. The registry creation process may involve generating and transmitting a request for creation of the registry from the centralized gift registry to the respective retailer system&#39;s API. Gifts that pertain to a particular retailer&#39;s system are passed on to that retailer&#39;s system allowing for the creation of one or more retailer-specific registries using gift items from the centralized gift registry. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The detailed description below of certain illustrative embodiments of the present disclosure refers to the accompanying drawings, of which: 
         FIG.  1 A  is a block diagram of a centralized gift registry system including a web/app server, according to an illustrative embodiment; 
         FIG.  1 B  is a block diagram of a registry web/app server, according to an illustrative embodiment; 
         FIG.  2    is an information flow diagram for requests sent over a communications network between a centralized gift registry and a retailer, according to an illustrative embodiment; 
         FIG.  3    shows data structures that may be associated with a centralized gift registry, according to an illustrative embodiment; 
         FIG.  4    is an initial display screen for a gift registrant or gift giver before they have authenticated their identity with the centralized gift registry system, according to an illustrative embodiment; 
         FIG.  5    is a display screen for a gift registrant once they have authenticated their identity with the centralized gift registry system, according to an illustrative embodiment; 
         FIG.  6    is a display screen showing how a gift registrant may add items from a retailer&#39;s catalog to a gift list of the centralized gift registry system, according to an illustrative embodiment: 
         FIG.  7    is a display screen showing how a gift registrant may add items by retailer to a gift list of the centralized gift registry system, according to an illustrative embodiment; 
         FIG.  8    is a display screen showing how a gift registrant may add items by category from a retailer&#39;s catalog to a gift list of the centralized gift registry system, according to an illustrative embodiment; 
         FIG.  9    is a display screen showing how a gift registrant may begin to import retailer-specific registry items into a centralized gift registry, according to an illustrative embodiment; 
         FIGS.  10 A,  10 B, and  10 C  illustrate several display screens with options for how a gift registrant may begin to import retailer-specific registry items into a centralized gift registry, according to illustrative embodiments; 
         FIG.  11    is a display screen showing how a gift giver and/or a gift registrant may update or purchase gift items from a gift list of a centralized gift registry, according to an illustrative embodiment; 
         FIG.  12 A  is a display screen showing how a gift registrant may add a cash gift item to a gift list of a centralized gift registry, according to an illustrative embodiment; 
         FIG.  12 B  is a display screen showing how a gift giver and/or a gift registrant may update or purchase a cash gift item of a gift list of a centralized gift registry, according to an illustrative embodiment; 
         FIGS.  13 A-F  are process flow diagrams for the synchronization of gift items between one or more retailers and a centralized gift registry, according to illustrative embodiments; 
         FIG.  14 A  is a process flow diagram for creating a centralized gift registry and merging gift items from a retailer-specific registry into a gift list of the centralized gift registry, according to an illustrative embodiment; 
         FIG.  14 B  is a process flow diagram for associating gift items from a retailer-specific registry into the gift list of a centralized gift registry, according to an illustrative embodiment: 
         FIG.  15 A  is a process flow diagram illustrating a process by which a gift registrant may add gift items from a retailer&#39;s catalog into a centralized gift registry, according to an illustrative embodiment; 
         FIG.  15 B  is a process flow diagram illustrating a process by which a gift registrant may add gift items from a retailer&#39;s catalog into a centralized gift registry, according to an illustrative embodiment; and 
         FIGS.  16 A,  16 B, and  16 C  are process flow diagrams illustrating processes that may be used to add and/or synchronize gift items common to a gift list of a retailer-specific registry and a centralized gift registry, according to an illustrative embodiment. 
     
    
    
     DETAILED DESCRIPTION OF CERTAIN ILLUSTRATIVE EMBODIMENTS 
     Various illustrative devices and platforms that may implement embodiments of the present centralized gift registry system are described in more detail below with reference to  FIGS.  1 A,  1 B,  2 , and  3   . Display screens for illustrative embodiments are described with reference to  FIGS.  4 ,  5 ,  6 ,  7 ,  8 ,  9 ,  10 A -C,  11 ,  12 A, and  12 B. While the display screens of  FIGS.  4 ,  5 ,  6 ,  7 ,  8 ,  9 ,  10 A -C,  11 ,  12 A, and  12 B are illustrated as full or partial-screen displays (e.g., web pages), they may generally be displayed in any suitable size or format.  FIGS.  13 A-F ,  14 A,  14 B,  15 A,  15 B,  16 A, and  16 B contain illustrative process flow diagrams for processes that may be implemented on the centralized gift registry systems of  FIGS.  1 A,  1 B,  2 , and  3   , to generate displays (e.g., web pages), e.g., the display screens of  FIGS.  4 ,  5 ,  6 ,  7 ,  8 ,  9 ,  10 A -C,  11 ,  12 A, and  12 B. 
       FIG.  1 A  shows a block diagram of a centralized gift registry system  100 , which includes one or more Internet servers/application servers or web/app servers  102   a . Centralized gift registry system  100  may include gift items from several retailer-specific registries. The web/app servers  102   a  (discussed further in relation to  FIG.  1 B ) are in communication with one or more e-commerce servers  103 , a storage  104   a , a network interface  112   d , and a user interface  111 , via system network  118 . The communications between these devices may be wired or wireless communications. Storage  104   a  may include storage devices  120   a  and/or storage devices  120   b . Storage devices  120   a  and  120   b  may include any suitable fixed or removable storage devices, e.g., hard drives and optical drives, and include any suitable memory, e.g., random-access memory, read-only memory. This memory may be used to store any suitable information for centralized gift registry system  100 . In some embodiments, memory within storage device  136  may store computer-readable program instructions, e.g., an API, which, when executed by a processor within a computing device (not shown) at retailer system  134   a , may perform a particular process. In some embodiments, memory within storage device  136  may store one or more data structures (described in detail below in reference to  FIG.  3   ) associated with items available on gift lists for gift registrants  132 , one or more gift lists common to one or more retailer systems  134   a  (e.g., on their retailer-specific registries) and centralized gift registry system  100 , or any other suitable information. 
     Network interface  112   d  may include a cable modem, an integrated services digital network (ISDN) modem, a digital subscriber line (DSL) modem, a telephone modem, a wireless modem, a satellite receiver, a router, a wireless or wired modem, a cellular or satellite phone, or any other suitable equipment that allows for communication between the web/app servers  102  and a communications network  114 . System network  118  and communications network  114  may be any suitable wired or wireless network, including a broadcast, cable, or satellite television network and/or the Internet. User interface  111  may include a PC, a laptop, a tablet, a WebTV box, a personal computer television (PC/TV), a PC media server, a PC media center, a PDA, a mobile telephone, or any other user computer equipment, including storage devices, user input devices, and display devices. (WebTV is a trademark owned by Microsoft Corp.) Centralized gift registry system  100  may include a router (e.g., a gateway router manufactured by Cisco Corp.) and/or a load balancer. The router may serve as a gateway between centralized gift registry system  100  and communications network  114 , while the load balancer may function to balance the storage load among the storage devices  120   a  and  120   b  in within storage  104   a.    
     Centralized gift registry system  100  may communicate with one or more gift givers  130 , one or more gift registrants  132 , and one or more retailer systems  134   a  over communications network  114 . The retailer systems  134   a  host one or more retailer-specific registries. Each gift giver  130  and gift registrant  132  may have their own user equipment. The user equipment may include a user interface ( 131 ,  133 ,  135 ) and/or a network interface ( 112   a ,  112   b ,  112   c ). Retailer  134  may include a web/app server, or other suitable computer equipment capable of communicating with web/app server  102   a  of centralized gift registry system  100 . Each of the network interfaces  112   a - c  may include a cable modem, an integrated services digital network (ISDN) modem, a digital subscriber line (DSL) modem, a telephone modem, a wireless modem, a satellite receiver, a router, a wireless or wired modem, a cellular or satellite phone, or any other suitable equipment that allows for communication with communications network  114 . Each user interface  131 ,  133 ,  135  may include a keyboard, a mouse, a PC, a laptop, a tablet, a WebTV box, a personal computer television (PC/TV), a PC media server, a PC media center, a PDA, a mobile telephone, or any other user computer equipment, including storage devices, user input devices, and display devices. For instance, retailer system  134   a  may have associated storage device  136 . Storage device  136  may include memory. This memory may be used to store any suitable information for the retailer. In some embodiments, memory within storage device  136  may store computer-readable program instructions, e.g., an API, which, when executed by a processor within a computing device (not shown) at retailer system  134   a , may perform a particular process. In some embodiments, memory within storage device  136  may store one or more data structures (described in detail below in reference to  FIG.  3   ) associated with items available for purchase at the retailer, items on gift lists for gift registrants  132 , one or more gift lists common to a retailer&#39;s retailer-specific registry system and centralized gift registry system  100 , or may store any other suitable information. 
     Web/app server  102   a  of centralized gift registry system  100  may act as a host for a centralized gift registry, such as a wedding registry. The gifts on the gift list of the centralized gift registry may be stored in storage  104   a  in the form of any suitable data structure and using any suitable database programming environment, e.g., a MySQL database associated with a Linux or Apache server. In such an implementation, one set of storage devices  120   a  may act as the “master” MySQL database, while the other set of storage devices  120   b  may act as the “slave” MySQL database. Web/app server  102   a  may receive messages from a gift registrant  132  over communications network  114 . These messages may include requests for creating the centralized gift registry, requests for searching for an associated retailer-specific registry, requests for adding items to the centralized gift registry, requests for removing items from the centralized gift registry, requests for adding a cash gift to the centralized gift registry, requests to pass messages to one or more gift givers, requests for removing a cash gift from the centralized gift registry, requests for modifying display screens (e.g., web pages) of the centralized gift registry, requests to update the gift list of the centralized gift registry, or any other suitable requests. Each of these requests may include a request for authentication, whereby the identity of the gift registrant  132  is authenticated with the web/app server  102   a . These requests may be processed by a processor of web/app server  102   a  using a centralized gift registry API, as will be discussed further in reference to  FIGS.  2  and  3   . In response to the received requests, web/app server  102   a  may generate and send display screens, e.g., in http or XML format, or other information associated with the centralized gift registry to a gift registrant  132 . 
     Web/app server  102   a  may also receive messages from a gift giver  130  over communications network  114 . These messages may include requests for searching for a gift registrant&#39;s centralized registry or a retailer-specific registry that is associated with the gift registrant&#39;s centralized gift registry, requests for purchasing gifts from the centralized gift registry, requests to pass a message to a gift registrant, requests for receiving display screens including gifts from a gift registrant&#39;s gift list, requests for modifying display screens of the centralized gift registry, or any other suitable requests. Each of these requests may include a request for authentication, whereby the identity of the gift giver  130  is authenticated with the web/app server  102   a . These requests may also be processed by a processor of web/app server  102   a  using the centralized gift registry system&#39;s API, as will be discussed further in reference to  FIGS.  2  and  3   . In response to the received requests, web/app server  102   a  may send display screens, e.g., in http format, or other information to the gift giver  130  or gift registrant  132 . 
     Web/app server  102   a  may also receive messages from a retailer system  134   a , e.g., from the retailer&#39;s retailer-specific registry system over communications network  114 . These messages may include requests for searching for a gift registrant&#39;s centralized gift registry, requests for purchasing gifts or other items from the centralized gift registry, requests to pass a message to a gift registrant or a gift giver, requests for receiving display screens including gifts from a gift registrant&#39;s gift list, requests for modifying display screens of the centralized gift registry, or any other suitable messages. Each of these requests may include a request for authentication, whereby the identity of the retailer  130  is authenticated with the web/app server  102   a . These requests may also be processed by a processor of web/app server  102   a  using the centralized gift registry API, as will be discussed further in reference to  FIGS.  2  and  3   . In response to the received requests, web/app server  102   a  may send display screens, e.g., in http format, or other information to the retailer system  134   a.    
     In some embodiments, the e-commerce server(s)  103  ( FIG.  1 A ) is used to process purchase requests received by the web/app server  102   a . In some embodiments, e-commerce servers associated with retailer(s)  134   a  ( FIG.  1 A ) are configured to process purchase requests received by either the centralized gift registry system  100  ( FIG.  1 A ) or an associated retailer-specific registry system. Once the purchase request has been fulfilled by an e-commerce server, an indication that the purchase request has been fulfilled may be transmitted between the centralized gift registry system  100  ( FIG.  1 A ) and an associated retailer-specific registry system. 
       FIG.  1 B  is a detailed block diagram of a web/app server  102   b , which may be part of centralized gift registry system such as web/app server  102   a  ( FIG.  1 A ), or a retailer web/app server (not shown in  FIG.  1 A ). Web/app server  102   b  includes a central processing unit (CPU)  106 , and internal memory  104   c . Memory  104   c  may include an API  103   a  and/or any other suitable programming environment  103   b . Web/app server  102   b  may be in communication via network  150  with one or more input devices  111   a , a network interface  112   e , storage  104   b , a display  111   b , and one or more output devices  111   c . The network interface  112   e  may include similar components to the network interfaces  112   a - d  described above in relation to  FIG.  1 A . Network  150  may be any suitable wired or wireless network. Storage  104   b  may also be similar to the storage  104   a  described above in relation to  FIG.  1 A . Display  111   b  may include any suitable display device, e.g., a LCD or plasma display. Input devices  111   a  may include a keyboard, a mouse, a remote control, or any other suitable device, while output devices  111   c  may include external memory or other peripheral devices that may be operable when connected to web/app server  102   b  via network  150 . 
       FIG.  2    is an information flow diagram for requests sent between one or more web/app servers of a centralized gift registry system (e.g., centralized gift registry system  100  of  FIG.  1 A ) and one or more web/app servers of a retailer (e.g., retailer  134  of  FIG.  1 A ) over a communications network, such as communications network  114  ( FIG.  1 A ). Those skilled in the art will recognize that equipment other than web/app servers may be used to initiate or respond to these requests. For example, a backend server at a retailer&#39;s system may respond to, or initiate, requests to the centralized gift registry system. 
       FIG.  2    shows a centralized gift registry system  202  including a web/app server and centralized gift registry system&#39;s API, and a retailer  234  which may also include a web/app server and a retailer-specific registry system&#39;s API. The API may be programming language-dependent or language-independent. For example, requests via an API function call to a web/app server may be made in a particular language or format (e.g., http, XML), while responses to requests may be made in the same or a different language or format, e.g., Representational State Transfer—REST (with Extensible Mark up Language—XML) or Javascript Object Notation—JSON. In some embodiments, the retailer web/app server may send requests  210  via the centralized gift registry system&#39;s API. Requests  210  may be made in any suitable format, e.g., http, and may include requests for authentication, requests for searching the centralized gift registry, requests for viewing or updating a centralized gift registry, and requests for creating a gift registrant profile with the centralized gift registry system. In addition, the centralized gift registry system&#39;s web/app server may send requests  220  via the retailer-specific registry system&#39;s API. Requests  210  may be sent in any suitable format, e.g., http, and may include requests for authentication, requests for searching the retailer-specific gift registry, requests for viewing or updating the retailer-specific gift registry, and requests for creating a gift registrant profile on the retailer-specific registry system. 
     In some embodiments, the retailer-specific and/or centralized gift registry system&#39;s APIs are a set of “allowable” http request messages and a suitably defined set of responses. The responses may be sent in any suitable language, e.g., REST with XML or JSON. Programming references for these languages are readily available, and those skilled in the art will appreciate their availability. In some embodiments, the centralized gift registry system API allows for a number of requests from a retailer. For instance, a retailer web/app server may be able to search for, view, create, and edit registries via API function calls to the centralized gift registry system. 
     In some embodiments, each request made via the centralized gift registry system&#39;s API must be authenticated. An API request may also be referred to as an API function call. This authentication may be performed in any suitable manner, e.g., using a client-server public-private key system, e.g., by computing a digital signature using the HMAC-SHA1 signature method. For instance, requests made by either the centralized gift registry system or the retailer-specific registry system may be authenticated by computing a digital signature using the HMAC-SHA1 signature method. Those skilled in the art will appreciate that the retailer-specific registry system or centralized gift registry system may digitally sign an API request using a secret private key that only these systems and the respective API web/app server know. To carry out such authentication, each gift registry system&#39;s API request may include fields such as api_key (a public key provided to the retailer-specific registry system or centralized gift registry system that allows the API to know their identity), api_sig (e.g., a HMAC-SHA1 signature of the request that is generated by the retailer-specific registry system or centralized gift registry system client using their private key), nonce (a unique random ID generated by the retailer-specific registry system or centralized gift registry system to identify their request), date (the date and/or time when the request is made). In some embodiments, access to the centralized gift registry system API may be restricted such that a retailer&#39;s system will only receive a public key and a private key string if the retailer has permission to make requests the centralized gift registry system API. As with most public-private key systems, the private key string is used only to digitally sign the API request and is not included in the API request. On the other hand, the public key is included in each API request so that the centralized gift registry system can determine, based at least in part on the digital signature of the API request, that the retailer-specific registry system&#39;s private key generated the API request. 
     In some embodiments, the retailer web/app server may host a retailer gift registry, while the gift registry web/app server will host a centralized gift registry. The centralized gift registry may include gift items available from multiple retailers&#39; catalogs and/or retailer-specific registries. These gift items may be added into the gift list stored on the centralized gift registry system (e.g., of centralized gift registry system  100  of  FIG.  1 A ). The retailer-specific registry system and/or the centralized gift registry system may store information in addition to the registries themselves. This information may include information about a gift registrant (e.g., an upcoming event, contact information for the gift registrant, shipping and mailing address information for the gift registrant) and/or information regarding one or more gift items associated with the retailer&#39;s offerings. In some embodiments, the retailer web/app server does not host a retailer-specific gift registry, but may provide this information to the centralized gift registry in response to requests made via the retailer-specific registry system&#39;s API. In some embodiments, the retailer web/app server does not host a retailer-specific gift registry, and does not include an API. In this case, the retailer may provide information to the centralized gift registry in response to “scraping” requests (e.g., in http) it receives from the centralized gift registry. The centralized gift registry web/app server may also provide information to a retailer in response to requests made via the retailer-specific gift registry system&#39;s API. 
     There are several requests that can be made via an API to a web/app server. A “SEARCH” API request may be used to perform registry searches and query a centralized gift registry or retailer-specific registry for registries that match the profile and/or event of a particular gift registrant. The details for such a registry may be retrieved with a request via the API. A SEARCH API request may include several fields and/or variables in any suitable format. For example, a SEARCH API request may include inter alia the fields (variables) fn (first name of gift registrant), ln (last name of gift registrant), ain (authentication information, e.g., a password associated with a respective API), em (month of gift registrant&#39;s event), ey (year of gift registrant&#39;s event), and limit (the quantity of results to return, e.g., a maximum of 100). A “GET” API request may be used to obtain a complete collection of all gifts of a gift list of the retailer-specific or centralized gift registry. Optionally, this collection may include so-called “buy” uniform resource locators (URLs) for each gift item that can be used to determine the desired quantity and number purchased for a particular gift item. Such URLs may be transmitted to the gift registry system&#39;s API web/server from an e-commerce server, e.g., server  103  ( FIG.  1 A ). A GET API request may include inter alia the fields (variables) fn (first name of gift registrant), ln (last name of gift registrant), gl (list of gift items), gn (number of gift items), rsrh (host of the retailer-specific registry), ain (authentication information, e.g., a password associated with a respective API), em (month of gift registrant&#39;s event), ey (year of gift registrant&#39;s event), and limit (the quantity of results to return, e.g., a maximum of 100). A “POST” API request may be used to add an item to a centralized or retailer-specific gift registry or to update an item on a centralized or retailer-specific gift registry. The centralized or retailer-specific gift registry system&#39;s API may be used to add/update centralized or retailer-specific gift registry items and respond to the requester with a “successfully added” or “pending” http message. A POST API request may include inter alia the fields (variables) fn (first name of gift registrant), ln (last name of gift registrant), ugi (gift item update, e.g., add, delete, increase quantity to x, decrease quantity to y), gn (number of gift items), rsrh (host of the retailer-specific registry), ain (authentication information, e.g., a password associated with a respective API), em (month of gift registrant&#39;s event), and ey (year of gift registrant&#39;s event). 
     Each of the above-described requests may require authentication by the web/app server hosting the API, as described above. A “CREATE” API request may be used to create a retailer-specific gift registry. This API request is generally used if or when the centralized gift registry system wants to create one or more retailer-specific registries on respective retailer websites or stores, or vice-versa. A POST API request may include inter alia the fields (variables) fn (first name of gift registrant), ln (last name of gift registrant), gi (gift item information, e.g., SKU number, bar code, unique identifier), gc (gift item category, e.g., kitchen, bedding, bath), gn (number of gift items), rsrh (host of the retailer-specific registry), ain (authentication information, e.g., a password associated with a respective API), em (month of gift registrant&#39;s event), and ey (year of gift registrant&#39;s event). Those skilled in the art will come to realize that each of the above-described requests may require authentication by the web/app server hosting the API, as described above. Furthermore, each of the above-described requests may include any suitable fields and/or variables. As mentioned above, the retailer and/or centralized gift registry systems may not include an API. In these embodiments, requests may be made using a non-API environment, e.g., “scraping” requests may be made to the centralized gift registry or retailer web/app server, e.g., in http format. 
     As described above, a retailer-specific registry and/or a centralized gift registry includes information about items on a gift list. This information may be stored in a data structure within a memory, such as memory in storage  104   a  ( FIG.  1 A ) or  104   b  ( FIG.  1 B ). 
       FIG.  3    illustrates data structures that may be associated with a retailer-specific and/or a centralized gift registry system, without limitation. Gift registry data structure  300  may store information, i.e., metadata (e.g., Gift_Item_ 1 , Gift_Item_ 2 , Gift_Item_ 3 , . . . , Gift_Item_N) and/or pointers (e.g., P_ 1 , P_ 2 , P_ 3 , . . . , P_N), that is associated with one or more gift items of the centralized or retailer-specific gift registry. Data structure  300  may be stored in a storage device such as storage  104   a  ( FIG.  1 A ) or  104   b  ( FIG.  1 B ). The metadata and pointers in data structure  300  may be associated with gift items. For instance, each entry in the data structure  300  may be associated with an individual gift item, or may contain a pointer from a particular gift item to a second data structure comprising more information on that particular gift item, such as gift item data structure  350 , or to other metadata stored within the memory. 
     In  FIG.  3   , pointer P_ 2  associated with Gift_Item_ 2  is associated with gift item data structure  350 . Gift item data structure  350  may include alphanumeric identifiers such as Gift_Item_ 2  identifier  311  and a unique identifier Uni_ID_ 2   312 . These identifiers may alone or in combination with one another uniquely identify a gift item on the gift list of a gift registrant. In addition, gift item data structure  350  may also include other metadata and pointers associated with gift item Gift_Item_ 2 . This metadata may include a description of a retailer which sells the gift item Gift_Retailer  315 , a description of the gift item Gift_Description  316 , a description of a category for the gift item Gift_Category  317 , a date on which the gift item was added to the centralized or retailer-specific gift registry Gift_Date_Added  318 , a time at which the gift item was added to the centralized or retailer-specific gift registry Gift_Time_Added  319 , and a description of the last time there was a change in any information stored in structure  350  Gift_Last_Sync  320 . Suitable Gift_Description metadata may include a text and/or image that is associated with a particular gift. Suitable Gift_Category metadata may include any suitable gift category, e.g., bedding, kitchen, glassware, flatware, and silverware. Each of these metadata may have associated pointers P_ 316 , P_ 317 , P_ 318 , P_ 319 , and P_ 320 . These pointers may be associated with yet other data structures which may contain additional metadata and/or pointers. In some embodiments, a gift list may be associated with a daisy-chained set of data structures. 
     In some embodiments, data structures  300  and  350  may be used in a centralized or retailer-specific gift registry system search and/or filter task. The alphanumeric identifiers, metadata and/or pointers associated with a set of gift items, e.g., Gift_Item_ 1  . . . , Gift_Item_N, may be used by a suitable search or filtering algorithm to find information required by the centralized or retailer-specific gift registry system. For instance, the metadata Gift_Category in the gift item data structures stored in the memory of the centralized or retailer-specific gift registry system may be searched to find gift items of only a particular category. For instance, the centralized or retailer-specific gift registry system may need to find and display gift items in the “glassware” category, and may find these items by searching through the centralized or retailer-specific gift registry data structures for items whose “Gift_Category” metadata includes glassware. 
     The metadata and pointers described above are merely illustrative. Those skilled in the art will come to realize that any suitable information associated with a gift on a gift list may be stored in such data structures, and any suitable search and/or filter tasks may be performed using these data structures. 
     Next, we turn to illustrative display screens generated by a centralized gift registry system, such as centralized gift registry system  100  ( FIG.  1 A ). In some embodiments, these display screens may be web pages generated by the web/app server  104   a  ( FIG.  1 A ) or  104   b  ( FIG.  1 B ) of the centralized gift registry system  100  ( FIG.  1 A ) and may be transmitted to a gift registrant  132  ( FIG.  1 A ) or a gift giver  130  ( FIG.  1 A ) over the communications network  114  ( FIG.  1 A ), allowing these users to interact with the centralized gift registry system  100  ( FIG.  1 A ). 
       FIG.  4    is an illustrative initial display screen  400  that may be generated and transmitted, e.g., over communications network  114  ( FIG.  1 A ), to a gift registrant or gift giver. Such a display screen may be generated by centralized gift registry system  100  ( FIG.  1 A ), and may be generated and transmitted, e.g., over communications network  114  ( FIG.  1 A ), to a gift registrant or gift giver when they first attempt to access the centralized gift registry system, i.e., before they have authenticated their identity with the centralized gift registry system. Display screen  400  includes top section  450  and bottom section  460 . Each of these sections may include images and/or text and/or video and/or a plurality of hyperlinks to other display screens that may be generated and transmitted, e.g., over communications network  114  ( FIG.  1 A ), to a gift registrant or a gift giver. Top section  450  includes a login section  402 , an advertisement section  404 , a browsing toolbar  412 , and a registry toolbar  410 . Login section  402  includes areas in which a gift registrant or gift giver may enter a username and password for accessing the centralized gift registry system. Advertisement section  404  may include any suitable advertisement, e.g., an advertisement for the centralized gift registry system itself, or asking gift registrants to create a registry on the centralized gift registry system. Browsing toolbar  412  includes hyperlinks for accessing a centralized gift registry, and for browsing the centralized gift registry by product, by category, by color, by room, or by retailer. Those skilled in the art will realize that other browsing categories may be used in toolbar  412 . 
     With continued reference to  FIG.  4   , registry toolbar  410  includes hyperlinks for creating a centralized gift registry or importing a retailer-specific registry into the centralized gift registry. Optionally, registry toolbar  410  includes hyperlinks for finding a centralized gift registry, “styleboards”, or adding gift items to a registry from anywhere (i.e., “Add from Anywhere” feature). Styleboards refer to a plurality of gift items associated with a particular gift theme, e.g., gift items pertaining to a gift registrant&#39;s bedroom, living room, or kitchen on the gift registrant&#39;s gift registry. In some embodiments, a styleboard is a web page that includes a display of this plurality of gift items. The display may include a suitable background, e.g., the base color of the web page, as well as a suitable arrangement of the gift items. Styleboards may be useful as they allow gift givers to view and/or purchase gifts that pertain to a gift registrant&#39;s gift theme. Thus, a gift giver selecting gift items may access a particular styleboard of a gift registrant to select these gift items for viewing or purchasing. Each of top section  450  or bottom section  460  may include other menus (e.g., drop-down menus), toolbars, or areas that include options and/or hyperlinks for navigating through display screens that may be generated by the centralized gift registry system. 
     In some embodiments, when a gift registrant selects the styleboards hyperlink, the gift registrant will be able to access a web page generated by the centralized gift registry system which explains the concept of styleboard and directions for creating and editing styleboards. In some embodiments, a gift registrant may create or modify a background for a styleboard. In some embodiments, a gift giver or gift registrant may view the gift list of the centralized gift registry as a styleboard. For example, a gift registrant may view their gift list add more gift items to the styleboard, e.g., from a retailer catalog or retailer-specific registry. 
       FIG.  5    is an illustrative initial display screen  500  that may be generated and transmitted, e.g., over communications network  114  ( FIG.  1 A ), to a gift registrant. Such a display screen may be generated by centralized gift registry system  100  ( FIG.  1 A ), and may be generated and transmitted to a gift registrant once they have authenticated their identity with the centralized gift registry system. Such authentication may be performed, e.g., by entering a password and username in area  402  of display screen  400  ( FIG.  4   ). Display screen  500  includes top section  550  and bottom section  560 . Each of these sections may include images and/or video and/or text and/or a plurality of hyperlinks to other display screens that may be generated and transmitted, e.g., over communications network  114  ( FIG.  1 A ), to the gift registrant. Top section  550  may include a profile image  508  supplied by the gift registrant. Top section  550  may additionally, or optionally, include selected hyperlinks to other display screens  510 , quick links to other display screens  512 , and links  514  to recent updates to the gift registrant&#39;s gift list. Bottom section  560  may include a toolbar  516  for creating or importing gift items into the centralized gift registry, sharing gift lists, creating announcement cards (e.g., “Save the Date” cards), and finding a registry. Bottom section  560  may also include an “Add Products” toolbar  518 . The add products toolbar  518  may be used to add products by category, by retailer, or using the “add from anywhere” feature of some embodiments of the centralized gift registry system. Those skilled in the art will realize that there are many variants of the display screen shown in  FIG.  5   , including, e.g., additional toolbars for navigating through the display screens of the centralized gift registry. 
       FIGS.  6 ,  7 , and  8    show illustrative display screens  700 ,  800 , and  900 , respectively.  FIG.  6    shows a display screen  600  that enables a gift registrant to add items from a retailer&#39;s catalog to their gift list on the centralized gift registry system.  FIG.  7    shows a display screen  700  that allows a gift registrant to add items to their gift list on the centralized gift registry system by first selecting a particular retailer.  FIG.  8    shows a display screen  800  that allows a gift registrant to add gift items to their gift list on the centralized gift registry system by first selecting a category from a retailer&#39;s catalog. Each of the display screens  600 ,  700 , and  800  may require a gift registrant to authenticate their identity with the centralized gift registry system prior to allowing the gift registrant to access the features illustrated on the respective display screens. As with display screens  400  ( FIG.  4   ) and  500  ( FIG.  5   ), each of display screens  600 ,  700 , and  800  may include images and/or text and/or video and/or a plurality of hyperlinks to other display screens that may be generated and transmitted, e.g., over communications network  114  ( FIG.  1 A ), to the gift registrant and/or gift giver. Those skilled in the art will realize that there are many variants of the display screens shown in  FIGS.  6 ,  7 , and  8   , including, e.g., additional toolbars or links for navigating to other display screens of the centralized gift registry. 
     With reference to  FIG.  6   , display screen  600  includes a top section  602 , bottom section  604  and side section  606 . Top section  602  may display an advertisement relating to the centralized gift registry as shown. Side section  606  includes a toolbar including links  608  and links  610 . Links  608  may include links to other display screens, including, but not limited to, a link for creating a centralized gift registry, a link for importing a retailer-specific registry, an “add from anywhere” link for adding items from a retailer&#39;s catalog or retailer-specific registry to the centralized gift registry, a link that allows a user to share their gift list of the centralized gift registry with one or more gift givers, a link that allows a user to create announcement cards for an event, and a link to find a centralized gift registry or a retailer-specific gift registry. Links  610  include links related to adding gift items (retailer products) to the centralized gift registry. These products may be added by category, by retailer, by room, or by color. Links  610  also include a link to allow a gift registrant to add a cash gift item, e.g., a request to one or more gift givers for a certain amount of currency that could be used towards a couch. Cash gifts will be described further in relation to the display screens of  FIGS.  12 A and  12 B . Each of these selections may involve the use of an API function call to a respective retailer-specific registry system as described above in relation to  FIG.  3   . 
     Referring now to  FIG.  7   , display screen  700  may be generated and transmitted, e.g., over communications network  114  ( FIG.  1 A ), to a gift registrant to allow them to add items to their centralized gift registry. Display screen  700  may be generated and transmitted, e.g., over communications network  114  ( FIG.  1 A ), to a gift registrant when they click on one of the links  608  ( FIG.  6   ). Display screen  700  includes a marketing message  704  relating to creating a centralized gift registry. Any suitable marketing message may appear in this area on display screen  700 . In display screen  700 , a gift registrant begins by naming their gift list (step  1 ), and then adding items to the registry (step  2 ). Gift registrants may add items from a particular retailer using link  716 , or by clicking on the retailer logos  724 . Each of the retailer names displayed in display screen  700  are registered marks of these retailers. Gift registrants may also add items from any retailer accessible via communications network  114  ( FIG.  1 A ) using the add from anywhere link  730 . Gift registrants may also add items by category using link  714 , or by clicking on the images of gift items displayed by category  732 . Suitable categories include dining  718 , kitchen  720 , and bed and bath  722 . Each of these links, when selected, may involve the use of an API function call to a respective retailer-specific registry system as described above in relation to  FIG.  2   . Gift registrants may also add items from any retailer&#39;s catalog or retailer-specific registry accessible via communications network  114  ( FIG.  1 A ) using the add from anywhere link  730 . 
       FIG.  8    shows a display screen  800  that may be used to add items to a gift registrant&#39;s gift list. Display screen  800  may be used in addition to, or instead of, display screens  600  ( FIG.  6   ) and  700  ( FIG.  7   ). Display screen  800  may also be generated and transmitted, e.g., over communications network  114  ( FIG.  1 A ), to a gift registrant if they click on a particular retailer logo  724  in display screen  700  ( FIG.  7   ). Display screen  800  includes a retailer logo  810 , and a link  808  to add gift items to the registry by category. Any suitable category names and/or category images may be displayed in section  804  of display screen  800 . The category names and/or category images may be selected (e.g., by clicking on the names and/or images), such that other display screens are generated and transmitted, e.g., over communications network  114  ( FIG.  1 A ), to the gift registrant when they click on these names and/or images. Toolbar  815  includes toolbar links  818  for adding items by a particular category. Suitable categories include bedding, bath, kitchen, table linens, storage, dining room, and living room. If a gift registrant selects one of these categories, centralized gift registry system  100  ( FIG.  1 A ) may generate a display with the gift items associated with the selected category. Toolbar  815  may also include links for importing a registry, or viewing gift items via a styleboard link, or adding a cash gift as shown in display screen  800 . Each of these links, when selected, may involve the use of an API function call to a respective retailer-specific registry system as described above in relation to  FIG.  2   . 
       FIGS.  9 ,  10 A,  10 B, and  10 C  show illustrative display screens  900 ,  1000 ,  1030 , and  1060 , respectively. Each of these display screens may be generated by centralized gift registry system  100  ( FIG.  1 A ) and transmitted to a gift registrant. Display screens  900 ,  1000 ,  1030 , and  1060  may be used by a gift registrant to search for and import gift items from one or more retailer-specific registries into their centralized gift registry.  FIG.  9    shows display screen  900  which includes options for a gift registrant to import retailer-specific registry gift items into their centralized gift registry stored on the centralized gift registry system  100  ( FIG.  1 A ). 
       FIGS.  10 A,  10 B, and  10 C  illustrate display screens that may be generated and transmitted, e.g., over communications network  114  ( FIG.  1 A ), to a user while they are importing a retailer-specific registry. When the gift items are imported, which may involve the use of APIs (described in relation to  FIG.  2   ), data associated with each gift item is stored by the centralized gift registry system  100  ( FIG.  1 A ), e.g., using data structures such as data structures  300  and  350  ( FIG.  3   ). When this importing process is complete, the selected retailer-specific registry is said to be imported (i.e., uploaded and merged) into the centralized gift registry. 
     With reference to  FIGS.  9   , display screen  900  includes a message  902  to a gift registrant. In some embodiments, centralized gift registry system  100  ( FIG.  1 A ) may automatically search for a gift registrant&#39;s retailer-specific registries or other gift registries accessible via communications network  114  ( FIG.  1 A ). This search may be performed by querying a retailer-specific registry system using information previously collected from the gift registrant, e.g., their name, e-mail address, date of an event, etc. Furthermore, this search query may involve the use of an API function call to the retailer specific-registry as described above in relation to  FIG.  2   . Toolbar  904  presents the retailer-specific registries that were found during the search, and allows a gift registrant to select which of these gift items they would like to import (i.e., upload and merge) into their centralized gift registry. Optionally, a gift registrant may select that the gift items on the centralized gift registry and the retailer-specific registry systems be synchronized at all times. Synchronization is a process by which one of these registry systems makes a change to the gift list stored on their respective gift registry system based on changes that have been made to a gift list stored on another gift registry system. Synchronization may involve the use of API function calls as described above in relation to  FIG.  3   . Once this selection(s) has been made, a gift registrant may begin the importing process by selecting import link  908 . Optionally, if a retailer-specific registry has not been found by the automatic search, a gift registrant may enter information  910  into the search boxes at the bottom of display screen  900  and select the find (retailer-specific) registries link  912 . 
     With continued reference to  FIGS.  9  and  10 A -C, a gift registrant may select one or more retailer-specific registries using toolbar  904 . Once these retailer-specific registries have been selected, a gift registrant may be allowed several options for importing them. Each of these options may involve the use of an API as described above in relation to  FIG.  3   . For example, display screen  1000  illustrates the importing of a Macy&#39;s registry, allowing a gift registrant to name the gift list  1002  into which the Macy&#39;s registry gift items will be imported. The gift registrant may continue importing their Macy&#39;s registry by selecting the link  1004 . Display screen  1030  illustrates the importing of two retailer-specific registries with a message  1034  displayed. The gift registrant may continue importing their retailer-specific registries by selecting the link  1036 . Display screen  1060  illustrates a message  1062  that allows a gift registrant make a selection  1064  to add the items from one or more retailer-specific registries to their gift list, and then continue importing these retailer-specific registries by selecting link  1066 . The importing process may be performed using API function calls as described above in relation to  FIG.  3   . During the importing process initiated in display screens  900 ,  1000 ,  1030 , and  1060 , data associated with each gift item is stored by the centralized gift registry system  100  ( FIG.  1 A ), e.g., using data structures such as data structures  300  and  350  ( FIG.  3   ). 
       FIG.  11    shows illustrative display screen  1100  that may be generated by centralized gift registry system  100  ( FIG.  1 A ). Display screen  1100  provides a gift registrant with a plurality of options to view and/or modify gift items on their gift list. Display screen  1100  includes list title  1102  which includes a description of the centralized gift registry list, gift item sections  1124 ,  1126 ,  1128 , and  1130 , and toolbars  1104  and  1109 . Toolbar  1104  includes links for changing personal settings  1106 , managing the gift registrant&#39;s gift list  1107 , managing a gift registrant&#39;s styleboards  1108 , tools  1110  with links for importing registries or performing other tasks, and tools  1112  with links for adding gift items to the gift list of the centralized gift registry. Each gift item in sections  1124 ,  1126 ,  1128 , and  1130  is displayed with associated information, e.g., the retailer that sells the gift item, the price of the gift item, and the desired quantity for the gift item. In this manner, a gift registrant or gift giver has sufficient information to make selections or decisions with respect to gift items on the gift list. 
     The links shown in toolbar  1104  may be similar to those described with respect to the display screens of  FIGS.  4 - 10 C . Each of the links in toolbar  1104  may allow the gift registrant to navigate to display screens that are generated by the centralized gift registry system  100  ( FIG.  1 A ). Drop-down menu  1130  and toolbar  1109  allow a gift registrant to search through and/or filter gift items. For instance, toolbar  1109  allows a gift registrant to view and/or explore their centralized gift registry using centralized gift registry tags  1114  (e.g., kitchen, appliances), centralized gift registry categories  1116  (e.g., kitchen, bath), centralized gift registry item prices  1118 , centralized gift registry gift item priority  1120  (e.g., high, medium, low), and centralized gift registry gift item status  1122  (e.g., purchased, or not purchased). In display screen  1100 , drop-down menu  1130  has been selected to display gift items in the order that they were last added to the centralized gift registry. Upon a gift registrant&#39;s selection of a particular option for viewing/exploring the centralized gift registry gift items, centralized gift registry system  100  ( FIG.  1 A ) may access gift item data structures  300  and  350  ( FIG.  3   ) to search for items that match the selected viewing/exploring option. 
     A gift registrant may alter the information associated with a gift item when interacting with the display screen  1100 . For example, with respect to gift item  1124 , the quantity of the gift item  1124  may be changed, or the gift list associated with the gift item  1124  may be changed, or the visibility (a selection of which of a plurality of gift givers may view the gift item) of the gift item may be changed. A gift giver, when interacting with the centralized gift registry system, may view a display screen that is similar to display screen  1100 . 
       FIGS.  12 A and  12 B  show illustrative display screens  1200  and  1250 , respectively, which may be used to add or modify a cash gift of a centralized gift registry. Display screen  1200  includes an advertisement message  1201  informing a gift registrant that they may register for a cash gift  1202 . The gift registrant may then select a gift list  1204  to which they would like to add the cash gift, name their cash gift  1206 , select the amount for their cash gift  1208  (e.g., $50), select a gift item priority  1210 , select a gift item visibility  1212 , and select a centralized gift registry tag(s)  1214  that are to be associated with the cash gift. For cash gifts, a gift registrant may have the option of entering account information for their bank account, or any other suitable account  1214  (e.g., credit card account, debit card account, “paypal” account), to which they would like the cash gift amount credited. Once the various options for the cash gift have been selected to the gift registrant&#39;s satisfaction, the gift registrant may add the cash gift to their selected gift list using the link  1216 . 
       FIG.  12 B  shows a display screen  1250  which may allow a gift giver and/or a gift registrant to update or purchase a cash gift item from a gift list of a centralized gift registry. Display screen  1250  includes a display of gift items of the centralized gift registry. The display may be filtered according to any suitable options, e.g., by retailer  1252 , by category  1254 , by room, color, or styleboard  1256 , by price  1258 , or by priority  1260 . Display screen  1250  includes three gift items of which gift item  1268  is a cash gift item. The cash gift item display allows a gift giver and/or gift registrant to contribute to the cash gift using link  1270 . Those skilled in the art will realize that many variants of the display screens  1200  and  1250  may be generated and generated and transmitted, e.g., over communications network  114  ( FIG.  1 A ), to the gift registrant. Display screens  1200  and  1250  may also be generated and transmitted, e.g., over communications network  114  ( FIG.  1 A ), to gift givers and/or gift registrants for non-cash gifts. 
     We turn next to detailed descriptions of the processes which may be implemented using centralized gift registry system  100  ( FIG.  1 A ). In summary,  FIGS.  13 A-F ,  14 A-B,  15 A-B, and  16 A-B show illustrative process flow diagrams for various processes relating to the creating a centralized gift registry, importing retailer-specific registry gift items into the gift list of the centralized gift registry system, and adding and synchronizing of gift items on the centralized gift registry. Each of these processes may be performed by CPU  106  ( FIG.  1 B ) of centralized gift registry system  100  ( FIG.  1 A ) using calls to one or more APIs as described in relation to  FIG.  2   , and may involve modifying data structures (e.g., structures  300  and  350  of  FIG.  3   ) stored on the memory in storage  104   a  ( FIG.  1 A ) of the centralized gift registry system  100  ( FIG.  1 A ). In the descriptions that follow, the various steps in the process flow diagrams may be implemented in any order, and one or more of the steps in the process flow diagrams may be optional. 
       FIGS.  13 A- 13 F  are illustrative process flow diagrams for various embodiments of gift-list synchronization between one or more retailer-specific registries and a centralized gift registry, such as centralized gift registry system  100  ( FIG.  1 A ). Each of the process flow diagrams indicates steps that are associated with the centralized gift registry (GR)  1302 , and steps that are associated with the retailer  1304 . While these steps may be described as being initiated by a user (i.e., a gift giver or a gift registrant), one skilled in the art will realized that the respective registry system will perform most, if not all, of the described steps. Each of these steps may involve the use of API function calls to the centralized gift registry and/or the retailer-specific registry, as described above with respect to  FIG.  2   . In each of the process flow diagrams, a horizontal dotted line separates the process steps associated with GR  1302  from the process steps associated with the retailer  1304 . 
       FIG.  13 A  shows synchronization process flow diagram  1300 , according to an illustrative embodiment. In this process, a gift registrant creates a membership account with the centralized gift registry system  100  ( FIG.  1 A ). The centralized gift registry system  100  ( FIG.  1 A ) may transmit a display similar to that in  FIG.  4    to the gift registrant, thereby allowing the gift registrant to create a membership account by selecting a username and password ( 1312 ). Centralized gift registry system  100  ( FIG.  1 A ) may then generate and transmit displays (e.g., web pages) similar to those in  FIGS.  9  and  10 A -C, allowing the gift registrant to import retailer-specific registries, i.e., to merge the gift items from one or more retailer-specific registries with the gift items, if any, associated with their membership account ( 1314 ). If the gift registrant updates a gift item on the gift list of their centralized gift registry ( 1316 ), or if an update is made to the gift item in another suitable manner, this update is made on the gift list of the centralized gift registry ( 1318 ). The gift item update is also transmitted from centralized gift registry system  100  ( FIG.  1 A ) to the retailer-specific registry, which is subsequently updated to reflect the change to the gift item ( 1320 ). Gift item updates may include changing the quantity of the gift item requested, the price associated with a cash gift, or any other suitable change to a gift item on the gift list. 
       FIG.  13 B  shows synchronization process flow diagram  1325 , according to an illustrative embodiment. In this process, a gift registrant creates a retailer-specific registry associated with a retailer system  134   a  ( FIG.  1 A ) ( 1328 ). The gift registrant may add gift items to the retailer-specific registry ( 1329 ). A gift registrant may also import the retailer-specific registry, i.e., upload and merge the gift items from the retailer-specific registries with the gift items, if any, associated with their centralized gift registry ( 1326   b ,  1326   c ). The importing of gift items may involve function calls to API(s) associated with the centralized gift registry system  100  ( FIG.  1 A ) or the retailer system  134   a  ( FIG.  1 A ). Centralized gift registry system  100  ( FIG.  1 A ) may generate and transmit displays (e.g., web pages) similar to those in  FIGS.  9  and  10 A -C to allow the gift registrant to import the retailer-specific registry. If a gift item on the gift list of the retailer-specific registry is made ( 1323 ), this update is also transmitted to the centralized gift registry system  100  ( FIG.  1 A ). The gift list of the centralized gift registry (system) is subsequently updated to reflect the change to the gift item ( 1324 ). 
       FIG.  13 C  shows synchronization process flow diagram  1330 , according to an illustrative embodiment. In this process, a gift registrant creates a membership account with the centralized gift registry system  100  ( FIG.  1 A ). The centralized gift registry system may transmit a display similar to that in  FIG.  4    to the gift registrant, thereby allowing the gift registrant to create a membership account by selecting a username and password ( 1332 ). The gift registrant may add gift items to the gift list of the centralized gift registry ( 1334 ). These items may be added using function calls to API(s) associated with one or more retailer-specific registries. The centralized gift registry system  100  ( FIG.  1 A ) may then send information about the gift registrant and/or gift items on the gift list to a particular retailer ( 1336 ). The information may be sent using an API function call to a respective registry system associated with the retailer. This information may be used by the retailer to create a retailer-specific registry for the gift registrant ( 1338 ). If an update to a gift item occurs on the centralized gift registry, this update is also transmitted to the retailer-specific registry, as described below with reference to  FIG.  13 D . 
       FIG.  13 D  shows synchronization process flow diagram  1340 , according to an illustrative embodiment. In this process, a gift giver views gift items on a gift list of the centralized gift registry system  100  ( FIG.  1 A ). To do so, the centralized gift registry system may transmit a display similar to those in  FIG.  11  or  12 B , which allow the gift giver to browse/filter/select gift items on the gift list of the centralized gift registry ( 1342 ). The filtering of gift items on the gift list may be accomplished by searching through data structures associated with the gift list, such as data structures  300  and  350  ( FIG.  3   ). In one embodiment, the gift giver may then select a gift for purchase ( 1344 ), and the gift list of the centralized gift registry may be updated in response to the fulfillment of this purchase request ( 1346 ). In some embodiments, the purchase request is fulfilled by the centralized gift registry system  100  ( FIG.  1 A ), e.g., using e-commerce server  103  ( FIG.  1 A ). In some embodiments, the purchase request is transmitted to the retailer-specific registry, e.g., via communications network  114  ( FIG.  1 A ). The retailer-specific registry system may then fulfill the purchase request, and generate and transmit a request to the centralized gift registry system  100  ( FIG.  1 A ) to update the gift list of the centralized gift registry in response to the fulfillment of the purchase request. This request may be made via an API function call, as described above in relation to  FIG.  2   . The gift giver&#39;s selection may also be transmitted to the retailer-specific registry, allowing the gift list of the retailer-specific registry to be updated ( 1348 ). The selection may be transmitted using an API function call from the web/app server  102   a  of centralized gift registry system  100  to the retailer system  134   a  ( FIG.  1 A ). In one embodiment, an update to a gift item of the retailer-specific registry is made ( 1350 ) and transmitted to the centralized gift registry, thereby allowing the gift list of the centralized gift registry to be updated ( 1346 ). Gift item updates may include changing the quantity of the gift item requested, the price associated with a cash gift, an indication that a purchase request for a gift item has been fulfilled, or any other suitable change to a gift item on the gift list. 
       FIGS.  13 E and  13 F  show synchronization process flow diagrams  1360  and  1380 , respectively, according to an illustrative embodiment. In these processes, gift lists of a retailer-specific registry and a centralized gift registry are synchronized based at least in part on online purchases at the retailer-specific registry website ( FIG.  13 E ) or in-store purchases at the retailer&#39;s store ( FIG.  13 F ). With continued reference to  FIGS.  13 E and  13 F , a gift giver selects a gift item to purchase from the gift list of the retailer-specific registry ( 1362 ,  1382 ). Such a selection may be performed online ( 1364 ), using, e.g., display screens similar to those in  FIG.  11  or  12 B . Alternatively, or additionally, the selection may be performed in the retailer store ( 1384 ). The retailer&#39;s system then updates the gift list on the retailer-specific registry ( 1366 ,  1386 ). Gift item updates may include changing the quantity of the gift item requested, the price associated with a cash gift, that a purchase request for a gift item has been fulfilled, or any other suitable change to a gift item on the gift list. For instance, the retailer&#39;s system may change the quantity of the gift item required, or remove the gift item from the gift list. This update is then transmitted to the centralized gift registry system  100  ( FIG.  1 A ). The transmission may be performed using function calls to API(s) associated with the centralized gift registry system web/app server  104  ( FIG.  1 A ). The gift list of the centralized gift registry system is then updated to reflect the change in the retailer-specific registry ( 1368 ,  1388 ). 
       FIG.  14 A  illustrates a process flow diagram for process  1400  for creating a centralized gift registry, importing gift items from a retailer-specific registry into the centralized gift registry, and/or automatically creating a retailer-specific registry. The process starts ( 1402 ) with the gift registrant creating their centralized gift registry at the centralized gift registry system  100  ( FIG.  1 A ). The centralized gift registry system  100  ( FIG.  1 A ) may transmit a display similar to that in  FIG.  4    to the gift registrant, thereby allowing the gift registrant to create a membership account by selecting a username and password. Centralized gift registry system  100  ( FIG.  1 A ) may then generate and transmit displays (e.g., web pages) similar to those in  FIGS.  9  and  10 A -C, allowing the gift registrant to select to create and/or import retailer-specific registries, with the centralized gift registry. To do so, centralized gift registry system  100  ( FIG.  1 A ) queries the retailers for information on retailer-specific registries that are associated with the gift registrant ( 1406 ). For instance, the first and last name of the gift registrant may be used to query retailers via an API function call, as described above with respect to  FIG.  2   . Furthermore, this step may be automatically performed by the CPU  106  ( FIG.  1 B ) when a gift registrant creates a membership account at the centralized gift registry system  100  ( FIG.  1 A ). 
     Centralized gift registry system  100  ( FIG.  1 A ) then checks to see if a retailer&#39;s system has a retailer-specific registry for the gift registrant ( 1408 ). If a does have an existing registry, centralized gift registry system  100  ( FIG.  1 A ) uploads and merges the gift items from the retailer-specific registry with the gift items, if any, associated with the gift registrant&#39;s membership account ( 1416 ). This uploading and merging may be performed using the process  1310  of  FIG.  13 A , or process  1450 , to be described below with respect to  FIG.  14 B . If a retailer&#39;s system does not have an existing retailer-specific registry, centralized gift registry system  100  ( FIG.  1 A ) submits a request (e.g., via a retailer system&#39;s API) to the retailer&#39;s system for creating the retailer-specific registry for the gift registrant ( 1410 ). If the centralized gift registry system  100  ( FIG.  1 A ) determines, e.g., by using a retailer system&#39;s API function call (see  FIG.  2   ), that the retailer-specific registry is successfully created ( 1412 ), then centralized gift registry system  100  ( FIG.  1 A ) may subsequently merge the gift items from the retailer-specific registry with the gift items, if any, associated with the centralized gift registry ( 1416 ). 
     If the centralized gift registry system  100  ( FIG.  1 A ) determines that the retailer-specific registry has not been created, then centralized gift registry system  100  ( FIG.  1 A ) flags this retailer-specific registry as “pending” creation ( 1414 ), and attempts, periodically, to automatically resubmit a request (e.g., via a retailer system&#39;s API) to the retailer&#39;s system for creating a retailer-specific registry with a gift list for the gift registrant ( 1410 ). The period of these requests may be any suitable period, e.g., 15 seconds to 24 hours. These steps are repeated if there are more retailers with retailer-specific registries that need to be associated with the centralized gift registry or created because there is no existing retailer specific registry ( 1418 ). The process terminates if there are no more retailer-specific registries that need to be associated with the centralized gift registry ( 1420 ). 
       FIG.  14 B  illustrates a process flow diagram for process  1450  for uploading and merging gift items from a retailer-specific registry into a centralized gift registry, such as that hosted by centralized gift registry system  100  ( FIG.  1 A ). In some embodiments, process  1450  begins ( 1452 ) with the processor of the centralized gift registry system  100  ( FIG.  1 A ) receiving a request to associate a retailer-specific registry with the centralized gift registry ( 1454 ). This request may be received as an API function call to the centralized gift registry system, as described above with respect to  FIG.  2   . In alternative embodiments, the process  1450  may begin with the processor automatically (i.e., without a request from the gift registrant) determining to begin importing a retailer-specific registry for the gift registrant into the centralized gift registry. In one embodiment, centralized gift registry system  100  ( FIG.  1 A ) may generate and transmit displays (e.g., web pages) similar to those in  FIGS.  9  and  10 A -C, allowing the gift registrant to select to create and/or merge retailer-specific registries, with the centralized gift registry. For each retailer-specific registry ( 1462 ) to be associated (or uploaded and merged) with the centralized gift registry, centralized gift registry system  100  ( FIG.  1 A ) requests (e.g., via an API for the retailer) and receives information on each gift item on the gift registrant&#39;s gift list of the retailer-specific registry ( 1456 ). For each gift item, the received gift item information is stored (e.g., in data structures  300  or  350  of  FIG.  3   ) on the memory in storage  104   a  of the centralized gift registry system  100  ( FIG.  1 A ) ( 1458 ). The process terminates ( 1464 ) when each gift item from each retailer-specific registry has been merged with the gift list of the centralized gift registry system  100  ( FIG.  1 A ). 
       FIG.  15 A  illustrates a process flow diagram for process  1500  by which a gift registrant may add gift items from a retailer&#39;s catalog into their centralized gift registry stored on centralized gift registry system  100  ( FIG.  1 A ). Process  1500  begins ( 1502 ) when a gift registrant selects ( 1504 ) a gift item from a retailer&#39;s catalog to add to their gift list on the centralized gift registry system  100  ( FIG.  1 A ). Such a selection may be performed by the gift registrant interacting with display screens  600  ( FIG.  6   ),  700  ( FIG.  7   ), and  800  ( FIG.  8   ). The centralized gift registry system  100  ( FIG.  1 A ) determines ( 1506 ) if the product is from the catalog of a known retailer, i.e., a retailer that is either a business partner associated with the centralized gift registry system, or a retailer which has been associated with gift lists of the centralized gift registry system  100  ( FIG.  1 A ) in the past. Those skilled in the art will appreciate that gift items from any retailer&#39;s system (“add from anywhere”), including a retailer&#39;s system that does not have a retailer-specific registry or a catalog may be selected and added to the gift list of the centralized gift registry system  100  ( FIG.  1 A ). 
     If the centralized gift registry system  100  ( FIG.  1 A ) determines that the retailer&#39;s system is already associated with the centralized gift registry system  100  ( FIG.  1 A ), then the centralized gift registry system  100  ( FIG.  1 A ) determines ( 1508 ) if the gift items from the retailer-specific registry have been merged into the gift registrant&#39;s gift list of the centralized gift registry system  100  ( FIG.  1 A ). If the gift items have not been merged, centralized gift registry system  100  ( FIG.  1 A ) merges these items into the gift registrant&#39;s gift list, e.g., using the processes  1400  or  1450  of  FIGS.  14 A and  14 B , respectively ( 1512 ). If the centralized gift registry system  100  ( FIG.  1 A ) determines that the retailer&#39;s retailer-specific registry is not already associated with the centralized gift registry system  100  ( FIG.  1 A ), then the centralized gift registry system  100  ( FIG.  1 A ) may request the respective retailer&#39;s system to create a retailer-specific registry for the gift registrant, as described below in  FIG.  16 C . 
     If the gift items have been merged into the gift registrant&#39;s gift list, or once they have been merged into the gift list via step  1512 , the CPU  106  ( FIG.  1 B ) of centralized gift registry system  100  ( FIG.  1 A ) submits a request to add the gift item(s) to the retailer-specific registry ( 1510 ). This request may be made using an API function call to a retailer-specific registry system, as described above with respect to  FIG.  2   . If the gift item is successfully added to the retailer-specific registry ( 1514 ), or if at step  1506  the centralized gift registry system  100  ( FIG.  1 A ) determines that the retailer-specific registry is not associated with the centralized gift registry, the information on the gift item is stored ( 1516 ) in the data structures (e.g., structures  300  and  350  of  FIG.  3   ) of centralized gift registry system  100  ( FIG.  1 A ). If the gift item is not successfully added to the retailer-specific registry, the gift item is flagged as pending ( 1518 ), and CPU  106  ( FIG.  1 B ) of centralized gift registry system  100  ( FIG.  1 A ) periodically submits a request to add the gift item(s) to the retailer-specific registry ( 1510 ). The period of these requests may be any suitable period, e.g., 15 seconds to 24 hours. 
       FIG.  15 B  illustrates a process flow diagram for process  1521  by which a gift giver may select gift items for purchase from a retailer, thereby causing an update to that gift item in a gift registrant&#39;s gift list stored on storage  104   a  ( FIG.  1 A ) of a centralized gift registry system  100  ( FIG.  1 A ). The process starts ( 1522 ) with the CPU  106  ( FIG.  1 B ) of web/app server  102   a  of centralized gift registry system  100  ( FIG.  1 A ) receiving ( 1524 ) a gift giver&#39;s selection of a gift item from a retailer&#39;s system over communications network  114  ( FIG.  1 A ). Such a selection may be performed by the gift giver interacting with display screens  1100  ( FIG.  6   ) or  1250  ( FIG.  12 B ). The selection may be received via a function call from the retailer&#39;s system to the centralized gift registry system API, as described above with respect to  FIG.  2   . The CPU  106  ( FIG.  1 B ) of web/app server  102   a  of centralized gift registry system  100  ( FIG.  1 A ) then requests and receives ( 1526 ) information on the gift item from the retailer. This request may involve a retailer system&#39;s API function call, as described above with respect to  FIG.  2   . Process  1521  terminates with the CPU  106  ( FIG.  1 B ) of web/app server  102   a  modifying the gift list of the centralized gift registry system  100  ( FIG.  1 A ) with the received gift item information, and storing the gift list in storage  104   a  ( FIG.  1 A ). The gift list may be stored in data structures such as those described above in relation to  FIG.  3   . 
       FIGS.  16 A and  16 B  illustrate process flow diagrams for synchronization processes  1600  and  1630 , respectively. Process  1600  is for synchronizing gift items on a gift list of a centralized gift registry system  100  ( FIG.  1 A ) based at least in part on updates made to the gift items on the centralized gift registry system  100  ( FIG.  1 A ) itself or on a retailer-specific registry that is separate from the centralized gift registry system  100  ( FIG.  1 A ). A user (i.e., a gift registrant or a gift giver) views ( 1604 ) gift items on the gift list of the centralized registry system  100  ( FIG.  1 A ), e.g., in displays (e.g., web pages) generated and transmitted to the user such as display screens  1100  ( FIG.  6   ) or  1250  ( FIG.  12 B ). CPU  106  ( FIG.  1 B ) of centralized gift registry system  100  ( FIG.  1 A ) then determines ( 1606 ) if the gift items on the gift list of the centralized registry have been synchronized with recent updates made to those gift items on a retailer-specific registry. If the gift list has been synchronized, the synchronized gift list is stored ( 1620 ) in storage  104   a  of centralized gift registry system  100  ( FIG.  1 A ). On the other hand, if the gift list has not been synchronized, CPU  106  ( FIG.  1 B ) of web/app server  104   a,b  of centralized gift registry system  100  ( FIG.  1 A ) may request and receive information on the gift items pertaining to a retailer-specific registry from the retailer&#39;s system ( 1608 ). This request may involve an API function call to a respective registry system associated with the retailer-specific registry, as discussed above with respect to  FIG.  2   . For each gift item ( 1610 ,  1612 ,  1618 ), CPU  106  ( FIG.  1 B ) of web/app server  104   a,b  of centralized gift registry system  100  ( FIG.  1 A ) determines if the gift item is included on the gift list of the centralized gift registry ( 1614 ). If the gift item is included on the gift list, then the data structure associated with the gift item (e.g., data structure  350  of  FIG.  3   ) is updated ( 1616 ) based on any gift item information received. If the gift item is not included on the gift list of the centralized gift registry, CPU  106  ( FIG.  1 B ) of centralized gift registry system  100  ( FIG.  1 A ) will create or modify an appropriate data structure to store information pertaining to the gift item to be added ( 1615 ). Once the data structure associated with each added gift item has been created, modified, or updated, the synchronized gift list is stored ( 1620 ) in storage  104   a  of centralized gift registry system  100  ( FIG.  1 A ). 
       FIG.  16 B  illustrates process  1630  for synchronizing gift items on a gift list of a retailer-specific registry based at least in part on changes or updates made to the gift items by a user interacting with the centralized gift registry system  100  ( FIG.  1 A ). A user (i.e., a gift registrant or a gift giver) modifies ( 1634 ) gift items on the gift list of the centralized registry system  100  ( FIG.  1 A ), e.g., in displays (e.g., web pages) generated and transmitted to the user such as display screens  1100  ( FIG.  6   ) or  1250  ( FIG.  12 B ). Modifications may include, e.g., changes to the quantities of a gift item, changes in the retailer for a gift item, a change in the retailer associated with the gift item, etc. CPU  106  ( FIG.  1 B ) of centralized gift registry system  100  ( FIG.  1 A ) then determines ( 1636 ) if the gift items on the gift list of the centralized registry are gift items that are also included in a retailer-specific registry. If these items are on a gift list of the retailer-specific registry, CPU  106  ( FIG.  1 B ) of centralized gift registry system  100  ( FIG.  1 A ) submits a request to the retailer&#39;s system to update the gift item to reflect the modifications made by the user ( 1638 ). Such a request may be made using an API associated with the retailer. 
     CPU  106  ( FIG.  1 B ) of centralized gift registry system  100  ( FIG.  1 A ) then determines if the updates to the gift item have been made successfully ( 1640 ). If the updates have not been made successfully (or if the gift item has been synchronized), CPU  106  ( FIG.  1 B ) of centralized gift registry system  100  ( FIG.  1 A ) may periodically re-request the retailer&#39;s system to update the gift item to reflect the modifications made by the user ( 1638 ), until it determines that the update has been successfully made. This determination may involve the use of the retailer&#39;s system and/or centralized gift registry system API. For instance, CPU  106  ( FIG.  1 B ) of centralized gift registry system  100  ( FIG.  1 A ) may request information on the gift item that was to be updated, and if the information has not been updated, CPU  106  ( FIG.  1 B ) of centralized gift registry system  100  ( FIG.  1 A ) will determine that the update has not been made successfully. Once the update has been successfully made, the CPU  106  ( FIG.  1 B ) of centralized gift registry system  100  ( FIG.  1 A ) updates the gift list of the centralized gift registry to reflect the modifications ( 1644 ). At step  1636 , if the gift item is not on a gift list of the retailer-specific registry, CPU  106  ( FIG.  1 B ) of centralized gift registry system  100  ( FIG.  1 A ) updates the gift list of the centralized gift registry to reflect the modifications ( 1644 ). 
       FIG.  16 C  illustrates process  1660  for adding gift items to centralized gift registry of the centralized gift registry system  100  ( FIG.  1 A ), and creating and/or synchronizing the added gift item with an associated retailer-specific registry. CPU  106  ( FIG.  1 B ) of centralized gift registry system  100  ( FIG.  1 A ) receives a selection of a gift item to be added to the gift list of the centralized gift registry system ( 1662 ). The selection may be received from a user (i.e., a gift registrant or a gift giver), e.g., in displays (e.g., web pages) generated and transmitted to the user such as display screens  1100  ( FIG.  6   ) or  1250  ( FIG.  12 B ). CPU  106  ( FIG.  1 B ) of centralized gift registry system  100  ( FIG.  1 A ) then determines ( 1664 ) if the gift items on the gift list of the centralized registry are gift items that are also included in an associated retailer-specific registry. If these gift items are on a gift list of the associated retailer-specific registry, CPU  106  ( FIG.  1 B ) of centralized gift registry system  100  ( FIG.  1 A ) submits a request to the retailer&#39;s system to add the gift items to their retailer-specific registry ( 1666 ). Such a request may be made using an API function call to the retailer&#39;s system. CPU  106  ( FIG.  1 B ) of centralized gift registry system  100  ( FIG.  1 A ) then determines if the additions of the gift items have been made successfully ( 1668 ). If the additions have not been made successfully (or if the gift item has been synchronized), CPU  106  ( FIG.  1 B ) of centralized gift registry system  100  ( FIG.  1 A ) may periodically re-request the retailer&#39;s system to update the gift items to reflect the additions of the gift items, until CPU  106  ( FIG.  1 B ) determines that the update has been successfully made ( 1668 ). This determination may involve the use of an API function call to the retailer-specific registry system. For instance, CPU  106  ( FIG.  1 B ) of centralized gift registry system  100  ( FIG.  1 A ) may request information on the gift item from the retailer, and if the information does not match the information associated with the addition of the gift items, CPU  106  ( FIG.  1 B ) of centralized gift registry system  100  ( FIG.  1 A ) will determine that the additions have not been made successfully. Once the additions have been successfully made, the CPU  106  ( FIG.  1 B ) of centralized gift registry system  100  ( FIG.  1 A ) adds the gift items to the gift list of the centralized gift registry ( 1670 ). 
     At step  1664  of process  1660  in  FIG.  16 C , if the gift item is not on a gift list of the retailer-specific registry, CPU  106  ( FIG.  1 B ) of centralized gift registry system  100  ( FIG.  1 A ) adds the gift items to the gift list of the centralized gift registry ( 1670 ), and submits a request to the retailer&#39;s system to create a retailer-specific registry including the added gift item ( 1672 ). Such a request may be made by generating and transmitting an API function call to the retailer&#39;s system, as described above with respect to  FIG.  2   . CPU  106  ( FIG.  1 B ) of centralized gift registry system  100  ( FIG.  1 A ) then determines if the retailer-specific registry has been created ( 1674 ). Such a determination may be made by generating and transmitting an API function call to the retailer&#39;s system, as described above with respect to  FIG.  2   . If the retailer-specific registry has not been created, CPU  106  ( FIG.  1 B ) of centralized gift registry system  100  ( FIG.  1 A ) may periodically re-request the retailer&#39;s system to create the retailer-specific registry, until it determines that the retailer-specific registry has been created ( 1674 ). If CPU  106  ( FIG.  1 B ) of centralized gift registry system  100  ( FIG.  1 A ) determines that the retailer-specific registry has been created, then CPU  106  ( FIG.  1 B ) of centralized gift registry system  100  ( FIG.  1 A ) submits a request to the retailer&#39;s system to add the gift items to their retailer-specific registry ( 1666 ), and process  1660  continues as described above. 
     Generally, the methods described herein may be executed on a conventional data processing platform such as an IBM PC-compatible computer running the Windows operating systems, a SUN workstation running a UNIX operating system or another equivalent personal computer, server, or workstation. Alternatively, the system may include a dedicated processing system that includes an API programming environment. 
     The methods described herein may also be realized as a software component operating on a conventional data processing system such as a UNIX workstation. In such an embodiment, the methods may be implemented as a computer program written in any of several languages well-known to those of ordinary skill in the art, such as (but not limited to) C, C++, FORTRAN, Java, MySQL, Perl, Python, Apache or BASIC. The methods may also be executed on commonly available clusters of processors, such as Western Scientific Linux clusters. 
     The methods disclosed herein may be performed in either hardware, software, or any combination thereof, as those terms are currently known in the art. In particular, the present method may be carried out by software, firmware, or microcode operating on a computer or computers of any type. Additionally, software embodying the processes described herein may comprise computer instructions in any form (e.g., source code, object code, interpreted code, etc.) stored in any computer-readable medium (e.g., ROM, RAM, magnetic media, punched tape or card, compact disc (CD) in any form, DVD, etc.). Accordingly, the systems and methods described herein are not limited to any particular platform, unless specifically stated otherwise in the present disclosure. 
     The systems and methods disclosed herein may be embodied in other specific forms without departing from the spirit or essential characteristics thereof. The foregoing embodiments are therefore to be considered in all respects illustrative, rather than limiting of the disclosure.