Zak API to read/write reservations details

These APIs allow you to read/write the reservations data of a zak property.
On each examples 123456 is used as api-key which is sent as user.

A Reservation

A reservation is a data structure composed of the following fields:

Field name Description
id Id of the reservation
rcode Reservation code of the form XY-0001
rooms A list of rooms
status Status of the reservation
price A data structure containing information regarding the price
payment A data structure containing information regarding the payment
board type of board of the reservation
agency id of the agency through which the reservation has been made
booker id of the booker
corporate id of the corporate through which the reservation has been made
created creation date of the reservation

A room is structured as following:

Field name Description
dfrom Starting date
dto Ending date
id_zak_room id of the room
id_zak_room_type id of the room type
customers A data structure containing the ids of the customers related to the reservation
occupancy A data structure containing information regarding occupancy

Fetch one reservation

This is a Premium API If you want to know more about our system authentication click here

This method will return information regarding a specific reservation of a given property.
Url: https://kapi.wubook.net/kp/reservations/fetch_one_reservation

Usage example

At least one of the following parameters is required:

Field name Description
rsrvid reservation id
hcode reservation code of the form (XY-0001)
$ curl -H "x-api-key:123456" https://kapi.wubook.net/kp/reservations/fetch_one_reservation
>>> import requests
>>> headers = {'x-api-key':'123456', 'x-provider-key':654321}
>>> response= requests.post('https://kapi.wubook.net/kp/reservations/fetch_one_reservation', headers = headers, data = data)
>>> print(response.text)

Response Example

$ curl https://kapi.wubook.net/kapi/reservations -u 123456: -X POST \
  -d rsrvid=47

  {'agency': None,
    'board': 'nb',
    'booker': 534,
    'corporate': None,
    'created': '22/01/2021',
    'id': 47,
    'id_human': 'PP-0004',
    'payment': {'amount': 0.0, 'currency': 'EUR'},
    'price': {'amount': 1495.0, 'currency': 'EUR'},
    'rooms': [{'customers': [{'id': 534}, {'id': 535}],
              'dfrom': '23/01/2021',
              'dto': '30/01/2021',
              'id_zak_room': 246,
              'id_zak_room_type': 2,
              'occupancy': {'adults': 2,
                            'babies': 0,
                            'children': 0,
                            'teens': 0}}],
    'status': 'confirmed'}

Fetch reservations

This is a Premium API If you want to know more about our system authentication click here

This method will return a list of reservations
Url: https://kapi.wubook.net/kp/reservations/fetch_reservations

Usage example

Input fields are not necessary, nevertheless a data structure containing filtering options can be provided

Type of filters Description
created Reservations created in a range of dates
arrival Reservation with arrival date in a range of dates
departure Reservation with departure date in a range of dates
pager Paging options - Limit can be a value in [8, 16, 32, 64], offset can be any integer
${'filters':{
          'created': {'from': '10/10/2020', 'to':'01/02/2021'},
          'arrival': {'from': '17/12/2020', 'to': '11/01/2021'},
          'departure': {'from': '10/02/2021', 'to': '12/03/2021'},
          'pager': {'limit': 8, 'offset': 0}
        }

  }

filters must be passed as JSON.

$ curl -H "x-api-key:123456" https://kapi.wubook.net/kp/reservations/fetch_reservations
>>> import requests
>>> headers = {'x-api-key':'123456', 'x-provider-key':654321}
>>> response= requests.post('https://kapi.wubook.net/kp/reservations/fetch_reservations', headers = headers, data = data)
>>> print(response.text)

Response example

This API returns a list of reservations.

Meal

A meal is a data structure having the following fields

Field name Description subf-ields
id id of the meal  
dates structure containing dates information day, created
meal_info structure containing meal information mnumber, mtype, times
price structure containing costs information amount, currency, discount, total, vat, vat_rate
Sub-fields description
field Type Description
day date (dd/mm/yyyy) day on which the meal was eaten
created date (dd/mm/yyyy) creation date on Zak
mnumber integer number of meals
mtype string (“b”, “l” or “d” ) Breakfast, lunch or dinner
times integer number of repetitions for this meal
amount float amount
currency string currency of the amount
discount float discount
total float total
vat float vat
vat_rate int vat percentage

Meal example

${"data":
        {
            "id": 34,
            "dates": {
                "created": "27/01/2021",
                "day": "25/01/2021"
            },
            "meal_info": {
                "mnumber": 1,
                "mtype": "l",
                "times": 1
            },
            "price": {
                "amount": 19.0,
                "currency": "EUR",
                "discount": 0.0,
                "total": 19.0,
                "vat": 0.0,
                "vat_rate": 0
            }
        },
     }

Get Meals

This is a Premium API If you want to know more about our system authentication click here

This function will return a list of meals related to a given reservation
Url: https://kapi.wubook.net/kp/reservations/get_meals

Usage example

Only reservation id is required to use this API.

$ curl -L -X POST 'https://kapi.wubook.net/kp/reservations/get_meals' -H 'x-api-key: 123456' -H 'x-api-provider-key: 654321' -d 'rsrvid=47'
>>> import requests
>>> headers = {'x-api-key':'123456', 'x-provider-key':654321}
>>> data = {'rsrvid': 1}
>>> response= requests.post('https://kapi.wubook.net/kp/reservations/get_meals', headers = headers, data = data)
>>> print(response.text)

Response example

${"data": [
            {"id": 34 . .  },{"id": 35  . . }, {}, {}
          ]

Add Meal

This is a Premium API If you want to know more about our system authentication click here

This API can be used to add a meal to a given reservation
Url: https://kapi.wubook.net/kp/reservations/add_meal

Usage example

To use this API one must provide several different parameters

:widths:auto
Field Description Type Sub-fields
rsrivd resrvation id int  
meal data structure JSON price, mtype, mnumber, times, day, rooms, custs
$ curl -L -X POST 'https://kapi.wubook.net/kp/reservations/add_meal' -H 'x-api-key: 123456' -H 'x-api-provider-key: 654321' -d 'rsrvid=47' -d 'meal'='{}'
>>> import requests
>>> import json
>>> headers = {'x-api-key':'123456', 'x-provider-key':654321}
>>> meal = {'theconfig':mealconfig}
>>> json.dumps(meal)
>>> data = {'rsrvid': 1, 'meal': meal}
>>> response= requests.post('https://kapi.wubook.net/kp/reservations/add_meal', headers = headers, data = data)
>>> print(response.text)

Response example

${
  "data": 1
  }

Delete Meal

This API will allow you to delete a meal from zak.
Url: https://kapi.wubook.net/kp/reservations/del_meal

Usage example

To use this API only two parameters are mandatory: reservation id, namely rsrvid, and the meal id, fmid.

$ curl -L -X POST 'https://kapi.wubook.net/kp/reservations/del_meal' -H 'x-api-key: 123456' -H 'x-api-provider-key: 654321' -d 'rsrvid=47' -d 'fmid=1'
>>> import requests
>>> headers = {'x-api-key':'123456', 'x-provider-key':'654321'}
>>> data = {'rsrvid': 1, 'fmid':1}
>>> response= requests.post('https://kapi.wubook.net/kp/reservations/del_meal', headers = headers, data = data)
>>> print(response.text)

Response example

${
  "data": 1:.. warning::

  }