⇡ POST /booking_confirmation

A booking request is sent when the customer has completed the payment and the reservation needs to be booked in. You should respond to this callback with live barcodes which are redeemable at your venue.

The /booking_confirmation request must be made as a POST request to https://api.cityconnect.net/v1/booking_confirmation. You must use your email and token created in your account as HTTP Basic Authentication header to authenticate the request.

An example body is below:

{
  "reservation": "RESERVATION00004214",
  "reference": "VIATOR0000424123",
  "product": "WINETOUR",
  "option": "WITHLUNCH",
  "promotion": "OCT2017",
  "time": "10:30",
  "date": "2017-10-07",
  "adult": 2,
  "child": 1,
  "customer": {
    "first_name": "John",
    "last_name": "Smith",
    "email": "[email protected]",
    "mobile": "+17345551212",
    "language": "EN",
    "country": "GB"
  },
  "notes": "Allergic to nuts"
}

📘

Note the reservation must be null for freesale products as it does not require an availability check beforehand.

Below is a list of parameters and descriptions of what they mean:

ParamDescription
reservationThe reservation code that you originally returned in the reservation request. This will be null if the product is freesale.
referenceYour internal reference code that will represent this booking in your system.
productYour product code for this booking.
optionYour option code for this booking. (if applicable)
promotionThe promotion code (if applicable)
timeYour tour departure time for this booking. (if applicable)
dateThe travel date of this booking.
adultThe number of adult tickets in the booking
childThe number of child tickets in the booking
youthThe number of youth tickets in the booking
infantThe number of infant tickets in the booking
seniorThe number of senior tickets in the booking
studentThe number of student tickets in the booking
customer[first_name]The customer's first name
customer[last_name]The customer's last name
customer[email]The customer's email
customer[mobile]The customer's mobile, must be prefixed with the international calling code. e.g. +1
customer[language]The customer's spoken language as ISO 639-1 code.
customer[country]The customer's country of origin ISO ALPHA-2 code.
notesAny notes the customer specified for this booking.

City Connect will respond with a simple response containing the barcodes sent from the supplier's system:

{
  "mobile": true,
  "reference": "BOOKING00004232",
  "barcode": "128465552",
  "rrp": 52.30,
  "net": 45.00,
  "discount": 10.00,
  "tickets": [
    { "type": "adult", "barcode": "7485936482" },
    { "type": "adult", "barcode": "2512356846" },
    { "type": "child", "barcode": "9257377533" }
  ]
}

Below is a description of each of the fields:

ParamDescription
mobileWether the tickets will be accepted on a mobile phone or must be printed before arrival.
referenceThe supplier's internal reference for this booking.
barcodeAn individual barcode that can be used for all the tickets in the booking.
rrpThe recommended retail price of the whole booking.
netThe net rate charged by the supplier to the agent.
discountAny discount that has been applied to both the recommended retail price and net rate.
tickets[][type]The type of the ticket, as requested in the request body.
tickets[][barcode]The ticket's barcode data as a string. This will be encoded within the barcode itself.

The minimum requirements imposed on all venues is that they support the following 1D barcode formats:

  • Code128 (default)
  • Code39

If mobile is set to true, then they also permit mobile vouchers, and are required to additionally support the following 2D barcodes:

  • QR Code (default)
  • Data Matrix
  • Aztec

A booking confirmation request should never fail. City Connect will ensure that if it is made within the expiry date set on the reservation request, no other conditions should cause the request to fail.