Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
A COMPUTER-IMPLEMENTED METHOD OF ENABLING COLLABORATIVE SELECTION OF ITEMS FOR PURCHASING
Document Type and Number:
WIPO Patent Application WO/2012/004599
Kind Code:
A1
Abstract:
A method for enabling the collaborative selection of items by multiple users is disclosed. Collaboration software that, when running on or accessible by computer terminals, each associated with one of those users, allows those users to collaboratively select items to purchase from a web-based merchandising system. The collaboration software also automatically generates, in respect of each item selected for potential purchase, an on-screen voting option that, when selected by a user, causes a voting signal to be generated and processed by the collaboration software.

Inventors:
SITTERMANN ANDREW (DE)
Application Number:
PCT/GB2011/051271
Publication Date:
January 12, 2012
Filing Date:
July 06, 2011
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
COLUMBUS INTERNET GMBH (DE)
SITTERMANN ANDREW (DE)
International Classes:
G06Q10/00
Other References:
COLUMBUS INTERNET GMBH: "Travel WithMe collaborative trip planner launched on Google Wave", 19 May 2010 (2010-05-19), XP002657944, Retrieved from the Internet [retrieved on 20110831]
Attorney, Agent or Firm:
ORIGIN LIMITED (Twisden RoadLondon, Greater London NW5 1DN, GB)
Download PDF:
Claims:
CLAIMS

1. A computer-implemented method of enabling collaborative selection of items by multiple users, comprising the step of providing collaboration software that, when running on or accessible by computer terminals, each associated with one of those users, allows those users to collaboratively select items to purchase from a web-based merchandising system;

and in which the collaboration software automatically generates, in respect of each item selected for potential purchase, an on-screen voting option that, when selected by a user, causes a voting signal to be generated and processed by the collaboration software.

2. The method of Claim 1 in which the collaboration software enables a user to define a group of users and the voting signal from each user in the group for an item is automatically counted and the results automatically displayed to all users in the group. 3. The method of Claim 1 or 2 in which the collaboration software enables a user to add an item to a list of proposals, where each item in the list of proposals includes the on-screen voting option.

4. The method of any preceding Claim in which the results of processing the voting signals in relation to an item are displayed on the terminal of each user in a group together with an option that, if selected, causes the terminal to send to the web-based merchandising system a signal that initiates the communication of the decision to purchase of that item.

5. The method of any preceding Claim in which the voting option includes graphical icons or text corresponding to the functions of 'buy', 'do not buy' and 'neutral' or 'very strongly approve', 'strongly approve' and 'approve'.

6. The method of Claim 5 in which a graphical icon is a hand in thumb's up position. 7. The method of any preceding Claim in which the collaboration software enables a user to define a group of users by selecting an 'invite' button displayed on their computer terminal.

8. The method of Claim 7 in which the process of defining a group of users involves the collaboration software making a call over a social network API that causes a list of a user's friends to be displayed on the user's computer terminal, from which the user can select individuals to invite to join the group of users that will collaboratively select items.

9. The method of Claim 8 in which, if multiple social networks or other sources of potential collaborators are used to locate individuals to invite, then the collaboration software generates a unique ID for each user in a database so that each user will have a unique ID associated with a social network or other source, plus a unique ID generated by the collaboration software, therefore allowing collaborators from different sources to collaborate in groups together. 10. The method of any preceding Claim in which the collaboration software generates a chat window on each terminal that - in addition to normal chat - records user actions relating to the selection, including one or more of: performing a search or viewing an item, "adding to proposals", voting, and booking/ purchasing of each user in the group. 11. The method of Claim 10 in which the search or viewing history can be viewed by all members of the group and any member can click on an item in the search or viewing history to replicate the same search or view the same item.

12. The method of Claim 11 in which the search or viewing history is updated in real-time, or stored so that it is visible later (in particular to users who were offline at the time, or joined the collaboration group later).

13. The method of any preceding Claim in which the collaboration software is integrated into an existing web-based shopping or booking system.

14. The method of Claim 13 in which if integration is via an Affiliate API provided by the web-based shopping or booking system.

15. A system for enabling the collaborative selection of items by multiple users, the system including collaboration software that, when running on or accessible by computer terminals, each associated with one of those users, allows those users to collaboratively select items to purchase from a web-based merchandising system;

and in which the collaboration software automatically generates, in respect of each item selected for potential purchase, an on-screen voting option that, when selected by a user, causes a voting signal to be generated and processed by the collaboration software.

16. The system of Claim 15 in which the collaboration software runs locally on each terminal, runs on the cloud/ remote servers, or is distributed across local terminals and the cloud/ remote servers

Description:
A COMPUTER-IMPLEMENTED METHOD OF ENABLING COLLABORATIVE SELECTION OF ITEMS FOR PURCHASING

BACKGROUND OF THE INVENTION

1. Field of the Invention

This invention relates to a computer-implemented method of enabling collaborative selection of items by multiple users. Collaboration software, when running on or accessible by multiple computer terminals, each associated with one of those users, allows those users to collaboratively select items to purchase from a web-based merchandising system. The term 'purchase' includes related words such as 'book', 'order' and 'reserve'.

2. Description of the Prior Art

There are many web-based collaborative purchasing systems. Reference may be made to the following: DecisionStep Shop Together; Quorus Discuss and Select2Gether. Although each of these systems facilitates to some extent collaborative discussions between multiple users, none provide a complete approach to collaborative purchasing.

