1. A method for booking a discounted hotel stay by an end-user, using virtual and actual currency, the method comprising the steps of: authorizing a client of an administrator to distribute a virtual currency to the end-user, the virtual currency authorized for distribution to the end-user by the administrator, wherein the administrator is the creator of the virtual currency and wherein the virtual currency has no per unit cost to the client; distributing the virtual currency, the virtual currency distributed by the client to the end-user without any limitation imposed by the administrator on the amount of the virtual currency distributed, wherein the end-user does not pay for the virtual currency; receiving an end-user request for price information for a hotel room; retrieving a daily price value of the hotel stay from a first database in response to the end-user request for price information, the first database being maintained by an intermediary or a supplier, the daily price value being a non-discounted price available to a consumer and being less than a rack rate for the hotel stay; retrieving a base price value of the hotel stay; calculating in response to the end-user request, by a computer system, a difference between the retrieved daily price value and the retrieved base price value to determine a margin value; allocating, by the computer system, a portion of the margin value to an entity other than the end-user; increasing, by the computer system, the base price value by an amount equal to the amount allocated to the entity to determine an adjusted base price value of the hotel stay, the adjusted base price value indicative of an amount of actual currency to be paid by the end-user; calculating a difference between the retrieved daily price value and the adjusted base price value to determine a savings value of the hotel stay, the savings value indicative of an amount of the virtual currency to be paid by the end-user; presenting the retrieved daily price value of the hotel stay, the adjusted base price value of the hotel stay and the savings value of the hotel stay to the end-user; receiving an end-user request to book the hotel stay; determining, by the computer system, that the end-user has an amount of available virtual currency at least equal to the amount of the savings value; subtracting, by the computer system, an amount of the virtual currency equal to the presented savings value from the available virtual currency; and receiving details from the end-user indicating payment of actual currency in an amount at least equal to the adjusted base price value, thereby providing the discounted hotel stay to the end-user.