Handling Reservations

Wired makes possible to insert new reservations and to cancel existing ones. To do that, you just have two functions:

cancel_reservation(token, lcode, rcode[, reason='', send_voucher=1])
confirm_reservation(token, lcode, rcode[, reason='', send_voucher=1])
reconfirm_reservation(token, lcode, rcode[, reason='', send_voucher=1])
new_reservation(token, lcode, dfrom, dto, rooms, customer, amount[, origin='xml', ccard=0, ancillary=0, guests=0, ignore_restrs=0, ignore_avail=0, status=1])

cancel_reservation() is used to cancel an active reservation. confirm_reservation() is used to confirm a reservation waiting for confirmation reconfirm_reservation() is used to reconfirm a reservation previously deleted. Notice that it’s not possible to modify reservations originated by OTAs. You can just modify direct reservations (received via the wubook’s booking engine). The reason parameter is just a string and acts as a remark while send_voucher determines if Wired should send a voucher to the customer or not.

The new_reservation() function is used, instead, to insert new reservations. Combined with the WuBook Fount - Selling rooms on your site, it can even be used to develop a basic, but powerful, booking engine.

Warning

To use the new_reservation() call, you need to subscribe to WooDoo Online Reception or to WooDoo Whitelabel Standard package

The rooms argument is a KW structure, like this:

rooms= {
  '1': [quantity, board],
  '2': [quantity, board],
}

To better understand possible values of the board field, please, refere to the Handling Rooms section. Also the customer argument is a KV structure and it must contain the following keys: lname (last name), fname (first name), email, city, phone, street, country, arrival_hour and notes (remarks). The country parameter is the 2-digit country symbol, for example: IT,UK,FR,US,RU and so on.

The origin field is a kind of signature: this way, you can tag the reservation with an “Originated by” tag. The ccard field is used if you want to provide a CC guarantee for this reservation. It’s a KV structure with the following fields: cc_exp_year, cc_exp_month, cc_type, cc_cvv, cc_owner and cc_number. In particular, the cc_type field represents the credit card family (VISA, MASTERCARD…). It is an integer, check the following table to discover its possible values:

Family

Integer

VISA

1

MASTERCARD

2

DISCOVER

4

AMERICAN_EXPRESS

8

ENROUTE

16

JCB

32

DINERS

64

TEST

128

MAESTRO

256

BLANCHE

512

AUSTRALIAN

1024

EUROCARD

8192

UNIONPAY

16384

BOOKCOM

32768

CARTEBLEUE

65536

CARTEBANCAIRE

131072

MNP

262144

VISA ELECTRON

524288

The ancillary field is an arbitrary KV structure, where you can collect additional information.

Guests is a KV stucture containing additional people in the reservation and it’s arbitrary; guests wants two params, “men” and “children”. If used, you have to specify at least an integer for the “men” param, otherwise you’ll encounter an error.

The ignore_restrs parameter, if set to 1, will avoid restrictions like “Min. Stay”, “Min. Stay Arrival”, “Max. Stay”, etc. And the ignore_avail parameter, if set to 1, will insert the reservation even if there is no availability for the specified room(s).

Warning

Ignore Restrictions and/or Availability should be used just for specific integration cases. A bad use of these params, can cause confusion and even overbooking.

Using the status parameter, you can create a waiting for approval reservation (status=2) or a confirmed one (status=1)

Below, you’ll find an xml example of a call followed by an answer of the new_reservation() function.

+ show/hide code