SUMMARY OF THE INVENTION

This invention is a computer-implemented method of enabling collaborative selection of items by multiple users, comprising the step of providing collaboration software that, when running on or accessible by computer terminals, each associated with one of those users, allows those users to collaboratively select items to purchase from a web-based merchandising system;

and in which the collaboration software automatically generates, in respect of each item selected for potential purchase, an on-screen voting option (displayed on each user's terminal) that, when selected by a user, causes a voting signal to be generated and processed by the collaboration software.

In one implementation, the collaboration software enables a user to define the group of users and the voting signal from each user in the group for an item is automatically counted and the results automatically displayed to all users in the group. The collaboration software also enables a user to add an item to a list of proposals, where each item in the list of proposals includes the on-screen voting option.

The results of processing the voting signals in relation to an item are displayed on the terminal of each user in the group together with an option that, if selected, causes the terminal to send to the web-based merchandising system a signal that initiates the communication of the decision (e.g. purchase/booking or ordering) of that item, at the end of the voting period.

The voting option include graphical icons or text that may work in 2 ways:

1. corresponding to the functions of 'yes, 'no and 'neutral'. Each option can be, for example, an arrow in a different direction, or "thumbs up", "thumbs down", "horizontal hand". In this case, a yes is valued at 1 point, A no vote at -1 points and neutral vote at 0 points

2. corresponding to the functions of 'very strongly approve', 'strongly approve' and 'approve'. In this case, 'very strongly approve' is valued at 3 points, 'strongly approve' at 2 points, and 'approve' at 1 point. In this case, no vote at all is implicitly valued at 0 points. The collaboration software may also enable a user to define a group of users by selecting an 'invite' button displayed on their computer terminal. The process of defining a group of users can involve the collaboration software making a call over a social network API, that causes a list of a user's friends to be displayed on the user's computer terminal, from which the user can select individuals to invite to join the set of users that will collaboratively select items for purchasing. Alternatively, the collaboration software allows invitations from the user's phone book on a mobile device, or by creating a short link which may be sent be email, instant messaging, or even written on a piece of paper If multiple social networks or other sources of potential collaborators are used to locate individuals to invite, then the collaboration software generates a unique ID for each user in a database so that each user will have a unique ID associated with a social network or other source, plus a unique ID generated by the collaboration software. The collaboration software can also generate a chat area on each terminal that - in addition to usual chat functions - records one or more of the following: the search, viewing, voting and "adding to proposals" history of each user in the group. The history is visible to all members of the group as part of the chat, and any member can click on an item in the history to replicate the same search or view the same item. The search or viewing history is updated in real-time. It is also visible at a later point in time, in particular to those collaboration group members who were not online at the time or joined the Collaboration Group later.

The collaboration software can be integrated into an existing web-based shopping or booking system; integration can be via an Affiliate API provided by the web-based shopping or booking system.

Another aspect of the invention is a system for enabling the collaborative selection of items by multiple users, the system including collaboration software that, when running on or accessible by computer terminals, each associated with one of those users, allows those users to collaboratively select items to purchase from a web-based merchandising system;

and in which the collaboration software automatically generates, in respect of each item selected for potential purchase, an on-screen voting option that, when selected by a user, causes a voting signal to be generated and processed by the collaboration software. The collaboration software can run locally on each terminal, run on the cloud/ remote servers, or be distributed across local terminals and the cloud/ remote servers. BRIEF DESCRIPTION OF THE DRAWINGS

The invention will be described with reference to the drawings in which:

Figure 1 is a screenshot of a theatre ticket booking website that has been enabled with the collaboration software defined by this invention

Figure 2 is an enlarged view of the voting options displayed in the user's browser;

Figure 3 is a further screenshot of a website that has been enabled with the collaboration software defined by this invention;

Figure 4 is a schematic showing data flows when a user invites a friend to join a collaborative group;

Figures 5 and 6 are further screenshots of websites that have been enabled with the collaboration software.

DETAILED DESCRIPTION

The inventions is implemented in a system called 'Choose WithMe', a Real-time Platform for collaborative purchasing booking, henceforth referred to as CwM.

CwM is a platform which enables the creation of applications allowing two or more people to collaborate conveniently using the internet to choose what to book or purchase, although they are in different places, and may be working at the same time or at different times.

Devices

Choose WithMe applications run on any device with an internet connection, e.g. a PC, Smartphone or Tablet PC (e.g. iPad)

Example Applications

The following are examples of Applications which could be developed using CwM: (The list is non-exclusive):

Short name Description

shopping advice One user invites other users to advise him/her which product to buy

Gift shopping Several users work together to choose a gift (which will jointly be presented to another person)

Family vacation Several family members work together to decide which vacation (or booking component parts of a vacation) to book:

• Travel (flight, train, ferry, rent-a-car) etc

• Accommodation

• Package holiday

Business travel booking • Secretary (accommodation department) creates travel booking options for confirmation/ selection by those travelling

• Several colleagues visiting a conference choose the travel options which they will all use

Real-estate Several people who are looking for real-estate or apartments together create a shortlist of potentially interesting items and can make a decision about which ones to follow up Leisure time planning Several people who are planning to spend leisure time together create a shortlist of potentially interesting items and can make a decision about which one(s) to do e.g.

• Restaurant bookings

• Theatre/ cinema bookings

Dating Several people (e.g. 2 girls) can use a dating application and can create a shortlist of which other users (e.g. boys) are worth contacting

Joint shopping list Several people can contribute to a joint shopping list. E.g. people working in an office can add/edit requests e.g. printer paper, whiteboard pens, new coffee machine, to a joint shopping list, which one of them can later order.

Some Screenshots

The following applications of CwM s are shown as illustrative screenshots only and do not imply that the applicant is currently working with the depicted web site.

CwM app for collaborative searching for theatre tickets is shown in Figure 1. In Figure 1, the group has been formed by friends Susi, John and Alice, shown at 1; the chat window 2 shows the history of discussions, and also shows that John searched 3 for evening tickets for the musical 'Wicked' 26/05/11 with a £ 00 maximum. Those search parameters are reflected in search panel 4. A conventional search interface to a theatre booking site has generated a number of matching hits. The users have added four items to the Proposals tab: Susi has proposed 2 items, namely seats at £92.50 and £65. Alice proposed seats at £41, while John proposed seats at £57 5. Voting options 6 are shown next to each of the four options: the voting options displayed as 3 icons- a user can select any of these to vote on the hit— the up arrow counts as a +1 score, the horizontal arrow is a zero score and the down arrow is a -1 sore. The overall score for each hit is shown next to each hit: the second item in the list, £92.50 premium seats, has generated the highest score at +2. Actually booking those tickets is facilitated by including a 'Book' option 7 that, if selected, initiates a conventional booking process for the required tickets.

CwM-Apps provide their users with 4 novel functions 1 Group Management. One person can invite others to join in making the purchasing decision/ search.

2, Shared history in a chat. When one person searches or views, this is be shared with the rest of the group, so they can do the same search or view the same item by clicking on the link. The update of the chat/history is done in real time.

3. Shared shortlist of proposals/ shopping list. Anyone in the group can add or remove things from a shortlist/ shopping list

4. Voting. Everyone in the group can vote on items in the shortlist.

Figure 2 shows the on-screen voting options panel 20 (item 6 in Figure 1) in more detail. The voting options panel includes a 'yes' up arrow 21, a neutral sideways arrow 22 and a dislike down arrow 23. The overall net voting score is also shown 24.

Figure 3 shows CwM applied to a Hotels.com web site. Key features are:

Users can invite participants to join their search, 1. This is a simply one button 31 process to initiate the addition of a new participant.

There is a chat window 32 where the system adds the history items for all important participant's actions. These are links, which can be selected and then the item concerned is displayed - e.g. if Brian Jones viewed a particular hotel, then that is listed in the chat window and any other participant can then click on the item to open up a new widow (or a pop-up or sub-window) that shows the web site of that particular hotel.

Proposals can be generated by any user - a proposal is a list of potential purchases; when at least one of the users wants the participants to vote on whether or not to actually choose or buy that purchase, then he includes the potential purchases in the proposals list. In Figure 3, the list of proposals is a list of potential hotels in San Francisco for one night on 5 th July 2011, within 20Km of the centre. Each participant can then vote on each of the proposed hotels by clicking on an up arrow (counts as plus one vote), a down arrow (counts as minus one vote) and a side arrow (counts as no votes) 34. The total net voting score, taking account all votes, is also shown and is visible to all participants. The individual votes of all participants for each item in the proposals list is visible to all the participants in a pop-up window that appears if the user hovers over the net voting score for more than a predefined time. In this example, it is hence very fast and easy to see which particular hotel in San Francisco got the most votes and should be therefore be booked. This way of bringing chat-based discussions to a fair but transparent conclusion is very important in driving consumers to actually make purchases.

Group Management The functional part of CwM which controls which users are collaborating with other users in order to search/ purchase together is called Group Management.

Social Networks and other user circles.

CwM applications allow their users to select other users to join them in their collaborative search/ purchasing. Typically these users are selected from their "Friends" within a Social Network (e.g. Facebook™). This paper uses Facebook as an example. It is also valid for users selected from another circle of users, e.g. for mobile applications, from the user's phone book or simply by email.

Creating groups from multiple user circles. A single CwM applications may be implemented for several user circles. In this case, users are able to create a group from multiple circles. E.g. A sample group could be

"Paul" a facebook user

Paul's Facebook friend "John"

Paul's renren (Chinese social network) friend "Lin" ■ "Peter", who is in Pauls Iphone phonebook but does not use social networks

A CwM application achieves this by creating an independent user database with CwM IDs, and matching its users it to the IDs provided by the social networks in which it is implemented: for example:

CW M ID Netw ork Netw rk 11) L'ser Name

