Amend Booking - complex (with reprice)
The booking details that can be changed for a complex amend are as follows:
- Arrival date or time;
- Depart date or time.
Amend Booking Request
We recommend using the view booking method first, to ensure that you have all the details required from the most up to date record of the booking.
You can then run a GET booking request using the amend endpoint and methodology detailed here to check the new amount (increase / decrease in price from original booking).
The recommended process for amending a booking is as follows.
- Call the view booking method to ensure that you have all the details required from the most up to date record of the booking.
- Compose the amendment request as per the details below i.e. include the date change details. Then send this request as a
GET
rather than aPOST
. This will return the details of the pricing change. - If the client is happy with the pricing change then resend the request as a
POST
this will confirm and commit the changes.
Method
POST
Endpoint
The endpoint to use is (where YourBookingRef
is the Holiday Extras booking reference):
https://api.holidayextras.co.uk/v1/booking/YourBookingRef
Request Parameters
NB: All parameter names are case sensitive.
For all amend booking requests, you will need to send these parameters:
Name | Data Type | Format | Mandatory? | Additional Information |
---|---|---|---|---|
ABTANumber | String | [A-Z0-9] 5 chars | Y | This is also known as an ‘agent code’. This will be confirmed to you by your Account Manager during set up. |
Password | String | [A-Z0-9] 5 chars | N* | Password required for retail agent requests - intermediaries do not require a password. This will be confirmed to you by your Account Manager during set up. |
Initials | String | [A-Z] 3 chars | N | The initials of the Operator / Agent. |
key | String | [A-Z] | Y | This will be assigned to you by your Account Manager during set up. |
String | [A-Z0-9] 50 chars | Y | Email address used to make the booking (i.e. the email address of the lead passenger) | |
System | String | [A-Z] 3 chars | Y* | For European products, you need to pass in the value of System=ABG (the default is System=ABC , which is UK products only). |
In order to amend the booking with the new details, you only need to pass in the specific parameters you want to amend. For a complex amend these are as follows:
Name | Data Type | Format | Mandatory? | Additional Information |
---|---|---|---|---|
ArrivalDate | Date | YYYY-MM-DD | Y | Date customer drops vehicle at car park. |
ArrivalTime | Time | HHMM | Y | Time customer drops vehicle at car park. |
DepartDate | Date | YYYY-MM-DD | Y | Date customer picks up vehicle from car park. |
DepartTime | Time | HHMM | Y | Time customer picks up vehicle from car park. |
Supplements[] | - | - | N | Amend supplement details by sending the parameters to amend. See below for more details |
Upgrade Amendments
As with booking upgrades it is possible to supply an array of Supplements
to the amendment request to change the details of booked upgrades.
To make amendments you need to specify the code of the upgrade to be changed and the fields you wish to change. The available fields are as below.
Name | Data Type | Format | Mandatory? | Additional Information |
---|---|---|---|---|
Adults | Integer | [0-9] | N | When specified the Children parameter must also be specified otherwise it will be assumed to be 0 |
Children | Integer | [0-9] | N | When specified the Adults parameter must also be specified otherwise it will be assumed to be 0 |
Quantity | Integer | [0-9] | N | Change the required quantity of per booking or per room upgrades |
Remove | - | - | N | The presence of this field will cause the upgrade to be removed from the booking |
To add new upgrades you just need to include the upgrade details in the same fashion as when booking an upgrade.
Get Amendment Price Response
This response will be given when a GET
version of this request is sent. This should be used to retrieve the new price before committing to amendments.
Name | Additional Information |
---|---|
Pricing/OriginalPrice | The price paid for the booking before any amendments |
Pricing/NewPrice | The price to be paid if the amendments are confirmed |
Pricing/CanxWaiver | The cost of any cancellation waiver that may be on the booking |
Pricing/Duration | The new duration of the stay |
Pricing/MinPricingDuration | The smallest duration of stay that the price can be increased by. For example if only increasing by 1 day but the MinPricingDuration is 3 days you will be charged for 3 days. |
Pricing/PriceDifference | The difference between the originally paid price and the new price |
Carpark/Code | Code of the booked product |
Carpark/Name | Name of the booked product |
Carpark/MoreInfoURL | |
Carpark/BookingURL | |
BarCode | |
QRCode | |
API_Header/Request | Copy of the original request params |
*NOTE* If the Pricing/PriceDifference
is negative the minus sign will be a suffix e.g. <PriceDifference>7.00-</PriceDifference>
Amend Booking Response
The amend booking response will return the booking record with all of the updated details.
For a detailed explanation of the fields returned, please see the respective booking requests for hotels, parking and lounges.
Worked Examples
Below are worked examples of both the request and response for amending (complex) a booking.
Amend Booking (complex for a hotel)
Request
The original booking was made for a hotel staying on 1st December 2018 with 8 days parking.
https://api.holidayextras.co.uk/booking/YourBookingRef
<Request>
<ABTANumber>YourABTA</ABTANumber>
<Password>YourPassword</Password>
<Initials>YourInitials</Initials>
<key>YourKey</key>
<ArrivalDate>2018-12-02</ArrivalDate>
<ParkingDays>15</ParkingDays>
</Request>
Response
<?xml version="1.0"?>
<API_Reply System="ABC" Version="1" Product="Hotel" Customer="A" Session="999999999" RequestCode="14" Result="OK">
<CarDetails>
<Registration>TEST123</Registration>
<CarMake/>
<CarModel/>
<CarColour/>
<OutFlight>TBC</OutFlight>
</CarDetails>
<ClientDetails>
<Title>MRS</Title>
<Initial>T</Initial>
<Surname>TEST</Surname>
<Address/>
<DataProtection>Y</DataProtection>
<Email>test@test.com</Email>
</ClientDetails>
<Booking>
<BookingRef>YourBookingRef</BookingRef>
<PdfUrl>/v1/confirmation?email=test@test.com&booking_ref=YourBookingRef&product_type=hotels</PdfUrl>
<AgentComm>931</AgentComm>
<VATonComm/>
</Booking>
<Pricing>
<OriginalPrice>93.10</OriginalPrice>
<NewPrice>93.10</NewPrice>
<CCardSurchargeAmount>0.00</CCardSurchargeAmount>
<CanxWaiver>0.00</CanxWaiver>
<AmendmentFee>N/A</AmendmentFee>
<PriceDifference>N/A</PriceDifference>
</Pricing>
<Itinerary>
<ArrivalDate>2018-12-02</ArrivalDate>
<Nights>1</Nights>
<BoardBasis>RO</BoardBasis>
<Code>LHRMEP</Code>
<CarDropoffTime>0000</CarDropoffTime>
<CarPickupTime>0000</CarPickupTime>
<CarPickupDate>2018-12-17</CarPickupDate>
<ReturnFlight/>
<TerminalCode/>
<ParkingDays>15</ParkingDays>
<ParkingSpaces>1</ParkingSpaces>
<NonSmoking>Y</NonSmoking>
</Itinerary>
<Room>
<Rooms>1</Rooms>
<Adults>2</Adults>
<Children>0</Children>
<Infants>0</Infants>
<Price>93.10</Price>
<Code>DBL</Code>
</Room>
<API_Header>
<Request>
<ABTANumber>YourABTANumber</ABTANumber>
<Password>YourPassword</Password>
<key>YourKey</key>
<ArrivalDate>2018-12-02</ArrivalDate>
<Nights>1</Nights>
<RoomCode>DBL</RoomCode>
<ParkingDays>15</ParkingDays>
<PriceCheckFlag>Y</PriceCheckFlag>
<PriceCheckPrice>93.10</PriceCheckPrice>
<v>1</v>
</Request>
</API_Header>
</API_Reply>
Amend Parking Booking With Upgrades
Original booking made for 11th November 2020 with Fast track upgrade for 2 adults and 1 child
Request
https://api.holidayextras.co.uk/booking/YourBookingRef
<Request>
<ABTANumber>YourABTA</ABTANumber>
<Password>YourPassword</Password>
<Initials>YourInitials</Initials>
<key>YourKey</key>
<Supplements>
<Code>STNSFS</Code>
<Adults>2</Adults>
<Children>2</Children>
</Supplements>
</Request>
Get Amendment Price Response
<?xml version="1.0"?>
<API_Reply System="ABC" Version="1" Product="CarPark" Customer="A" Session="999999999" RequestCode="13" Result="OK">
<Pricing>
<OriginalPrice>72.98</OriginalPrice>
<NewPrice>79.98</NewPrice>
<CCardSurchargeAmount>0.00</CCardSurchargeAmount>
<CanxWaiver>0.00</CanxWaiver>
<Duration>8</Duration>
<MinPricingDuration>1</MinPricingDuration>
<PriceDifference>7.00</PriceDifference>
</Pricing>
<CarPark>
<Code>STN5</Code>
<Name>Long Stay</Name>
<MoreInfoURL>/v1/product/STN5</MoreInfoURL>
<BookingURL>/v1/carpark/STN5</BookingURL>
<Filter>
<meet_and_greet>0</meet_and_greet>
</Filter>
</CarPark>
<BarCode>/v1/barcode/YourBookingRef.png?key=YourKey</BarCode>
<QRCode>/v1/qrcode/YourBookingRef.png?key=YourKey</QRCode>
<API_Header>
<Request>
<v>1</v>
</Request>
</API_Header>
</API_Reply>
Confirm Response
<?xml version="1.0"?>
<API_Reply System="ABC" Version="1" Product="CarPark" Customer="A" Session="999999999" RequestCode="14" Result="OK">
<CarDetails>
<CarColour>White</CarColour>
<CarMake>Range Rover</CarMake>
<CarModel>Evoque</CarModel>
<Registration>TE17 STS</Registration>
<OutFlight/>
</CarDetails>
<ClientDetails>
<Title>MRS</Title>
<Initial>T</Initial>
<Surname>TEST</Surname>
<Address/>
<DataProtection>Y</DataProtection>
<Email>test@test.com</Email>
</ClientDetails>
<Booking>
<BookingRef>YourBookingRef</BookingRef>
<PdfUrl>/v1/confirmation?email=test@test.com&booking_ref=YourBookingRef&product_type=carparks</PdfUrl>
</Booking>
<Pricing>
<OriginalPrice>72.98</OriginalPrice>
<NewPrice>79.98</NewPrice>
<PriceDiff>7.00</PriceDiff>
<CCardSurchargeAmount>0.00</CCardSurchargeAmount>
<CanxWaiver>0.00</CanxWaiver>
</Pricing>
<CarPark>
<ArrivalDate>2020-11-11</ArrivalDate>
<DepartDate>2020-11-19</DepartDate>
<ArrivalTime>1230</ArrivalTime>
<DepartTime>1345</DepartTime>
<NumberOfPax>1</NumberOfPax>
<ReturnFlight>VIR19</ReturnFlight>
<Duration>8</Duration>
<Remarks/>
<Code>STN5</Code>
<Name>Long Stay</Name>
<MoreInfoURL>/v1/product/STN5</MoreInfoURL>
<distance_to_airport>On airport</distance_to_airport>
<introduction>We didn't think people thought about their airport parking before booking their holiday. But Stansted Long Stay is so smooth, so efficient, so easy to use, that one customer actually told us she might fly from Stansted just to use it again. Maybe she loved the great prices - it's almost always our best value car park at Stansted - or maybe the award-winning security. Or maybe, like most of our Stansted Long Stay customers, she was just happy with everything.</introduction>
<logo>/imageLibrary/Images/85730-official-stansted-airport-parking-long-stay.png</logo>
<BookingURL>/v1/carpark/STN5</BookingURL>
<Filter>
<meet_and_greet>0</meet_and_greet>
</Filter>
</CarPark>
<BarCode>/v1/barcode/YourBookingRef.png?key=YourKey</BarCode>
<QRCode>/v1/qrcode/YourBookingRef.png?key=YourKey</QRCode>
<API_Header>
<Request>
<ABTANumber>YourABTANumber</ABTANumber>
<Password>YourPassword</Password>
<key>YourKey</key>
<token>YourToken</token>
<Email>test@test.com</Email>
<Supplements>
<Code>STNSFS</Code>
<Adults>2</Adults>
<Children>2</Children>
</Supplements>
<v>1</v>
</Request>
</API_Header>
</API_Reply>