CiirusXML15025


Click here for a complete list of operations.

MakeBooking

Place a booking

Use this function to place a booking. The booking is created with the rate calculated based on the parameters you pass.



Pass the following parameters:

  • APIUsername (String)
  • APIPassword (String)
  • BookingDetails Class Object Parameters
    • ArrivalDate (String, dd MMM yyyy)
      Booking arrival date in format ‘dd MMM yyyy’
    • DepartureDate (String, dd MMM yyyy)
      Booking Departure date in format ‘dd MMM yyyy’
    • PropertyID (Integer)
      The CiiRUS PropertyID of the Property you are trying to place a booking for the selected dates.
    • GuestName (String)
      The lead guest name for this reservation.
    • GuestEmailAddress (String)
      The lead guest's e-mail for this reservation.
    • GuestTelephone (String)
      The lead guest's telephone for this reservation.
    • GuestAddress (String)
      The lead guest's address for this reservation. (Billing Address)
    • Array of GuestList Class Objects
      • Name (String)
      • Age (Integer)
    • PoolHeatRequired (Boolean)
    • xmlMsg (String)
      -Pass blank string unless otherwise discussed with your CiiRUS technical point of contact. Below are optional "specialRequest" additional options.
      <specialRequest>
      <UserID>11006</UserID>{If using this message, Required. Replace 11006 with your API user UserID - (refference GetManagementCompanyList fn(x))}
      <BookingComment>This is a Comment Test</BookingComment>
      </specialRequest>

      Note: Please pass your xmlMsg as a URL encoded string (percentage encoded values only accepted)

    • jSonMsg (String)
      -Pass blank string unless otherwise discussed with your CiiRUS technical point of contact.



Error Responses:

  • MakeBooking: Validation Error 1
  • MakeBooking: Error - You do not have permission to add a booking. Please Contact CiiRUS.
  • MakeBooking: Validation Error 2 - Property has been deleted from the system.
  • MakeBooking: Validation Error 3 - Property has been deleted from the system.
  • MakeBooking: Validation Error 2
  • MakeBooking: Error - Property not enabled for online booking. Please contact the supplier to enable this property.
  • MakeBooking: Error - Unkown Error 2
  • MakeBooking: Error - Arrival Date must be >= today
  • MakeBooking: Error - Departure Date must be >= tomorrow
  • MakeBooking: Error - Departure Date must be > Arrival Date
  • MakeBooking: Error - The User Relation to this property could not be resolved.
  • The Guest Name (at index: (i)) exceeded the maximum number of characters allowed (28 chars). This value was truncated.
    (i) = 0 based index possition in array of objects passed to the GuestList Array of objects parameter
  • The Lead Guest Name exceeded the maximum number of characters allowed (95 chars). This value was truncated.
  • The Guest E-mail exceeded the maximum number of characters allowed (48 chars). This value was truncated.
  • The Guest Telephone exceeded the maximum number of characters allowed (32 chars). This value was truncated.
  • The Guest Address exceeded the maximum number of characters allowed (75 chars). This value was truncated.
  • Another reservation already exists overlapping your selected dates 1
  • Another reservation already exists overlapping your selected dates 2
  • Another reservation already exists overlapping your selected dates 3
  • This property has been deleted.
  • Error - Could not Contact CiiRUS Booking Engine.
  • Error - Cannot determine if this is an AOA Property.
  • Error - Error - Could not resolve AOAcategory.
  • Error placing booking
  • The booking was not placed
  • Error at MakeBooking (Phase (i))
    Note: (i) = integer representing phase in Booking function that an unknown exception occured
  • MakeBooking: The booking request does not match minimum night stay requirements set by the inventory supplier. Please book a different property or contact the unit supplier.

Additional Error Messages may be returned. If you recieve an alternate response, and are unsure why, or what it means, please contact your CiiRUS technical point of contact for more information.

CiiRUS offers two booking methods. This is the simpler (prefered) method. If this function does not meet the needs of your integration, please contact CiiRUS specifically outlining the lacking functionality. The alternate Booking method may provide this functionality, or the request may not yet be supported via the API. Either way, we would like to hear your feedback so that we can work towards a solution for all API partners for such matters.