1 Facebook 100002504177893 Paul

2 Facebook 100002504171234 John

3 Renren 332402948 Lin

Creating a Collaboration Group

When a Social Network user starts using a CwM-App independently (i.e. without receiving an invitation), he/ she will always be using it alone. It is necessary to create a new Collaboration Group. The same is true, if the user intends to start collaborating with a different group of users.

Inviting a user to join the group

When any user (Userl) invites others to join, they (User2..n) will be added to the same Collaboration Group.

The procedure is the same, regardless of whether Userl is the first ever user, or simply another user who is already in the Collaboration Group

Figure 4 shows a user inviting other users to join his/her Collaboration Group (example Facebook). The steps are:

Step 1: userl clicks on a button labelled "Invite Users" or "+ invite"

Step 2: the CwM application calls a social network API, such as the Facebook API

Step 3: the Social network server presents User 1 with a list of friends

Step4: User 1 selects User 2 from his list of Facebook friends to join the collaboration channel Step 5: The social network API returns user 2 name and ID to the CwM application

Step 6: the CwM application creates and stores CwM application specific User IDs for each of the invite users.

User capabilities

CwM foresees three types of users and allows these users to behave in the following way: • Administrator:

o may invite other users to join the Collaboration Group

o may remove other users from the Collaboration Group

