booktour

Make a tour, sightseeing tour, or circuit optional reservation.

Note:


endpoints

production

https://newapi.vpttours.com/booktour

request parameters

brochure
[int][required]

Tour brochure code.


code
[int][required]

Tour code.

For circuit optional reservations, this must be the optional service code returned by getoptionals.


date
[date:yyyy-mm-dd][required]

Departure date.

For circuit optional reservations, this must be the date of the optional service.


reference
[string][required]

Client custom reference associated with the reservation.


language
[int]

Language code in which we want to make the request.


tour fields:

rooms
[array:room:1-5][required]

Rooming list data.


foodplan
[int][default AD]

Tour foodplan.

For bookings including a meal plan, send foodplan: 1 to activate the selected meal plan when it is available for the selected tour, departure date and rate.

Sending the supplement code alone in supplements does not activate the meal plan.


category
[int]

Tour chosen category.


prenights
[int:0-2]

Number of pre nights before the tour start.


postnights
[int:0-2]

Number of post nights after the tour end.


transferin
[transfer]

Transfer-in data.


transferout
[transfer]

Transfer-out data.


sightseeing tour fields:

paxs
[array:pax:1-99][required]

Passenger list.


pickup
[string:pickup]

Pickup code.


circuit optional fields:

Some optional services belong to an already confirmed circuit reservation.

These optionals are not sightseeing tours and must be booked as an add-on to an existing circuit booking.

The following fields are required for circuit optional reservations:


optional
[int][required only for circuit optionals]

Must be set to 1 to indicate that the request corresponds to an optional service attached to a circuit reservation.


reservationcode
[string][required only for circuit optionals]

Locator of the already confirmed main circuit reservation to which the optional service will be added.


paxs
[array:pax:1-99][required only for circuit optionals]

Passenger list for whom the optional service will be booked.

For circuit optional reservations, this field is used to calculate the quantity and the total amount of the optional service.

The unit price returned by getoptionals is applied per passenger/person included in this paxs node.

Example:

Optional service unit price returned by getoptionals: 111 USD
Passengers sent in booktour paxs node: 7
Total amount returned by booktour: 777 USD

pickup
[string:pickup]

Pickup code, when required for the optional service.


Notes for circuit optionals


Example – BookTour for a circuit optional

{
  "logindata": {
    "useremail": "*****",
    "userpass": "*****",
    "integrator_token": "xxxxxx"
  },
  "requestdata": {
    "brochure": 264,
    "code": 26,
    "language": "1",
    "prenights": 0,
    "postnights": 0,
    "date": "2026-07-24",
    "optional": "1",
    "reservationcode": 498471,
    "reference": "optional-264-26",
    "supplements": [],
    "paxs": [
      {
        "code": 0,
        "name": "Passenger 1",
        "surname": "Surname 1",
        "age": 30,
        "passport": "P123456"
      },
      {
        "code": 1,
        "name": "Passenger 2",
        "surname": "Surname 2",
        "age": 30,
        "passport": "P123457"
      },
      {
        "code": 2,
        "name": "Passenger 3",
        "surname": "Surname 3",
        "age": 30,
        "passport": "P123458"
      },
      {
        "code": 3,
        "name": "Passenger 4",
        "surname": "Surname 4",
        "age": 30,
        "passport": "P123459"
      },
      {
        "code": 4,
        "name": "Passenger 5",
        "surname": "Surname 5",
        "age": 30,
        "passport": "P123460"
      },
      {
        "code": 5,
        "name": "Passenger 6",
        "surname": "Surname 6",
        "age": 30,
        "passport": "P123461"
      },
      {
        "code": 6,
        "name": "Passenger 7",
        "surname": "Surname 7",
        "age": 13,
        "passport": "P123462"
      }
    ],
    "pickup": "10001-1"
  }
}

Example response – BookTour for a circuit optional

{
  "reservationloc": 498471,
  "serviceloc": 498471004,
  "bookingstatus": "confirmed",
  "total": 777,
  "commission": 77.7,
  "discount": 0,
  "lines": [
    {
      "code": 1,
      "concept": "adult",
      "quantity": 7,
      "total": 777,
      "currency": {
        "code": "2",
        "name": "DOLAR USA",
        "symbol": "USD"
      },
      "observaciones": null
    }
  ],
  "currency": {
    "code": "2",
    "name": "DOLAR USA",
    "symbol": "USD"
  }
}

response data

reservationloc
[int]

Reservation locator.


serviceloc
[int]

Service locator.


bookingstatus
[string]

Reservation status.


total
[decimal]

Total reservation amount.

For circuit optional reservations, this is the total amount calculated according to the passengers sent in the paxs node.


commission
[decimal]

Commission amount.


discount
[decimal]

Discount amount.


lines
[price]

Detailed reservation price list.

For circuit optional reservations, each line includes the calculated quantity and total for the optional service.


currency
[object]

Reservation currency.