Note: All input objects require an instance of the object is specified. For null or nothing, blank values of (String :"" or int: 0) respective datatypes should be included. For the Guestlist object, ages are required only for children (under 18). If no age is supplied, please pass -1 for the age value. THe GuestLIst array with 0 guest objects is a valid input, but the array of guests must be specified.


Test

The test form is only available for requests from the local machine.

SOAP 1.1

The following is a sample SOAP 1.1 request and response. The placeholders shown need to be replaced with actual values.

POST /CiirusXML.15.025.asmx HTTP/1.1
Host: api.ciirus.com
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://xml.ciirus.com/MakeBooking"

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <MakeBooking xmlns="http://xml.ciirus.com/">
      <APIUsername>string</APIUsername>
      <APIPassword>string</APIPassword>
      <BD>
        <ArrivalDate>string</ArrivalDate>
        <DepartureDate>string</DepartureDate>
        <PropertyID>int</PropertyID>
        <GuestName>string</GuestName>
        <GuestEmailAddress>string</GuestEmailAddress>
        <GuestTelephone>string</GuestTelephone>
        <GuestAddress>string</GuestAddress>
        <GuestList>
          <sGuests>
            <Name>string</Name>
            <Age>int</Age>
          </sGuests>
          <sGuests>
            <Name>string</Name>
            <Age>int</Age>
          </sGuests>
        </GuestList>
        <PoolHeatRequired>boolean</PoolHeatRequired>
        <xmlMsg>string</xmlMsg>
        <jSonMsg>string</jSonMsg>
      </BD>
    </MakeBooking>
  </soap:Body>
</soap:Envelope>
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <MakeBookingResponse xmlns="http://xml.ciirus.com/">
      <MakeBookingResult>
        <BookingPlaced>boolean</BookingPlaced>
        <ErrorMessage>string</ErrorMessage>
        <BookingID>int</BookingID>
        <TotalAmountIncludingTax>decimal</TotalAmountIncludingTax>
        <specialResponse>string</specialResponse>
      </MakeBookingResult>
    </MakeBookingResponse>
  </soap:Body>
</soap:Envelope>

SOAP 1.2

The following is a sample SOAP 1.2 request and response. The placeholders shown need to be replaced with actual values.

POST /CiirusXML.15.025.asmx HTTP/1.1
Host: api.ciirus.com
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
  <soap12:Body>
    <MakeBooking xmlns="http://xml.ciirus.com/">
      <APIUsername>string</APIUsername>
      <APIPassword>string</APIPassword>
      <BD>
        <ArrivalDate>string</ArrivalDate>
        <DepartureDate>string</DepartureDate>
        <PropertyID>int</PropertyID>
        <GuestName>string</GuestName>
        <GuestEmailAddress>string</GuestEmailAddress>
        <GuestTelephone>string</GuestTelephone>
        <GuestAddress>string</GuestAddress>
        <GuestList>
          <sGuests>
            <Name>string</Name>
            <Age>int</Age>
          </sGuests>
          <sGuests>
            <Name>string</Name>
            <Age>int</Age>
          </sGuests>
        </GuestList>
        <PoolHeatRequired>boolean</PoolHeatRequired>
        <xmlMsg>string</xmlMsg>
        <jSonMsg>string</jSonMsg>
      </BD>
    </MakeBooking>
  </soap12:Body>
</soap12:Envelope>
HTTP/1.1 200 OK
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
  <soap12:Body>
    <MakeBookingResponse xmlns="http://xml.ciirus.com/">
      <MakeBookingResult>
        <BookingPlaced>boolean</BookingPlaced>
        <ErrorMessage>string</ErrorMessage>
        <BookingID>int</BookingID>
        <TotalAmountIncludingTax>decimal</TotalAmountIncludingTax>
        <specialResponse>string</specialResponse>
      </MakeBookingResult>
    </MakeBookingResponse>
  </soap12:Body>
</soap12:Envelope>