o may leave the Collaboration Group o may change the user-capability of other users

o may define that other certain or all other users may not add or remove items from Proposals

• Normal User:

o may invite other users to join the Collaboration Group o may remove other users who he/ she has invited from the Collaboration Group o may leave the Collaboration Group

• Viewer:

o May leave the Collaboration Group

In addition to these functions provided by CwM, the CwM application developer may decide which precise actions may be performed by each kind of user within the CwM Application. Typical scenarios are:

Joint Decision Making (e.g. Hotel Booking)

Role Permissions

Administrator All

Normal User All

Viewer View only

Joint Shopping (e.g . office stationary) Role Permissions

Administrator Add items to list

Remove items from list

Buy all items on list

Normal User Add items from list

Remove items added to list by

self

Show all Collaboration Groups

A user may use the CwM Application several times

e.g. if the CwM Application is a trip-planning application, a user could have:

Collaboration Group 1: trip to New York from Jan 15 th -l 7 th with colleagues Paul, Anton, Elizabeth, Antony.

Collaboration Group 2: trip to San Francisco from March 5 Λ -10 Λ with colleague Anton.

Collaboration Group 3: trip to London from May 1 -8 Λ with colleague Kathy.

Shared history in a chat

CwM-Apps include a chat which functions like any other.

In addition, user activities within the CwM-App are included in the chat, creating a shared history of all user activity, which is updated in real time. Users who are offline when a certain activity takes place will see the activity in the chat/history when they return.

Figure 5 illustrates the functionality:

Searches done by a user are displayed in the chat as a link, 51. If other users click on that link, they perform the same search. So in Figure 5, we have the item "Brian Jones searched in New York, 05/07/11 - 06/07/11" If a user clicks on that, then the same search is performed on that user's terminal.

Items viewed by a user are displayed in the chat as a link, 52 - if a user clicks on this item, their terminal will display the same item.

The user items 'proposed' and voted for' are also displayed in the chat as a link 53 - if other users click on that link, their browser will display the same item. Proposals pane

The Proposals pane Figure 6 displays the Proposals List, which is a shortlist of all items, which the users in the Collaboration Group have added. A user may explicitly add an item to the Proposals List by clicking an "Add to proposals" button listed next to each item in the full list of items (e.g. under the tab labeled 'List')

An item is automatically added to the Proposals List when a user votes on it.

Users may manually delete items from the Proposals list.

.A user can also sort views of proposals by votes or price, 61.

The proposals heading also functions as a search link, 62. A user who clicks on it will perform the search with the data displayed.

A window next to each proposal shows the current voting score as well as buttons to allow voting, 63 (these are disabled if the user has already voted).

Users can also book items directly from the proposals list by clicking on a 'Book It!' button, 64. this greatly encourages and facilitates purchasing. A 'Remove' button 65 to remove the item is also included.

Voting.

Users may vote "yes", "no" or "maybe". All users' votes are visible to all users in the Collaboration Group.

There are 2 totalling methods: Each vote contributes to the Voting Score as follows: A: yes = 1, Maybe =0, No = -1,

B: yes = 3, No =2, Maybe =1.

Thus the Voting Score is an indication of the acceptability of an item to all the users in the Collaboration Group. The Voting Score for an item is displayed in Proposals Pane.

B ooking / Purchasing.

The final step of booking/ purchasing the chosen items may be performed within the CwM app or by sending details of the chosen item(s) via a standard method (e.g. http request) to another external booking/ purchasing website/ application.

Establishing if booking/purchasing has taken place, if booking is performed on an external website.

In case the booking/purchasing is not performed within the Choose WithMe app, but is performed on the primary website of the partner, a Choose WithMe app provides the possibility to display to the members of a Collaboration Group, what has been booked, and by whom. E.g. for a collaborative flight-search app, the Group Members Andrew, Bert and Catherine are looking for a flight. The app can show that Catherine already booked flight BA984 from London to Berlin at 2pm on 14 th June 2011, but that Andrew and Bert did not yet book.

This can be achieved by including a Javascript/Pixel on the Booking-Confirmation page at the partner site.

The following is a sample of such a script+pixel:

<script type="text/javascript" src='¾ttps://api.choosewithme.com/dF)3Wuw4/sale?mode=)s& ;id=[[id]]&uid=[[uid]]&pids= [[p ids]] &name= [[name]]&detail=[[detail]]&price= [[price]] &currency= [[currency]] "></ script> <noscript><img src="https://api. choosewithme.com

/dF)3Wuw4/sale?mode=img&id=[[id]]&m^

tail]]&price=[[price]]&currency=[[currency]] " width="l" height="l " /></noscript>

Square brackets indicate parameters which should be filled by the partner site in the following manner.

[[id]] = OrderlD*

[[cid]] = UserlD (if available)

[[pids]] = comma separated ProductlDs

[[name]] = urlencode( ame)

[[detail]] = urlencode(Description)

[[price]] = Total Price*

[[currency]] = Currency*

The script passes the information about the booking to the CwM application which can display the status to the users in the Collaboration Group. Business aspects.

A CwM app can be provided in addition to - or as an alternative to - any internet or mobile shop/booking system.

It can be easily integrated with an existing shop/booking system via an Affiliate API which is frequently provided by such shop/booking systems.

This enables CwM applications to be rolled out extremely quickly.

Alternatively a CwM app can use an internal database of items.

Integr tion with the API of a CwM application partner

CwM requires three integration points with an accommodation provider/ reseller

Examples are taken from integration with HostelWorld.com

Search

Request Message example:

This request will send the search parameters as entered by a user to the accommodation provider/ reseller.

http:/ / reservations.bookhostels.com/ xmlapi/PropertyLocationSearch.php?UserID=ruc ksack.com&City=Helsinki&Country=Finland&DateStar t=2010-08-01&NumNights=2 Response Message example

This response will return all the accommodation available from the accommodation provider/ reseller which matches the search.

<?xml version="1.0" encoding="UTF-

<PropertyLocationSearch size="5" numresults="5">

<Property size="l l">

<propertyNumber>5761 </propertyNumber>

<propertyName>Academica Summer Hostel</propertyName>

<addressl >Hietaniemenkatu 14</ addressl >

<maxNights>14</maxNights>

<propertyType>Hostel</propertyType>

<maxPax>8</ maxPax>

<BedPrices size="l">

<BedPrice size="2"> <price>34.50</price>

<currency>EUR</ currency >

</BedPrice>

</BedPrices>

<AvailableDates size="2">

<availableDate>2010-08-0K/avaikbleDate>

<avanableDate>2010-08-02</availableDate>

< / AvailableD ates >

<shortDescription> Welcome! Hostel Academica is situated in the heart of Helsinki, within walking distance from Helsinki railway station, from tram and bus stops and from Kamppi metro station. </ shorfDescription>

<PropertyImages size="l ">

<PropertyImage size="5">

<imageFormat>JPEG< / imageFormat>

<imageType>Thumbnail</imageType>

<imageWidth > 61 < /imageWidth >

<imageHeight>59</imageHeight>

<imageURL>http://images.webresint.com/images/hostel s/mini_5761_l .)pg</image URL>

< /PropertyImage>

</PropertyImages>

<Geo size="2">

<Longitude>24.9211657</Longitude>

<Latitude>60.1701438</Latitude>

</Geo>

</Property>

<Property size="12">

< prop ertyNumber > 4050 < / prop ertyNumber >

< prop ertyName> Airport Hotel Bonus Inn</ propertyName>

<addressl >Elannontie 9</addressl >

<maxNights>28</maxNights>

< pr op ertyTyp e>Hotel</prop ertyTyp e >

<starRating>3</ starRating>

<maxPax>10</maxPax> <BedPrices size="l ">

<BedPrice size="2">

<price>46.00</price>

<currency>EUR</ currency >

</BedPrice>

</BedPrices>

<AvailableDates size="2">

<availableDate>2010-08-0K/avaikbleDate>

<avanableDate>2010-08-02</availableDate>

< /AvailableDates >

<shortDescription>This is a private hotel only 5 minutes with a free shuttle from Helsinki Airport..</ shortDescription>

<PropertyImages size="l ">

<PropertyImage size="5">

<imageFormat>JPEG< / imageFormat>

<imageType >Thumbnail < /imageTyp e >

<imageWidth > 61 < /imageWidth >

<imageHeight>59</imageHeight> <imageURL>http:/ / images.webresint.com/ images/hostels/ mini_4050_l .)pg</image

URL>

< /PropertyImage>

</PropertyImages>

<Geo size="2">

<Longitude>24.9501228</Longitude>

<Latitude>60.2889923</Latitude>

</Geo>

</Property>

<Property size="l l">

<propertyNumber>12127</ propertyNumber>

<propertyName>Hostel Stadion</ propertyName>

<addressl > Olympic Stadium</ addressl >

< maxNights > 7 < / maxNights >

<propertyType>Hostel</propertyType>

<maxPax>8</maxPax> <BedPrices size="l ">

<BedPrice size="2">

<price>20.00</price>

<currency>EUR</ currency >

</BedPrice>

</BedPrices>

<AvailableDates size="2">

<availableDate>2010-08-0K/avaikbleDate>

<avanableDate>2010-08-02</availableDate>

< /AvailableDates >

<shortDescription>We offer you the best value in Helsinki. Our Hostel is located right in the Helsinki Olympic Stadium. All the main sites of the capital are within easy walking distance. We have a few private rooms and a wide range of dormitory accommodations </ shortDescription>

<PropertyImages size="l ">

<PropertyImage size="5">

<imageFormat>JPEG< / imageFormat>

<imageType >Thumbnail < /imageTyp e >

<imageWidth > 61 < /imageWidth >

<imageHeight>59</imageHeight>

<imageURL>http://images.webresint.com/images/hostel s/mini_l 2127_l.)pg< /image URL>

< /PropertyImage>

</PropertyImages>

<Geo size="2">

<Longitude>24.9259614</Longitude>

<Latitude>60.1880492</Latitude>

</Geo>

</Property>

<Property size="12">

< prop ertyNumber > 9179 < / prop ertyNumber >

<propertyName>Hotel Anna</propertyName>

<addressl >Annankatu 1 </ addressl >

<maxNights>28</maxNights> < pr op ertyTyp e > H o tel < / pr op ertyTyp e >

<starRating>3</ starRating>

<maxPax>8</ maxPax>

<BedPrices size="l ">

<BedPrice size="2">

<price>32.50</price>

<currency>EUR</ currency >

</BedPrice>

</BedPrices>

<AvailableDates size="2">

<availableDate>2010-08-0K/availableDate>

<avanableDate>2010-08-02</availableDate>

< / AvailableD ates >

<shortDescription>Hotel Anna is a tranquil and cozy hotel in the very centre of Helsinki...</ shorfDescription>

<PropertyImages size="l ">

<PropertyImage size="5">

<imageFormat>JPEG< / imageFormat>

<imageType >Thumbnail < /imageTyp e >

<imageWidth>6K/imageWidth>

<imageHeight>59</imageHeight>

<imageURL>http://images.webresint.com/images/hostel s/mini_9179_l .)pg</image URL>

</PropertyImage>

</PropertyImages>

<Geo size="2">

<Longitude>24.9426555</Longitude>

<Latitude>60.1628529</Latitude>

</Geo>

</Property>

<Property size="12">

<propertyNumber>41362</propertyNumber>

<propertyName>H&#228;meenkyl&#228;n Kartano</ propertyName>

<addressl >Juustenintie l </addressl > <address2>Vantaa</ address2>

<maxNights>14</maxNights>

< pr op ertyTyp e > H o tel < / pr op ertyTyp e >

<maxPax>8</ maxPax>

<BedPrices size="l ">

<BedPrice size="2">

<price>25.00</price>

<currency>EUR</ currency >

</BedPrice>

</BedPrices>

<AvailableDates size="l">

<avanableDate>2010-08-02</availableDate>

< / AvailableD ates >

<shortDescription>This hotel lies by Lake Pitk&#228;j&#228;rvi, near Helsinki- Vantaa Airport and 25 minutes&#39; buss drive from central Helsinki. It offers free

Wi-Fi, movie room, morning sauna and pool access and a free tea buffet. </ shortDescription>

<PropertyImages size="l ">

<PropertyImage size="5">

<imageFormat>JPEG< / imageFormat>

<imageType >Thumbnail < /imageTyp e >

<imageWidfh > 61 < /imageWidfh >

<imageHeight>59</imageHeight> <imageURL>http://images.webresint.com/images/hostels/ mini_41362_l.)pg</image

URL>

< /PropertyImage>

</PropertyImages>

<Geo size="2">

<Longitude>24.7852849</Longitude>

<Latitude>60.2713760</Latitude>

</Geo>

</Property>

</PropertyLocationSearch> GetAccommodationDetails

Request Message

This request will request detailed info about a single accommodation from the accommodation provider/ reseller.

http:/ / reservations.bookhostels.com/ xmlapi/PropertyInformation.php?UserID=rucksa ck.com&PropertyNumber=4050

Response Message

This response will contain detailed info about a single accommodation from the accommodation provider/ reseller.

<?xml version="1.0" encoding="UTF-8"?>

<PropertyInformation size="l">

<Property size="13">

< prop ertyNumber > 4050 < / prop ertyNumber >

< prop ertyName> Airport Hotel Bonus Inn</propertyName>

<addressl >Elannontie 9</addressl >

<postCode>01510</postCode>

<city>Helsinki</city>

<country>Finland</ country>

< pr op ertyTyp e>Hotel</prop ertyTyp e >

<starRating>3</ starRating>

<description>&#60;b&#62;The Bonus Inn Airport Hotel &#60;/b&#62;is a privately owned 211 -room hotel only 5 minutes with free shuttle from Helsinki Airport and 30 minutes by local bus from down-town Helsinki.

All rooms are with private facilities, international TV, direct-dial phone, high-speed internet connection to guest&#39;s laptop, coffee/ tea maker and fridge.

Many rooms are also with a kitchenette. Take our free shuttle from the airport, or park your car in complimentary guest car park. Visit the next-door JUMBO shopping centre, work out in the gym and relax in the evening sauna. Facilities include also an internet room and self-service laundry.

The KULMA restaurant adjacent to the Atrium Lobby Bar offer drinks, refreshments and Finnish and international dishes in casual atmosphere. You never leave hungry!

The sumptuous buffet breakfast costing 10 Euro per person is served from early hours.

The multilingual staff is at your service 24h. Welcome to Finland and to the Bonus Inn Airport Hotel! </description>

<currency>EUR</ currency>

<PropertyImages size="8">

<PropertyImage size="5">

<imageFormat>JPEG< / imageFormat>

<imageType>Thumbnail</imageType>

<imageWidth > 61< /imageWidth >

<imageHeight>59</imageHeight>

<imageURL>http:/ / images.webresint.com/ images/hostels/ mini_4050_l .jpg</image URL>

< /PropertyImage>

<PropertyImage size="5">

<imageFormat>JPEG< / imageFormat>

<imageType>Main< / imageType>

<imageWidth>288</imageWidth>

<imageHeight>271 </imageHeight>

<imageURL>http://images.webresint.com/images/hostel s/4050_l.jpg</imageURL> < /PropertyImage>

<PropertyImage size="5"> <imageFormat>JPEG< / imageFormat>

<imageType >Thumbnail < /imageTyp e >

<imageWidth > 61< /imageWidth >

<imageHeight>59</imageHeight>

<imageURL>http:/ / images.webresint.com/ images/hostels/ mini_4050_2.)pg</image URL>

< /PropertyImage>

<PropertyImage size="5">

<imageFormat>JPEG< / imageFormat>

<imageType>Main< / imageType>

<imageWidth>315 </imageWidth>

<imageHeight>220 < / imageHeight> <imageURL>http://images.webresint.com/images/hostels/ 4050_2.jpg</imageURL>

< /PropertyImage>

<PropertyImage size="5">

<imageFormat>JPEG< / imageFormat>

<imageType >Thumbnail < /imageTyp e >

<imageWidth>6K/imageWidth>

<imageHeight>59</imageHeight>

<imageURL>http:/ / images.webresint.com/ images/hostels/ mini_4050_3.jpg</image URL>

</PropertyImage>

<PropertyImage size="5">

<imageFormat>JPEG< / imageFormat>

<imageType>Main< / imageType>

<imageWidth>316</imageWidth>

<imageHeight>217 < / imageHeight>

<imageURL>http://images.webresint.com/images/hostel s/4050_3. ) pg</imageURL>

< /PropertyImage>

<PropertyImage size="5">

<imageFormat>JPEG< / imageFormat> <imageType >Thumbnail < /imageTyp e >

<imageWidth>61 </imageWidth>

<imageHeight>59</imageHeight>

<imageURL>http:/ / images.webresint.com/ images/hostels/ mini_4050_4.)pg</image

URL>

< /PropertyImage>

<PropertyImage size="5">

<imageFormat>JPEG< / imageFormat>

<imageType>Main< / imageType>

<imageWidth>230 < /imageWidth>

<imageHeight>221 </imageHeight>

<imageURL>http://images.webresint.com/images/hostel s/4050_4. ) pg</imageURL>

< /PropertyImage>

</PropertyImages>

<Facilities size="21">

< facility >Restaurant</ facility >

< facility >Internet Access</ facility >

< facility >Laundry< /facility >

< /Facilities >

<directions>Free mini-bus shuttle from Helsinki airport, International Terminal Platform 11, Domestic Terminal, Platform 9.

Scheduled service every 20 min. in the evenings 17hl0-01hl0. At other times please phone us from the airport, and we&#39;ll be happy to pick you up in 5-10 min.

Nearest train station is Tikkurila, 10 min. taxi ride, or 20 min. bus ride away.

From Helsinki centre, Railway Square, bus No. 650 has a stop right by the hotel.

Driving time some 30 min.

Or, you can take bus No. 615 to the Airport, and our free minibus shuttle from there. < / directions >

</Property>

< /PropertyInformation> GetAvailability

Request Message

This request will request detailed availability info about a single accommodation from the accommodation provider/ reseller.

http:/ / reservations.bookhostels.com/ xmlapi/PropertyBookinglnformation.phpPShowRoomlnfo =0&DateStart=2010-08-01&NumNights=l&UserID=rucks ack.com&PropertyNumber=4050

Response Message

This response will contain detailed availability info about a single accommodation from the accommodation provider/ reseller.

<?xml version="1.0" encoding="UTF-8"?>

<PropertyBookingInformation size="4">

<minNights > 1 < / minNights >

<propertyNumber>4050</propertyNumber>

<maxPax> 10 < / maxPax>

<Rooms size="3">

<RoomType size="5">

<roomType>Private</roomType>

<roomTypeCode>l_PrivateEnsuite</roomTypeCode>

<roomTypeDescription>Single Private Ensuite</roomTypeDescription>

<BedPrice size="2">

<price>78.00</price>

<currency>EUR</currency>

</BedPrice>

<AvailableDates size="2">

<date>2010-08-0K/date>

<date>2010-08-02</date>

</AvailableDates>

</RoomType>

<RoomType size="5">

<roomType>Private</ roomType> <roomTypeCode>2_PrivateEnsuite</roomTypeCode>

<roomTypeDescription>Twin Private Ensuite</roomTypeDescription>

<BedPrice size="2">

<price>46.00</price>

<currency>EUR</ currency>

</BedPrice>

<AvailableDates size="2">

<date>2010-08-0K/date>

<date>2010-08-02</date>

< / AvailableDates >

</RoomType>

<RoomType size="5">

<roomType>Private</ roomType>

<roomTypeCode>3_PrivateEnsuite</roomTypeCode>

<roomTypeDescription>3 Bed Private Ensuite</roomTypeDescription>

<BedPrice size="2">

<price>46.67</price>

<currency>EUR</ currency>

</BedPrice>

<AvailableDates size="2">

<date>2010-08-0K/date>

<date>2010-08-02</date>

</ AvailableDates >

</RoomType>

</Rooms>

</PropertyBookingInformation>

Book

Request Message

The following message opens the booking link on the website of the accommodation provider/ reseller. It includes the Affiliate information, so that the CwM operation gets paid: http:/ / reservations.bookhostels.com/ rucksack.com/ availability.php?DateStart=2010-07-

16&NumNights =3&HostelNumber=4050&Submit= 1 &RoomPreferencel =2_PrivateEnsuite&P ersonsl = l

Integration with Comet Server

CwM uses COMET to share the state between the clients allowing real-time presentation (without reloads) of all user activity to other members of the Collaboration group.

We use JSON format to send and to retrieve data from COMET. With current gadget's version we have an ability to send APE requests from client side and from server side. Here are some examples:

The following is the sample code for a hotel-search application

User searched for hotels:

When user searches for hotels - JavaScript code processes ajax request to our server. Our server accesses to hotels.com API data to retrieve the list of hotels. If this search was successful, then server creates APE request to inform all the clients from current channel that new search is available. This request has following structure:

(object)array(

'uid' => [participantlD],

'key' => 'lastvisited',

'add' => array((object)array(

'itemID' => [searchCachelD] ,

'creator' => [participantlD],

'addedOn' => time(),

'type' => 'searchltem',

'searchString' => [search_condition],

'distance' => [max_distance] ,

'rooms' => [rooms_count],

'date' => [date_start] ,

'dateEnd' => [date_end],

'nameFilter' => [hotel_name_contains] ,

'minPrice' => [min_price],

'maxPrice' => [max_price],

'currency' => [currencyCode] , 'minS tars' => [stars_rating] ,

'minRate' => [tri Adviser_rating],

'addressType' => [addressType] //city/ address

));

);

User viewed hotel details:

When user clicks on the hotel from the list - JavaScript code processes ajax request to our server to retrieve html layout . Server side code accesses to hotels.com API to retrieve actual prices info, retrieves hotel details from our DB. If hotel's details are available, then server creates APE request to inform all the client from current channel that specified participant loaded this hotel.

This request has following structure:

(object)array(

'uid' => [participantlD],

'key' => 'lastvisited',

'add' => array((object)array(

'itemID' => [hotellD],

'participantlD' => [participantlD],

'addedOn' => time(),

'searchltemID' => [searchCachelD] ,

'type' => 'item',

'hotelName' => [hotelName],

'hotellmg' => [hotel_thumb_image] ,

'price' => [price],

'currency' => [currency],

'stars' => [stars_rating],

'tripAdviserRating' => [trip Adviser_ra ting]

))

); hotel added to "Proposals" list:

To inform all the clients that new hotel has been added into "Proposals" list we send APE request from the server side. This request has following structure:

(object)array(

'uid' => [participantlD], > 'proposals',

'add' => array(

(object) arra^

'itemID' => [hotellD],

'searchltemID' => [searchCachelD],

'participantID' => [participantID],

'hotelName' => [hotelName],

'hotellmg' => [hotel_thumb_image],

'price' => [price],

'currency' => [currency],

'stars' => [stars_rating],

'tripAdviserRating' => [tripAdviser

))

);

Hotel removed from "Proposals" list:

To inform all the clients that hotel has been removed from the "Proposals" list we send APE request from the server side. This request has following structure:

(object) array(

'uid' => [participantID],

'key' => 'proposals',

'del' => array(

(object) array(

'itemID' => [hotellD],

'searchltemID' => [searchCachelD],

'subType' => 'Ο', / / currently not in use (reserved)

'participantID' => [participantID],

'hotelName' => [hotelName],

'hotellmg' => [hotel_thumb_image],

'price' => [price],

'currency' => [currency],

'stars' => [stars_rating],

'tripAdviserRating' => [tripAdviser_rating]

)) vote added:

This APE request is being processed from the server side too. To save vote value JavaScript code sends ajax request to the server. Server side code saves new vote into gadget's state, saves new chat entry into gadget's state, retrieves hotel information from our DB and creates APE request to inform all the client from current channel that new vote has been added. This request has following structure:

$upd = (object) array (

'uid' => [participantlD],

'key' => 'votes'

'add' => (object) array (

'itemID' => [hotellD],

'searchltemID' => [searchCachelD] ,

'vote Value' => [vote],

'participantlD' => [participantlD],

'totalScore' = > [score] / / total votes score for this hotel

)

Write in chat:

This APE request is being created on the client side only. When user clicks on "save comment" button - JavaScript code creates APE request. When server receives this APE request, it saves new comment and new chat entry in gadget's state. This APE request will reach all the clients too (Each client will display new comment in the chat). This request has following structure: var COMMENT = {

uid: [participantlD],

key: 'comments',

add: {

text: [comment_text] ,

time: [time],

participantlD: [participantlD],

entry: { // this field may contain null value

itemID: [hotellD],

participantlD: [participantlD], searchltemID: [searchCachelD] ,

hotelName: [hotelName] ,

hotellmg: [hotel_thumb_image],

price: [price],

currency: [currency],

stars: [stars_rating],

tripAdviserRating: [tripAdviser_rating]

}

}

}

Last user's chat entry deleted:

This APE request is being created on the client side only. This request has following structure: var COMMENT = {

uid: [participantID],

key: 'comments',

del: {

participantID: [particip:

}

}

"Hotel viewed", "User searched" chat entries deleted

Users have ability to delete those kinds of chat entries. When user clicks on "x" button - JavaScript code creates APE request. When server receives this request, it removes chat entry from gadget's state. When clients receive this request— they deletes those chat entries from html layout. This APE request has following structure: var LV = {

uid: [participantID],

key: 'lastvisited',

chat_del: {

action: [chat_action] ,

participantID: [participantID], cachelD : [searchCachelD] ,

itemID:[hotelID] / / this field may contain null value }

}




 
Previous Patent: LOW VOLTAGE RIGID CABLE

Next Patent: APPARATUS & METHOD