From c5c286bd218afecd95ee0891319bc5bc930bcb6b Mon Sep 17 00:00:00 2001 From: Phil Meehan Date: Fri, 29 May 2026 17:31:52 +0100 Subject: [PATCH 1/2] Update pay endpoint doc to include optional MerchantInitiatedReason --- site/payment-gateway/v2/pay.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/site/payment-gateway/v2/pay.md b/site/payment-gateway/v2/pay.md index d6bf9ca9..1a183d23 100644 --- a/site/payment-gateway/v2/pay.md +++ b/site/payment-gateway/v2/pay.md @@ -48,6 +48,7 @@ NB: All parameter names are case sensitive. | currency | String | [A-Z]{3} | Y | ISO 4217 standard currency code for the currency of this payment | | postalCode | String | [A-Z0-9] | N | The postal code for the payment's billing address. | | countryCode | String | [A-Z]{2} | N | ISO 3166-1 alpha-2 standard country code for the billing address. | + | merchantInitiatedReason | String | ENUM (recurring, instalment, unscheduled) | N | Either the merchant initiated reason for this transaction or the reason for future merchant initiated transactions | ## Payment Response @@ -73,6 +74,8 @@ Below are examples of both the request and response for a new payment. `Accept: application/vnd.holidayextras.v2+json`
`Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=` +Simple customer initiated transaction + ``` { "channel": "channel", @@ -85,6 +88,21 @@ Below are examples of both the request and response for a new payment. } ``` +Merchant initiated transaction (such as an yearly renewal) + +``` +{ + "channel": "channel", + "token": "4111111111111111", + "paymentReference": "testPaymentRef", + "amount": 1234, + "currency": "GBP", + "postalCode": "CT21 4JF", + "countryCode": "GB", + "merchantInitiatedReason": "recurring" +} +``` + ### Payment Response From 82d23dd1662dab4579383a411be149c9361a6606 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 29 May 2026 16:33:08 +0000 Subject: [PATCH 2/2] Update dist --- docs/feed.xml | 2 +- docs/hxapi/asynchronous-bookings/index.html | 8 +- docs/hxapi/carhire/availability/index.html | 4 +- docs/hxapi/parking/av/airport/index.html | 20 ++--- docs/hxapi/productlibrary/index.html | 28 +++--- docs/hxapi/transfers/av/index.html | 24 ++--- docs/hxapi/transfers/cancel/index.html | 4 +- .../transfers/cancellation-policy/index.html | 8 +- docs/hxapi/transfers/view/index.html | 4 +- docs/hxapi/upgrade/index.html | 16 ++-- docs/hxapi/viewamendcancel/view/index.html | 20 ++--- docs/payment-gateway/v2/pay/index.html | 23 +++++ docs/search/index.html | 88 +++++++++---------- 13 files changed, 136 insertions(+), 113 deletions(-) diff --git a/docs/feed.xml b/docs/feed.xml index 7ab1fa07..b237a244 100644 --- a/docs/feed.xml +++ b/docs/feed.xml @@ -1,2 +1,2 @@ -Jekyll2026-04-01T09:16:49+00:00/feed.xmlHoliday Extras APIDocumentation to give to partners who would like to integrate with our API. +Jekyll2026-05-29T16:33:05+00:00/feed.xmlHoliday Extras APIDocumentation to give to partners who would like to integrate with our API. \ No newline at end of file diff --git a/docs/hxapi/asynchronous-bookings/index.html b/docs/hxapi/asynchronous-bookings/index.html index f69bfa57..86aeb3b0 100644 --- a/docs/hxapi/asynchronous-bookings/index.html +++ b/docs/hxapi/asynchronous-bookings/index.html @@ -77,7 +77,7 @@

Availability Request

UK Products Availability Request

-
    +
    • XML
    • @@ -85,7 +85,7 @@

      UK Products Availability Request

    -
      +
      • https://api.holidayextras.com/v1/carpark/LGW?ABTANumber=YourABTANumber&Password=YourPassword&Initials=YourInitials&key=YourKey&token=YourToken&ArrivalDate=2025-01-07&ArrivalTime=1200&DepartDate=2025-01-08&DepartTime=1200&NumberOfPax=1&includeAsyncOnlyProducts=true
        @@ -102,7 +102,7 @@ 

        UK Products Availability Request

        European Products Availability Request

        -
          +
          • XML
          • @@ -110,7 +110,7 @@

            European Products Availability R

          -
            +
            • https://api.holidayextras.com/v1/carpark/MUC?ABTANumber=YourABTANumber&Password=YourPassword&Initials=YourInitials&key=YourKey&token=YourToken&ArrivalDate=2025-12-01&ArrivalTime=1200&DepartDate=2025-12-08&DepartTime=1200&NumberOfPax=1&System=ABG&lang=en&includeAsyncOnlyProducts=true
              diff --git a/docs/hxapi/carhire/availability/index.html b/docs/hxapi/carhire/availability/index.html
              index eb126410..42a62cba 100644
              --- a/docs/hxapi/carhire/availability/index.html
              +++ b/docs/hxapi/carhire/availability/index.html
              @@ -53,7 +53,7 @@ 

              Request

              Example request:

              -
                +
                • XML
                • @@ -61,7 +61,7 @@

                  Request

                -
                  +
                  • https://api.holidayextras.com/v1/sandbox/carHire/products?key=1&From=06NOV16&ArrivalTime=1200&To=13NOV&DepartTime=1600&PickupLocation=FL965&DropoffLocation=FL965&DateOfBirth=1990-10-13
                    diff --git a/docs/hxapi/parking/av/airport/index.html b/docs/hxapi/parking/av/airport/index.html
                    index 8198d7ab..6bf84aa0 100644
                    --- a/docs/hxapi/parking/av/airport/index.html
                    +++ b/docs/hxapi/parking/av/airport/index.html
                    @@ -49,7 +49,7 @@ 

                    Endpoint

                    For example, for London Gatwick the endpoint is:

                    -
                      +
                      • XML
                      • @@ -57,7 +57,7 @@

                        Endpoint

                      -
                        +
                        • https://api.holidayextras.com/v1/carpark/LGW
                          @@ -444,7 +444,7 @@ 

                          Worked Examples

                          UK Products Availability Request

                          -
                            +
                            • XML
                            • @@ -452,7 +452,7 @@

                              UK Products Availability Request

                            -
                              +
                              • https://api.holidayextras.com/carpark/LGW?ABTANumber=YourABTANumber&Password=YourPassword&Initials=YourInitials&key=YourKey&token=YourToken&ArrivalDate=2020-01-07&ArrivalTime=1200&DepartDate=2020-01-08&DepartTime=1200&NumberOfPax=1
                                @@ -471,7 +471,7 @@ 

                                UK Products Availability Response

                                NB: This is a shortened example compiled from a full availability response.

                                -
                                  +
                                  • XML
                                  • @@ -479,7 +479,7 @@

                                    UK Products Availability Response

                                    -
                                      +
                                      • <?xml version="1.0"?>
                                        @@ -707,7 +707,7 @@ 

                                        UK Products Availability Response

                                        European Products Availability Request -
                                          +
                                          • XML
                                          • @@ -715,7 +715,7 @@

                                            European Products Availability R

                                          -
                                            +
                                            • https://api.holidayextras.com/carpark/MUC?ABTANumber=YourABTANumber&Password=YourPassword&Initials=YourInitials&key=YourKey&token=YourToken&ArrivalDate=2017-12-01&ArrivalTime=1200&DepartDate=2017-12-08&DepartTime=1200&NumberOfPax=1&System=ABG&lang=en
                                              @@ -734,7 +734,7 @@ 

                                              European Products Availability

                                              NB: This is a shortened example compiled from a full availability response.

                                              -
                                                +
                                                • XML
                                                • @@ -742,7 +742,7 @@

                                                  European Products Availability

                                                -
                                                  +
                                                  • <?xml version="1.0"?>
                                                    diff --git a/docs/hxapi/productlibrary/index.html b/docs/hxapi/productlibrary/index.html
                                                    index d9ebbdc0..4c48ba18 100644
                                                    --- a/docs/hxapi/productlibrary/index.html
                                                    +++ b/docs/hxapi/productlibrary/index.html
                                                    @@ -83,7 +83,7 @@ 

                                                    Available Fields

                                                    The available fields vary by product type. For each product type there is a recommended list of fields which should be requested to get the information required to effectively sell the product.

                                                    -
                                                      +
                                                      • Parking
                                                      • @@ -97,7 +97,7 @@

                                                        Available Fields

                                                      -
                                                        +
                                                        • @@ -968,7 +968,7 @@

                                                          Example 1 - Default Response

                                                          Request

                                                          -
                                                            + -
                                                              +
                                                              • https://api.holidayextras.com/v1/product/LGW4/lite?token=000015778&key=mytestkey
                                                                @@ -1008,7 +1008,7 @@ 

                                                                Request

                                                                Response

                                                                -
                                                                  +
                                                                  • XML
                                                                  • @@ -1016,7 +1016,7 @@

                                                                    Response

                                                                  -
                                                                    +
                                                                    • <?xml version="1.0"?>
                                                                      @@ -1403,7 +1403,7 @@ 

                                                                      Example 2 - Restricted field list

                                                                      Request

                                              -
                                                + -
                                                  +
                                                  • https://api.holidayextras.com/v1/product/LGW4/lite?token=000015778&key=mytestkey&fields=name,longitude,latitude
                                                    @@ -1443,7 +1443,7 @@ 

                                                    Request

                                                    Response

                                                    -
                                                      +
                                                      • XML
                                                      • @@ -1451,7 +1451,7 @@

                                                        Response

                                                      -
                                                        +
                                                        • <?xml version="1.0"?>
                                                          @@ -1512,7 +1512,7 @@ 

                                                          Request

                                                          Requests for German products return a different set of fields. Explanation of fields not currently available.

                                                          -
                                                            + -
                                                              +
                                                              • https://api.holidayextras.com/v1/product/FRA0?key=mytestkey
                                                                @@ -1552,7 +1552,7 @@ 

                                                                Request

                                                                Response

                                                                -
                                                                  +
                                                                  • XML
                                                                  • @@ -1560,7 +1560,7 @@

                                                                    Response

                                                                  -
                                                                    +
                                                                    • <?xml version="1.0"?>
                                                                      diff --git a/docs/hxapi/transfers/av/index.html b/docs/hxapi/transfers/av/index.html
                                                                      index b23d442f..21f04d0a 100644
                                                                      --- a/docs/hxapi/transfers/av/index.html
                                                                      +++ b/docs/hxapi/transfers/av/index.html
                                                                      @@ -856,7 +856,7 @@ 

                                                                      Worked Examples

                                                                      Airport to GIATA

                                                                      Request
                                                                      -
                                                                        +
                                                                        • XML
                                                                        • @@ -864,7 +864,7 @@
                                                                          Request
                                                                        -
                                                                          +
                                                                          • https:///api.holidayextras.com/v1/transfers/search?ABTANumber=YourABTANumber&Password=YourABTANumber&Initials=YourInitials&key=YourKey&token=YourToken&PickUp=ALC&PickUpType=IATA&DropOffType=GIATA&DropOff=439771&FromDate=2022-03-16&FromTime=1115&ReturnDate=2022-03-23&ReturnTime=1115&Adults=2&OutFlight=U28605&ReturnFlight=U28602
                                                                            @@ -882,7 +882,7 @@ 
                                                                            Request
                                                                            Response

                                                                            NB: This is a shortened example compiled from a full availability response.

                                                                            -
                                                                              +
                                                                              • XML
                                                                              • @@ -890,7 +890,7 @@
                                                                                Response
                                                                              -
                                                                                +
                                                                                • <API_Reply Product="Transfers" RequestCode="1" Result="OK" cached="1" expires="2021-12-07 13:06:41">
                                                                                  @@ -1128,7 +1128,7 @@ 
                                                                                  Response

                                                                                  Airport to TTI

                                                                                  Request
                                                                                  -
                                                                                    +
                                                                                    • XML
                                                                                    • @@ -1136,7 +1136,7 @@
                                                                                      Request
                                                                                    -
                                                                                      +
                                                                                      • https:///api.holidayextras.com/v1/transfers/search?ABTANumber=YourABTANumber&Password=YourABTANumber&Initials=YourInitials&key=YourKey&token=YourToken&PickUp=ALC&PickUpType=IATA&DropOffType=TTI&DropOff=10147575&FromDate=2022-03-16&FromTime=1115&ReturnDate=2022-03-23&ReturnTime=1115&Adults=2&OutFlight=U28605&ReturnFlight=U28602
                                                                                        @@ -1155,7 +1155,7 @@ 
                                                                                        Response

                                                                                        NB: This is a shortened example compiled from a full availability response.

                                                                                        -
                                                                                          +
                                                                                          • XML
                                                                                          • @@ -1163,7 +1163,7 @@
                                                                                            Response
                                                                                          -
                                                                                            +
                                                                                            • <API_Reply Product="Transfers" RequestCode="1" Result="OK" cached="1" expires="2021-12-07 13:06:41">
                                                                                              @@ -1400,7 +1400,7 @@ 
                                                                                              Response

                                                                                              Airport to Postal Address

                                                                                              Request
                                                                                              -
                                                                                                +
                                                                                                • XML
                                                                                                • @@ -1408,7 +1408,7 @@
                                                                                                  Request
                                                                                                -
                                                                                                  +
                                                                                                  • https:///api.holidayextras.com/v1/transfers/search?ABTANumber=YourABTANumber&Password=YourABTANumber&Initials=YourInitials&key=YourKey&token=YourToken&PickUp=ALC&PickUpType=IATA&DropOffType=postal-address&DropOffName=Hotel%20Rural%20Castillo%20De%20Biar&DropOffAddress[0]=Carretera%20de%20Banyeres&DropOffAddress[1]=s/n&DropOffTown=%20Biar&DropOffCounty=Alicante&DropOffPostcode=03410&DropOffCountryCode=ES&DropOffLongitude=-0.76832006&DropOffLatitude=38.63852215&Adults=2&FromDate=2022-03-16&FromTime=1115&ReturnDate=2022-03-23&ReturnTime=1115&OutFlight=U28605&ReturnFlight=U28602
                                                                                                    @@ -1427,7 +1427,7 @@ 
                                                                                                    Response

                                                                                                    NB: This is a shortened example compiled from a full availability response.

                                                                                                    -
                                                                                                      +
                                                                                                      • XML
                                                                                                      • @@ -1435,7 +1435,7 @@
                                                                                                        Response
                                                                                                      -
                                                                                                        +
                                                                                                        • <API_Reply Product="Transfers" RequestCode="1" Result="OK" cached="1" expires="2021-12-07 16:31:35">
                                                                                                          diff --git a/docs/hxapi/transfers/cancel/index.html b/docs/hxapi/transfers/cancel/index.html
                                                                                                          index 9977419a..420982f1 100644
                                                                                                          --- a/docs/hxapi/transfers/cancel/index.html
                                                                                                          +++ b/docs/hxapi/transfers/cancel/index.html
                                                                                                          @@ -160,7 +160,7 @@ 

                                                                                                          Cancel Booking Response

                                                                                                          Example

                                                                                                          -
                                                                                                            +
                                                                                                            • XML
                                                                                                            • @@ -168,7 +168,7 @@

                                                                                                              Example

                                                                                                            -
                                                                                                              +
                                                                                                              • <Booking>
                                                                                                                diff --git a/docs/hxapi/transfers/cancellation-policy/index.html b/docs/hxapi/transfers/cancellation-policy/index.html
                                                                                                                index cd29c731..5cecb564 100644
                                                                                                                --- a/docs/hxapi/transfers/cancellation-policy/index.html
                                                                                                                +++ b/docs/hxapi/transfers/cancellation-policy/index.html
                                                                                                                @@ -145,7 +145,7 @@ 

                                                                                                                Cancellation Policy Response

                                                                                                                Example

                                                                                                                -
                                                                                                                  +
                                                                                                                  • XML
                                                                                                                  • @@ -153,7 +153,7 @@

                                                                                                                    Example

                                                                                                                  -
                                                                                                                    +
                                                                                                                    • <BookingRef>TB12345</BookingRef>
                                                                                                                      @@ -179,7 +179,7 @@ 

                                                                                                                      Example

                                                                                                                      Example - Non-Cancellable Booking

                                                                                                                      -
                                                                                                                        +
                                                                                                                        • XML
                                                                                                                        • @@ -187,7 +187,7 @@

                                                                                                                          Example - Non-Cancellable Booking

                                                                                                                          -
                                                                                                                            +
                                                                                                                            • <BookingRef>TB12345</BookingRef>
                                                                                                                              diff --git a/docs/hxapi/transfers/view/index.html b/docs/hxapi/transfers/view/index.html
                                                                                                                              index e87efd22..0ddceefc 100644
                                                                                                                              --- a/docs/hxapi/transfers/view/index.html
                                                                                                                              +++ b/docs/hxapi/transfers/view/index.html
                                                                                                                              @@ -295,7 +295,7 @@ 

                                                                                                                              FlightDetails Fields

                                                                                                                              Example

                                                                                                                              -
                                                                                                                                +
                                                                                                                                • XML
                                                                                                                                • @@ -303,7 +303,7 @@

                                                                                                                                  Example

                                                                                                                                -
                                                                                                                                  +
                                                                                                                                  • <Booking>
                                                                                                                                    diff --git a/docs/hxapi/upgrade/index.html b/docs/hxapi/upgrade/index.html
                                                                                                                                    index 4f8da3c8..442625c0 100644
                                                                                                                                    --- a/docs/hxapi/upgrade/index.html
                                                                                                                                    +++ b/docs/hxapi/upgrade/index.html
                                                                                                                                    @@ -239,7 +239,7 @@ 

                                                                                                                                    Example 1 - Carpark Upgrades

                                                                                                                                    Request

                                                                                                                                    -
                                                                                                                                      +
                                                                                                                                      • XML
                                                                                                                                      • @@ -247,7 +247,7 @@

                                                                                                                                        Request

                                                                                                                                      -
                                                                                                                                        +
                                                                                                                                        • https://api.holidayextras.com/v1/upgrade/STN5?ABTANumber=YourABTANumber&Password=YourPassword&key=YourKey&token=YourToken&ArrivalDate=2020-11-03&ArrivalTime=12:30&DepartDate=2020-11-11&DepartTime=13:45
                                                                                                                                          @@ -265,7 +265,7 @@ 

                                                                                                                                          Request

                                                                                                                                          Response

                                                                                                                                          -
                                                                                                                                            +
                                                                                                                                            • XML
                                                                                                                                            • @@ -273,7 +273,7 @@

                                                                                                                                              Response

                                                                                                                                            -
                                                                                                                                              +
                                                                                                                                              • <?xml version="1.0"?>
                                                                                                                                                @@ -610,7 +610,7 @@ 

                                                                                                                                                Example 1 - Hotel Upgrades

                                                                                                                                                Request

                                                                                                                                                -
                                                                                                                                                  +
                                                                                                                                                  • XML
                                                                                                                                                  • @@ -618,7 +618,7 @@

                                                                                                                                                    Request

                                                                                                                                                  -
                                                                                                                                                    +
                                                                                                                                                    • https://api.holidayextras.com/v1/upgrade/LGWSOF?ABTANumber=YourABTANumber&Password=YourPassword&key=YourKey&token=YourToken&ArrivalDate=2020-11-03&ArrivalTime=12:30&DepartDate=2020-11-11&DepartTime=13:45
                                                                                                                                                      @@ -634,7 +634,7 @@ 

                                                                                                                                                      Request

                                                                                                                                                      Response

                                                                                                                                                      -
                                                                                                                                                        +
                                                                                                                                                        • XML
                                                                                                                                                        • @@ -642,7 +642,7 @@

                                                                                                                                                          Response

                                                                                                                                                        -
                                                                                                                                                          +
                                                                                                                                                          • <?xml version="1.0"?>
                                                                                                                                                            diff --git a/docs/hxapi/viewamendcancel/view/index.html b/docs/hxapi/viewamendcancel/view/index.html
                                                                                                                                                            index ca2e0fd0..1b1c7f0d 100644
                                                                                                                                                            --- a/docs/hxapi/viewamendcancel/view/index.html
                                                                                                                                                            +++ b/docs/hxapi/viewamendcancel/view/index.html
                                                                                                                                                            @@ -46,7 +46,7 @@ 

                                                                                                                                                            Endpoint

                                                                                                                                                            The endpoint to use is (where YourBookingRef is the Holiday Extras booking reference):

                                                                                                                                                            -
                                                                                                                                                              +
                                                                                                                                                              • XML
                                                                                                                                                              • @@ -54,7 +54,7 @@

                                                                                                                                                                Endpoint

                                                                                                                                                              -
                                                                                                                                                                +
                                                                                                                                                                • https://api.holidayextras.com/v1/booking/YourBookingRef
                                                                                                                                                                  @@ -358,7 +358,7 @@ 

                                                                                                                                                                  UK Products View Booking (for a

                                                                                                                                                                  Request

                                                                                                                                                                  -
                                                                                                                                                                    +
                                                                                                                                                                    • XML
                                                                                                                                                                    • @@ -366,7 +366,7 @@

                                                                                                                                                                      Request

                                                                                                                                                                    -
                                                                                                                                                                      +
                                                                                                                                                                      • https://api.holidayextras.com/v1/booking/YourBookingRef?ABTANumber=YourABTANumber&Password=YourPassword&Initials=YourInitials&key=YourKey&Email=test@test.com
                                                                                                                                                                        @@ -383,7 +383,7 @@ 

                                                                                                                                                                        Request

                                                                                                                                                                        Response

                                                                                                                                                                        -
                                                                                                                                                                          +
                                                                                                                                                                          • XML
                                                                                                                                                                          • @@ -391,7 +391,7 @@

                                                                                                                                                                            Response

                                                                                                                                                                          -
                                                                                                                                                                            +
                                                                                                                                                                            • <?xml version="1.0"?>
                                                                                                                                                                              @@ -917,7 +917,7 @@ 

                                                                                                                                                                              Response

                                                                                                                                                                              UK Products View Booking (for a transfer)

                                                                                                                                                                              Request

                                                                                                                                                                              -
                                                                                                                                                                                +
                                                                                                                                                                                • XML
                                                                                                                                                                                • @@ -925,7 +925,7 @@

                                                                                                                                                                                  Request

                                                                                                                                                                                -
                                                                                                                                                                                  +
                                                                                                                                                                                  • https://api.holidayextras.com/v1/booking/YourBookingRef?ABTANumber=YourABTANumber&Password=YourPassword&Initials=YourInitials&key=YourKey&Email=test@test.com
                                                                                                                                                                                    @@ -942,7 +942,7 @@ 

                                                                                                                                                                                    Request

                                                                                                                                                                                    Response

                                                                                                                                                                                    -
                                                                                                                                                                                      +
                                                                                                                                                                                      • XML
                                                                                                                                                                                      • @@ -950,7 +950,7 @@

                                                                                                                                                                                        Response

                                                                                                                                                                                      -
                                                                                                                                                                                        +
                                                                                                                                                                                        • <?xml version="1.0"?>
                                                                                                                                                                                          diff --git a/docs/payment-gateway/v2/pay/index.html b/docs/payment-gateway/v2/pay/index.html
                                                                                                                                                                                          index 1df4cd8b..25ad033c 100644
                                                                                                                                                                                          --- a/docs/payment-gateway/v2/pay/index.html
                                                                                                                                                                                          +++ b/docs/payment-gateway/v2/pay/index.html
                                                                                                                                                                                          @@ -161,6 +161,13 @@ 

                                                                                                                                                                                          Request Parameters

                                                                                                                                                                                          N ISO 3166-1 alpha-2 standard country code for the billing address. + + merchantInitiatedReason + String + ENUM (recurring, instalment, unscheduled) + N + Either the merchant initiated reason for this transaction or the reason for future merchant initiated transactions + @@ -204,6 +211,8 @@

                                                                                                                                                                                          Payment Request

                                                                                                                                                                                          Accept: application/vnd.holidayextras.v2+json
                                                                                                                                                                                          Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=

                                                                                                                                                                                          +

                                                                                                                                                                                          Simple customer initiated transaction

                                                                                                                                                                                          +
                                                                                                                                                                                          {
                                                                                                                                                                                             "channel": "channel",
                                                                                                                                                                                             "token": "4111111111111111",
                                                                                                                                                                                          @@ -215,6 +224,20 @@ 

                                                                                                                                                                                          Payment Request

                                                                                                                                                                                          }
                                                                                                                                                                                          +

                                                                                                                                                                                          Merchant initiated transaction (such as an yearly renewal)

                                                                                                                                                                                          + +
                                                                                                                                                                                          {
                                                                                                                                                                                          +  "channel": "channel",
                                                                                                                                                                                          +  "token": "4111111111111111",
                                                                                                                                                                                          +  "paymentReference": "testPaymentRef",
                                                                                                                                                                                          +  "amount": 1234,
                                                                                                                                                                                          +  "currency": "GBP",
                                                                                                                                                                                          +  "postalCode": "CT21 4JF",
                                                                                                                                                                                          +  "countryCode": "GB",
                                                                                                                                                                                          +  "merchantInitiatedReason": "recurring"
                                                                                                                                                                                          +}
                                                                                                                                                                                          +
                                                                                                                                                                                          +

                                                                                                                                                                                          Payment Response

                                                                                                                                                                                          Successful payment

                                                                                                                                                                                          diff --git a/docs/search/index.html b/docs/search/index.html index 83f670c2..67b5daf1 100644 --- a/docs/search/index.html +++ b/docs/search/index.html @@ -141,13 +141,6 @@ } , - "hxapi-transfers-cancel": { - "title": "Transfers Cancel Booking", - "content": "Transfers Cancel BookingImportant Notes Check cancellation fees first: Before cancelling, use the Cancellation Policy endpoint to check if the booking is cancellable and to see any applicable fees and refund amounts This DELETE request will immediately cancel the booking - ensure you want to proceed before making the request Cancellation fees and refund amounts will depend on the booking’s cancellation policy Once cancelled, a booking cannot be uncancelled or modifiedCancel Booking RequestMethodDELETEEndpointThe endpoint to use is:https://api.holidayextras.com/v1/transfers/booking/[BookingRef]Where [BookingRef] is the booking reference you received when making the original booking.For example:https://api.holidayextras.com/v1/transfers/booking/TBBGNHMTRequest ParametersThe parameters must be sent in the body of the request, as x-www-form-urlencoded data.NB: All parameter names are case sensitive. 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 Y* 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. key String [A-Z] Y This will be assigned to you by your Account Manager during set up. token String [0-9] 9 chars Y Please see user token endpoint for details of how to generate a token. CancelRef String [A-Z0-9] Y Reference number for the cancellation provided by your system. Cancel Booking ResponseIf the cancellation is successful, the response will contain booking and cancellation details including any fees and refund information.Note: The CancelFee in this response is a string formatted as currency (e.g., “10.50”), while the dedicated Cancellation Policy endpoint returns fee amounts as integers in pence/cents.For a detailed explanation of the fields returned, please see below: Field Additional Information Booking/BookingRef Unique identifier for the transfer booking. Booking/Status Current status of the booking after cancellation (e.g., Cancelled). Cancel/CancelFee Fee charged for the cancellation, if applicable (string value in currency format, e.g., “10.50”). Cancel/CancelRef Reference number for the cancellation. Cancel/CancelInfo Information about the cancellation. Cancel/RefundAmount Amount refunded for the cancellation, if applicable (numeric value). Example\tXML\tJSON\t<Booking> <BookingRef>TBBGNHMT</BookingRef> <Status>Cancelled</Status></Booking><Cancel> <CancelFee>10.50</CancelFee> <CancelRef>CANCEL123456</CancelRef> <CancelInfo>Booking cancelled successfully</CancelInfo> <RefundAmount>93.02</RefundAmount></Cancel>\t{ \"Booking\": { \"BookingRef\": \"TBBGNHMT\", \"Status\": \"Cancelled\" }, \"Cancel\": { \"CancelFee\": \"10.50\", \"CancelRef\": \"CANCEL123456\", \"CancelInfo\": \"Booking cancelled successfully\", \"RefundAmount\": 93.02 }}Error ResponsesThe API will return error responses in the following scenarios:Already Cancelled Booking (409 Conflict)If the booking has already been cancelled and cannot be cancelled again:{ \"Code\": \"ConflictError\", \"Message\": \"Booking has already been cancelled\"}Invalid Parameters (400 Bad Request)If required parameters are missing or malformed:{ \"Code\": \"ValidationError\", \"Message\": \"Missing or invalid required parameter\"}Booking Not Found (404 Not Found)If no booking is found with the provided reference:{ \"Code\": \"NotFound\", \"Message\": \"Booking not found with provided reference\"}", - "url": "/hxapi/transfers/cancel/" - } - , - "hxapi-viewamendcancel-cancel": { "title": "Cancel Booking", "content": "Cancel BookingAPI Docs > product:cancelCancel Booking RequestCancelling a booking is a two-stage process: Check if the booking is cancellable, and any charges for doing so, using the GET method outlined below; Cancel the booking using the POST method outlined below.MethodGET / POSTEndpointThe endpoint to use is (where YourBookingRef is the Holiday Extras booking reference):https://api.holidayextras.com/v1/booking/YourBookingRefRequest ParametersStep 1: Check if booking is cancellable (GET)NB: All parameter names are case sensitive. 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. 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). ConfirmCancel String 1 chars Y Set this to N for this initial step. CancelRef String [A-Z0-9] 10 chars Y The reference for the cancellation, e.g. agent’s initials. Step 2: Cancel booking (POST)NB: All parameter names are case sensitive. 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. 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). ConfirmCancel String 1 chars Y Set this to Y for the cancellation step. CancelRef String [A-Z0-9] 10 chars Y The reference for the cancellation, e.g. agent’s initials. Cancel Booking ResponseThe cancel booking response will confirm that a booking has been cancelled in our system.For a detailed explanation of the fields returned, please see below: Field Additional Information Booking/BookingRef This is the reference for this booking. It must be referred to in all communication with us concerning this booking. NB: Our booking references are up to 12 char alphanumeric (including 1/I and 0/O/Q). Cancel/RefundAmount This shows the amount to be refunded to the customer. API_Header/Request A list of parameters that were sent in the booking request. Credit Card FeesAs of 12th January 2018 we no longer charge credit card fees, in line with the Payment Services Directive (PSD2). This applies to both UK and EU products.Worked examplesBelow are worked examples of both the request and response for cancelling a booking.Cancel Booking Request - Step 1https://api.holidayextras.com/v1/booking/YourBookingRef?ABTANumber=YourABTANumber&Password=YourPassword&key=YourKey&ConfirmCancel=N&CancelRef=YourCancelRefCancel Booking Response - Step 1<?xml version=\"1.0\"?><API_Reply Result=\"OK\"> <Booking> <BookingRef>YourBookingRef</BookingRef> </Booking> <Cancel> <CancelFee>0.00</CancelFee> <CancelRef/> <CancelInfo>There is no charge for cancelling this booking</CancelInfo> <RefundAmount>35.92</RefundAmount> </Cancel> <API_Header> <Request> <ABTANumber>YourABTANumber</ABTANumber> <Password>YourPassword</Password> <key>YourKey</key> <ConfirmCancel>N</ConfirmCancel> <CancelRef>YourCancelRef</CancelRef> <v>1</v> </Request> </API_Header></API_Reply>Cancel Booking Request - Step 2https://api.holidayextras.com/v1/booking/YourBookingRef <Request> <ABTANumber>YourABTA</ABTANumber> <Password>YourPassword</Password> <Initials>YourInitials</Initials> <key>YourKey</key> <ConfirmCancel>Y</ConfirmCancel> <CancelRef>YourCancelRef</CancelRef> </Request>Cancel Booking Response - Step 2<?xml version=\"1.0\"?><API_Reply Result=\"OK\"> <Booking> <BookingRef>YourBookingRef</BookingRef> </Booking> <Cancel> <CancelFee>0.00</CancelFee> <CancelRef>06684</CancelRef> <CancelInfo>Please retrieve your client's copy of voucher as booking will be reinstated if used</CancelInfo> <RefundAmount>35.92</RefundAmount> </Cancel> <API_Header> <Request> <ABTANumber>YourABTANumber</ABTANumber> <Password>YourPassword</Password> <key>YourKey</key> <ConfirmCancel>Y</ConfirmCancel> <CancelRef>YourCancelRef</CancelRef> <v>1</v> </Request> </API_Header></API_Reply>Cancelling bookings made with a credit or debit cardA small number of agents in Europe pass through payment details in our API (for historic reasons). The method for cancelling these products differs slightly in that an extra parameter is required to authenticate against the booking. The extra parameter is identified below. Name Data Type Format Mandatory? Additional Information CreditCardLast4 Integer [0-9] 4 chars Y These are the last 4 digits on the card that the customer used to make payment. The cancellation request must be POSTed against the following endpoint:https://payment.holidayextras.com/legacy/", @@ -162,6 +155,13 @@ } , + "hxapi-transfers-cancel": { + "title": "Transfers Cancel Booking", + "content": "Transfers Cancel BookingImportant Notes Check cancellation fees first: Before cancelling, use the Cancellation Policy endpoint to check if the booking is cancellable and to see any applicable fees and refund amounts This DELETE request will immediately cancel the booking - ensure you want to proceed before making the request Cancellation fees and refund amounts will depend on the booking’s cancellation policy Once cancelled, a booking cannot be uncancelled or modifiedCancel Booking RequestMethodDELETEEndpointThe endpoint to use is:https://api.holidayextras.com/v1/transfers/booking/[BookingRef]Where [BookingRef] is the booking reference you received when making the original booking.For example:https://api.holidayextras.com/v1/transfers/booking/TBBGNHMTRequest ParametersThe parameters must be sent in the body of the request, as x-www-form-urlencoded data.NB: All parameter names are case sensitive. 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 Y* 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. key String [A-Z] Y This will be assigned to you by your Account Manager during set up. token String [0-9] 9 chars Y Please see user token endpoint for details of how to generate a token. CancelRef String [A-Z0-9] Y Reference number for the cancellation provided by your system. Cancel Booking ResponseIf the cancellation is successful, the response will contain booking and cancellation details including any fees and refund information.Note: The CancelFee in this response is a string formatted as currency (e.g., “10.50”), while the dedicated Cancellation Policy endpoint returns fee amounts as integers in pence/cents.For a detailed explanation of the fields returned, please see below: Field Additional Information Booking/BookingRef Unique identifier for the transfer booking. Booking/Status Current status of the booking after cancellation (e.g., Cancelled). Cancel/CancelFee Fee charged for the cancellation, if applicable (string value in currency format, e.g., “10.50”). Cancel/CancelRef Reference number for the cancellation. Cancel/CancelInfo Information about the cancellation. Cancel/RefundAmount Amount refunded for the cancellation, if applicable (numeric value). Example\tXML\tJSON\t<Booking> <BookingRef>TBBGNHMT</BookingRef> <Status>Cancelled</Status></Booking><Cancel> <CancelFee>10.50</CancelFee> <CancelRef>CANCEL123456</CancelRef> <CancelInfo>Booking cancelled successfully</CancelInfo> <RefundAmount>93.02</RefundAmount></Cancel>\t{ \"Booking\": { \"BookingRef\": \"TBBGNHMT\", \"Status\": \"Cancelled\" }, \"Cancel\": { \"CancelFee\": \"10.50\", \"CancelRef\": \"CANCEL123456\", \"CancelInfo\": \"Booking cancelled successfully\", \"RefundAmount\": 93.02 }}Error ResponsesThe API will return error responses in the following scenarios:Already Cancelled Booking (409 Conflict)If the booking has already been cancelled and cannot be cancelled again:{ \"Code\": \"ConflictError\", \"Message\": \"Booking has already been cancelled\"}Invalid Parameters (400 Bad Request)If required parameters are missing or malformed:{ \"Code\": \"ValidationError\", \"Message\": \"Missing or invalid required parameter\"}Booking Not Found (404 Not Found)If no booking is found with the provided reference:{ \"Code\": \"NotFound\", \"Message\": \"Booking not found with provided reference\"}", + "url": "/hxapi/transfers/cancel/" + } + , + "hxapi-transfers-cancellation-policy": { "title": "Transfers Cancellation Policy", "content": "Transfers Cancellation PolicyImportant Notes This endpoint is for checking cancellation policy only - it does not perform any cancellation. Use this endpoint before cancelling a booking to check if it’s cancellable and to understand any fees. The response shows the exact refund amount you would receive after cancellation. Cancellation policies vary by supplier and may change based on how close to the travel date you are.Cancellation Policy RequestMethodGETEndpointThe endpoint to use is:https://api.holidayextras.com/v1/transfers/[BookingRef]/cancellation-policyWhere [BookingRef] is the booking reference you received when making the original booking.For example:https://api.holidayextras.com/v1/transfers/TBBGNHMT/cancellation-policyRequest ParametersNB: All parameter names are case sensitive. 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 Y* 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. key String [A-Z] Y This will be assigned to you by your Account Manager during set up. token String [0-9] 9 chars Y Please see user token endpoint for details of how to generate a token. Cancellation Policy ResponseThis endpoint provides detailed cancellation policy information for a transfers booking, including refund calculations, cancellable status, and terms & conditions.For a detailed explanation of the fields returned, please see below: Field Additional Information BookingRef Unique identifier for the transfer booking. Cancellable Boolean indicating whether the booking can be cancelled. Fee Fixed fee charged for cancellation in pence/cents (integer value). Currency Currency code from the booking (e.g., GBP, EUR, USD). RefundableAmount Amount that will be refunded after cancellation in pence/cents (integer value). Example\tXML\tJSON\t<BookingRef>TB12345</BookingRef><Cancellable>true</Cancellable><Fee>1050</Fee><Currency>GBP</Currency><RefundableAmount>8500</RefundableAmount>\t{ \"BookingRef\": \"TB12345\", \"Cancellable\": true, \"Fee\": 1050, \"Currency\": \"GBP\", \"RefundableAmount\": 8500}Example - Non-Cancellable Booking\tXML\tJSON\t<BookingRef>TB12345</BookingRef><Cancellable>false</Cancellable><Fee>10352</Fee><Currency>GBP</Currency><RefundableAmount>0</RefundableAmount>\t{ \"BookingRef\": \"TB12345\", \"Cancellable\": false, \"Fee\": 10352, \"Currency\": \"GBP\", \"RefundableAmount\": 0}Error ResponsesThe API will return error responses in the following scenarios:Invalid Booking ReferenceIf the booking reference format is invalid (must be 5-8 characters):{ \"Code\": \"Validation Error\", \"Message\": \"Invalid booking reference format\"}Booking Not FoundIf no booking is found with the provided reference:{ \"Code\": \"invalid-booking-ref\", \"Message\": \"No booking found with reference\"}Invalid Product TypeIf the booking reference exists but is not for a transfers booking:{ \"Code\": \"Validation Error\", \"Message\": \"Not a transfers booking\"}Method Not AllowedIf you attempt to use a method other than GET (such as POST or DELETE):{ \"Code\": \"409\", \"Message\": \"Method not allowed. Only GET requests are supported for cancellation policy.\"}", @@ -211,24 +211,17 @@ } , - "hxapi-transfers-bkg": { - "title": "Transfers Booking", - "content": "# Transfers Booking## Booking Request### MethodPOST### EndpointThe endpoint to use is:```https://api.holidayextras.com/v1/transfers/[CODE]```Where ```[CODE]``` is the product code received in the availability request of the product you want to book.Here is an example for the following Availability response:```TBHT1169922/transfers/TBHT1169922...```Your Make Booking request will have the following URL: https://api.holidayextras.com/v1/transfers/TBHT1169922### Request ParametersThe parameters _must_ be sent in the body of the request, as `x-www-form-urlencoded` data.NB: All parameter names are case sensitive.| 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 | Y* | 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. || token | String | [0-9] 9 chars | Y | Please see [user token endpoint](/hxapi/usertoken) for details of how to generate a token. || PickUpType | String | [A-Z0-9] | Y | The type can either be `IATA`, `TTI`, `GIATA`, `postal-address` or `PC` (Postcode - only available for UK locations) (i.e `PickUpType=IATA`). || PickUp | String | [A-Z0-9] | Y* | The IATA, TTI, GIATA or Postcode (i.e `PickUp=AGP`).Not required for `postal-address` || PickUpName | String | [A-Z0-9] | Y [^1] | The pick up location name. || PickUpAddress[] | String | [A-Z0-9] | Y [^1] | First line of address (house name / number and road) of the destination.If you require more than one address line, then you can replicate this field and increment the number in square brackets, i.e. \"PickUpAddress[1]\" for address line two. Up to a maximum of two address lines. || PickUpTown | String | [A-Z0-9] | Y [^1] | The pick up town name. || PickUpCounty | String | [A-Z0-9] | Y [^1] | The pick up county name. || PickUpPostcode | String | [A-Z0-9] | Y [^1] | The pick up postcode. || PickUpCountryCode | String | [A-Z] 2 chars | Y [^1] | The pick up country code in [ISO 3166-1 alpha-2](https://www.iso.org/iso-3166-country-codes.html) format. || PickUpLongitude | Float | [0-9] | Y [^1] | The pick up location longitude. || PickUpLatitude | Float | [0-9] | Y [^1] | The pick up location latitude. || DropOffType | String | [A-Z0-9] | Y | The type can either be `IATA`, `TTI`, `GIATA`, `postal-address` or `PC` (Postcode - only available for UK locations) (i.e `DropOffType=TTI`). || DropOff | String | [A-Z0-9] | Y* | The IATA, TTI, GIATA or Postcode (i.e `DropOff=85101062`).Not required for `postal-address` || DropOffName | String | [A-Z0-9] | Y [^1] | The drop off location name. || DropOffAddress[] | String | [A-Z0-9] | Y [^1] | First line of address (house name / number and road) of the destination.If you require more than one address line, then you can replicate this field and increment the number in square brackets, i.e. \"DropOffAddress[1]\" for address line two. Up to a maximum of two address lines. || DropOffTown | String | [A-Z0-9] | Y [^1] | The drop off town name. || DropOffCounty | String | [A-Z0-9] | Y [^1] | The drop off county name. || DropOffPostcode | String | [A-Z0-9] | Y [^1] | The drop off postcode. || DropOffCountryCode | String | [A-Z] 2 chars | Y [^1] | The drop off country code in [ISO 3166-1 alpha-2](https://www.iso.org/iso-3166-country-codes.html) format. || DropOffLongitude | Float | [0-9] | Y [^1] | The drop off location longitude. || DropOffLatitude | Float | [0-9] | Y [^1] | The drop off location latitude. || FromDate | Date | YYYY-MM-DD | Y | Flight Arrival Date (`PickUpType` = `IATA`), Flight Departure Date (`DropOffType` = `IATA`), Preferred Date. || FromTime | Time | HHMM | Y | Flight Arrival Time (`PickUpType` = `IATA`), Flight Departure Time (`DropOffType` = `IATA`), Preferred Time. || ReturnDate | Date | YYYY-MM-DD | N | Flight Arrival Date (`DropOffType` = `IATA`), Flight Departure Date (`PickUpType` = `IATA`), Preferred Date. **Required** for return bookings as it is not inferred from flight data; || ReturnTime | Time | HHMM | N | Flight Arrival Time (`DropOffType` = `IATA`), Flight Departure Time (`PickUpType` = `IATA`), Preferred Time. **Required** for return bookings as it is not inferred from flight data; || Adults | Integer | [0-9] | Y | Number of Adults requiring a transfer. || Children | Integer | [0-9] | N | Number of Children requiring a transfer. || Infants | Integer | [0-9] | N | Number of Infants requiring a transfer. || OutFlight | String | [A-Z0-9] | Y* | A flight number is required if the journey involves being picked up or dropped off at an Airport. || ReturnFlight | String | [A-Z0-9] | N* | A flight number is required if the return journey involves being picked up or dropped off at an Airport. || Title | String | [A-Z] | Y | Title of lead passenger, an option from the [list of valid titles](/hxapi/reference/titles) || FirstName | String | [A-Z] | Y | The lead passenger's first name. || LastName | String | [A-Z] | Y | The lead passenger's last name. || Email | String | [A-Z] 50 chars | Y | The lead passenger's email address. || DayPhone | Integer | [0-9] 20 chars | Y | The lead passenger's contact telephone number. || Price | Float | [0-9] | Y | The total price of the Transfer/s (This will be the value of the `TotalPrice` property returned in the availability response). || PriceCheckFlag | String | Y/N | N | Indicates a price check will be carried out prior to booking. If the price is lower in the system the booking will be made as the customer will benefit from a saving. If the price has changed and is higher than the price stated on availability, an error will return to explain that the price has increased, the booking can still be made but the customer must confirm that they will pay the higher amount. You should then resubmit the request changing the PriceCheckPrice with the new price. || PriceCheckPrice | Float | [0-9] | N | Price of the product, received from the availability request or price check. Only required when `PriceCheckFlag` is `Y` |#### PaymentIn the UK, we are PCI DSS compliant and so we do not accept customers' payment details being passed to us via the API. Further details can be found in our section on [Payment](/hxapi/payment).Please contact your Account Manager if you have any questions concerning payment.## Booking ResponseIf the booking has been successful, the response will contain a `Booking` field which will have a `BookingRef` property. A summary of the request received can be found in the header field at the end of the response.For a detailed explanation of the fields returned, please see below:| Field | Additional Information ||-------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------|| Booking/BookingRef | The reference for the booking, use this reference in all communication with us relating to this booking. || Booking/AgentComm | Commission earned from this booking. || Booking/MoreInfoURL | The URL to GET more information about the booking (view [View Booking Request](../view) for more information). || Booking/Status (Future) | Indicates the current status of the booking (`Pending`, `Confirmed`, `Cancelled`, or `Error`). || Booking/SuggestedPollingInterval (Future) | Specifies the recommended interval in seconds for polling the view booking endpoint. The polling frequency varies based on the product type and supplier. |### Example```json{ \"API_Reply\": { \"Booking\": { \"BookingRef\": \"TBBGNHMT\", \"AgentComm\": \"0.17\", \"VATonComm\": \"0.00\", \"MoreInfoURL\": \"/v1/booking/TBBGNHMT.js\", \"Status\": \"Pending\", \"SuggestedPollingInterval\": 3600 }, \"ATTRIBUTES\": { \"Product\": \"Transfers\", \"RequestCode\": 5, \"Result\": \"OK\" }, \"API_Header\": { \"Request\": { \"key\": \"TEST\", \"token\": \"d2d6dedd-606f-4f00-aa8c-526a358e927c\", \"ABTANumber\": \"TESTL\", \"Password\": \"Redacted\", \"FromDate\": \"2020-08-01\", \"FromTime\": 1255, \"ReturnDate\": \"2020-08-10\", \"ReturnTime\": 1355, \"PickUp\": \"AGP\", \"PickUpType\": \"IATA\", \"DropOff\": 85101062, \"DropOffType\": \"TTI\", \"Adults\": 2, \"Title\": \"MR\", \"FirstName\": \"Test\", \"LastName\": \"Test\", \"Email\": \"test@holidayextras.com\", \"DayPhone\": \"07123456789\", \"Price\": 103.52, \"OutFlight\": \"LS1405\", \"ReturnFlight\": \"LS1406\", \"v\": 1, \"format\": \"js\" } } }}```[^1]: Only required when the location type is `postal-address`.", - "url": "/hxapi/transfers/bkg/" - } - , - - "hxapi-transfers-av": { - "title": "Transfers Availability", - "content": "# Transfers Availability## Availability Request### MethodGET### EndpointThe endpoint to use is:```https://api.holidayextras.com/v1/transfers/search```Here is an example:```https://api.holidayextras.com/v1/transfers/search?token=[TOKEN]&key=[KEY]&ABTANumber=[ABTA]&FromDate=2020-08-01&FromTime=1000&ReturnDate=2020-08-07&ReturnTime=1730&PickUp=AGP&PickUpType=IATA&DropOff=85101062&DropOffType=TTI&OutFlight=U28605&ReturnFlight=U28602&Adults=2```### Request ParametersNB: All parameter names are case sensitive.| 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 | Y* | 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. || token | String | [0-9] 9 chars | Y | Please see [user token endpoint](/hxapi/usertoken) for details of how to generate a token. || PickUpType | String | [A-Z0-9] | Y | The type can either be `IATA`, `TTI`, `GIATA`, `postal-address` or `PC` (Postcode - only available for UK locations) (i.e `PickUpType=IATA`). || PickUp | String | [A-Z0-9] | Y* | The IATA, TTI, GIATA or Postcode (i.e `PickUp=AGP`).Not required for `postal-address` || PickUpName | String | [A-Z0-9] | Y [^1] | The pick up location name. || PickUpAddress[] | String | [A-Z0-9] | Y [^1] | First line of address (house name / number and road) of the destination.If you require more than one address line, then you can replicate this field and increment the number in square brackets, i.e. \"PickUpAddress[1]\" for address line two. Up to a maximum of two address lines. || PickUpTown | String | [A-Z0-9] | Y [^1] | The pick up town name. || PickUpCounty | String | [A-Z0-9] | Y [^1] | The pick up county name. || PickUpPostcode | String | [A-Z0-9] | Y [^1] | The pick up postcode. || PickUpCountryCode | String | [A-Z] 2 chars | Y [^1] | The pick up country code in [ISO 3166-1 alpha-2](https://www.iso.org/iso-3166-country-codes.html) format. || PickUpLongitude | Float | [0-9] | Y [^1] | The pick up location longitude. || PickUpLatitude | Float | [0-9] | Y [^1] | The pick up location latitude. || DropOffType | String | [A-Z0-9] | Y | The type can either be `IATA`, `TTI`, `GIATA`, `postal-address` or `PC` (Postcode - only available for UK locations) (i.e `DropOffType=TTI`). || DropOff | String | [A-Z0-9] | Y* | The IATA, TTI, GIATA or Postcode (i.e `DropOff=85101062`).Not required for `postal-address` || DropOffName | String | [A-Z0-9] | Y [^1] | The drop off location name. || DropOffAddress[] | String | [A-Z0-9] | Y [^1] | First line of address (house name / number and road) of the destination.If you require more than one address line, then you can replicate this field and increment the number in square brackets, i.e. \"DropOffAddress[1]\" for address line two. Up to a maximum of two address lines. || DropOffTown | String | [A-Z0-9] | Y [^1] | The drop off town name. || DropOffCounty | String | [A-Z0-9] | Y [^1] | The drop off county name. || DropOffPostcode | String | [A-Z0-9] | Y [^1] | The drop off postcode. || DropOffCountryCode | String | [A-Z] 2 chars | Y [^1] | The drop off country code in [ISO 3166-1 alpha-2](https://www.iso.org/iso-3166-country-codes.html) format. || DropOffLongitude | Float | [0-9] | Y [^1] | The drop off location longitude. || DropOffLatitude | Float | [0-9] | Y [^1] | The drop off location latitude. || FromDate | Date | YYYY-MM-DD | Y | Flight Arrival Date (`PickUpType` = `IATA`), Flight Departure Date (`DropOffType` = `IATA`), Preferred Date. || FromTime | Time | HHMM | Y | Flight Arrival Time (`PickUpType` = `IATA`), Flight Departure Time (`DropOffType` = `IATA`), Preferred Time. || ReturnDate | Date | YYYY-MM-DD | N | Flight Arrival Date (`DropOffType` = `IATA`), Flight Departure Date (`PickUpType` = `IATA`), Preferred Date. **Required** for return bookings as it is not inferred from flight data; || ReturnTime | Time | HHMM | N | Flight Arrival Time (`DropOffType` = `IATA`), Flight Departure Time (`PickUpType` = `IATA`), Preferred Time. **Required** for return bookings as it is not inferred from flight data; || Adults | Integer | [0-9] | Y | Number of Adults requiring a transfer. || Children | Integer | [0-9] | N | Number of Children requiring a transfer. || Infants | Integer | [0-9] | N | Number of Infants requiring a transfer. || OutFlight | String | [A-Z0-9] | Y* | A flight number is required if the journey involves being picked up or dropped off at an Airport. || ReturnFlight | String | [A-Z0-9] | N* | A flight number is required if the return journey involves being picked up or dropped off at an Airport. |#### Dates and TimesIt's important to note that availability should be requested with accurate dates and times. A good scenario would be if an Airport Transfer is required, where the `PickUp` would be an Airport and the `DropOff` would be a Hotel. The `FromDate` and `FromTime` should be the flight arrival date and time. If a return transfer is requested, then the `ReturnDate` and `ReturnTime` should be the flight departure date and time, our system will calculate an estimated pickup time from the Hotel.## Availability ResponseIf availability has been found for the requested parameters, the response will contain a `Transfers` field with all the nested Transfers available. A summary of the request received can be found in the header field at the end of the response.For a detailed explanation of the fields returned, please see below:| Field | Additional Information ||----------------------------|-------------------------------------------------------------------------------------------------------------|| Transfers/Name | The name of the Transfer. || Transfers/Code | The product code for the transfer, which must be used in the booking request. || Transfers/BookingURL | The URL to POST the booking request to for this particular product. || Transfers/TotalPrice | The total price of the Transfer/s. || Transfers/NonDiscPrice | If a discount has been applied, this is the total price before discount. || Transfers/SalesCurrency | Three character identifier for the sale currency to qualify the price. || Transfers/Images/Src | Link to a image for the product. Prefix with `https:`. || Transfers/Images/Alt | The alt tag for the image. || Transfers/Category | The category assigned to the Transfer/s, for the full list of categories [please see below](/hxapi/transfers/av/#transfer-categories). || Transfers/Disclaimer | Depending on supplier and transfer type, the Disclaimer will contain pickup details. || Transfers/ProviderDetails | Shows the providers name and rating (if applicable). || Transfers/Cancellation | Shows the cancellation period before pickup date/time. || Transfers/VehicleDetails | Details about the vehicle being used for the Transfer/s. || Transfers/OutboundTransfer | Details about the outbound transfer. || Transfers/ReturnTransfer | Details about the return transfer (This field will be `null` if no return was requested). || Transfers/PartnerOwnSupply | Product originates from partner’s own supply. Your account manager will confirm whether you should use this. || Transfers/SupplierCost | Supplier cost for this transfer. Only available for selected products and requests. |#### [Transfer Categories](#transfer-categories)Here are the available categories which may be returned, there will only be one category assigned to each Transfer:- private_adapted_vehicle- private_car- private_coach- private_electric_car- private_excutive_car- private_executive_electric_car- private_helicopter- private_limousine- private_luxury_car- private_minibus- private_minivan- private_sea_plane- private_speed_boat- private_suv- private_water_taxi- shared_express_shuttle- shared_shuttle- shared_water_taxi### Example```json{ \"API_Reply\": { \"ATTRIBUTES\": { \"Product\": \"Transfers\", \"RequestCode\": 1, \"Result\": \"OK\", \"cached\": true, \"expires\": \"2020-07-21 15:20:14\" }, \"Transfers\": [ { \"ATTRIBUTES\": [], \"Name\": \"Shuttle\", \"Code\": \"TBHT39\", \"BookingURL\": \"/v1/transfers/TBHT39.js\", \"MoreInfoURL\": null, \"TotalPrice\": 103.52, \"NonDiscPrice\": 103.52, \"SalesCurrency\": \"GBP\", \"Images\": [ { \"Src\": \"//dmy0b9oeprz0f.cloudfront.net/render/resortTransfers/shuttlebus.jpeg\", \"Alt\": \"shuttlebus\" } ], \"Category\": \"shared_shuttle\", \"Disclaimer\": { \"Title\": null, \"Message\": null }, \"ProviderDetails\": { \"ProviderName\": \"\", \"ProviderRating\": \"\" }, \"Cancellation\": { \"Period\": 72, \"Percentage\": 100, \"Fee\": 0 }, \"VehicleDetails\": { \"MinCapacity\": \"\", \"MaxCapacity\": \"\", \"MinStops\": \"\", \"MaxStops\": \"\", \"Bags\": 1, \"NumberOfVehicles\": 1, \"IsPrivate\": false, \"Supplier\": \"\" }, \"OutboundTransfer\": { \"SupplierRef\": \"\", \"Origin\": \"Málaga Airport\", \"OriginAddress\": \"Málaga Airport, Málaga\", \"OriginIata\": \"AGP\", \"Destination\": \"BlueBay Banús\", \"DestinationAddress\": \"Carretera Cadiz, 29660, Marbella\", \"DestinationIata\": \"\", \"JourneyTime\": 90, \"ArrivalDate\": \"2020-08-01\", \"ArrivalTime\": \"09:00\", \"ReturnDate\": null, \"ReturnTime\": null, \"PickupDate\": \"2020-08-01\", \"PickupTime\": \"09:00\", \"JoiningInstructions\": null, \"ContactNumbers\": null }, \"ReturnTransfer\": { \"SupplierRef\": \"\", \"Origin\": \"BlueBay Banús\", \"OriginAddress\": \"Carretera Cadiz, 29660, Marbella\", \"OriginIata\": \"\", \"Destination\": \"Málaga Airport\", \"DestinationAddress\": \"Málaga Airport, Málaga\", \"DestinationIata\": \"AGP\", \"JourneyTime\": 90, \"ArrivalDate\": null, \"ArrivalTime\": null, \"ReturnDate\": \"2020-08-07\", \"ReturnTime\": \"16:30\", \"PickupDate\": \"2020-08-07\", \"PickupTime\": \"12:30\", \"JoiningInstructions\": null, \"ContactNumbers\": null }, \"advance_purchase\": true, \"PartnerOwnSupply\": false }, { \"ATTRIBUTES\": [], \"Name\": \"Speedy Shuttle\", \"Code\": \"TBHT519\", \"BookingURL\": \"/v1/transfers/TBHT519.js\", \"MoreInfoURL\": null, \"TotalPrice\": 134.8, \"NonDiscPrice\": 134.8, \"SalesCurrency\": \"GBP\", \"Images\": [ { \"Src\": \"//dmy0b9oeprz0f.cloudfront.net/render/resortTransfers/shuttlebus.jpeg\", \"Alt\": \"shuttlebus\" } ], \"Category\": \"speedy_shuttle\", \"Disclaimer\": { \"Title\": null, \"Message\": null }, \"ProviderDetails\": { \"ProviderName\": \"\", \"ProviderRating\": \"\" }, \"Cancellation\": { \"Period\": 72, \"Percentage\": 100, \"Fee\": 0 }, \"VehicleDetails\": { \"MinCapacity\": \"\", \"MaxCapacity\": \"\", \"MinStops\": \"\", \"MaxStops\": \"\", \"Bags\": 1, \"NumberOfVehicles\": 1, \"IsPrivate\": false, \"Supplier\": \"\" }, \"OutboundTransfer\": { \"SupplierRef\": \"\", \"Origin\": \"Málaga Airport\", \"OriginAddress\": \"Málaga Airport, Málaga\", \"OriginIata\": \"AGP\", \"Destination\": \"BlueBay Banús\", \"DestinationAddress\": \"Carretera Cadiz, 29660, Marbella\", \"DestinationIata\": \"\", \"JourneyTime\": 75, \"ArrivalDate\": \"2020-08-01\", \"ArrivalTime\": \"09:00\", \"ReturnDate\": null, \"ReturnTime\": null, \"PickupDate\": \"2020-08-01\", \"PickupTime\": \"09:00\", \"JoiningInstructions\": null, \"ContactNumbers\": null }, \"ReturnTransfer\": { \"SupplierRef\": \"\", \"Origin\": \"BlueBay Banús\", \"OriginAddress\": \"Carretera Cadiz, 29660, Marbella\", \"OriginIata\": \"\", \"Destination\": \"Málaga Airport\", \"DestinationAddress\": \"Málaga Airport, Málaga\", \"DestinationIata\": \"AGP\", \"JourneyTime\": 75, \"ArrivalDate\": null, \"ArrivalTime\": null, \"ReturnDate\": \"2020-08-07\", \"ReturnTime\": \"16:30\", \"PickupDate\": \"2020-08-07\", \"PickupTime\": \"12:45\", \"JoiningInstructions\": null, \"ContactNumbers\": null }, \"advance_purchase\": true, \"PartnerOwnSupply\": false }, { \"ATTRIBUTES\": [], \"Name\": \"Private Car\", \"Code\": \"TBHT43\", \"BookingURL\": \"/v1/transfers/TBHT43.js\", \"MoreInfoURL\": null, \"TotalPrice\": 201.72, \"NonDiscPrice\": 201.72, \"SalesCurrency\": \"GBP\", \"Images\": [ { \"Src\": \"//dmy0b9oeprz0f.cloudfront.net/render/resortTransfers/private_standard.jpeg\", \"Alt\": \"private standard\" } ], \"Category\": \"private_transfer\", \"Disclaimer\": { \"Title\": null, \"Message\": null }, \"ProviderDetails\": { \"ProviderName\": \"\", \"ProviderRating\": \"\" }, \"Cancellation\": { \"Period\": 72, \"Percentage\": 100, \"Fee\": 0 }, \"VehicleDetails\": { \"MinCapacity\": 1, \"MaxCapacity\": 4, \"MinStops\": \"\", \"MaxStops\": \"\", \"Bags\": 4, \"NumberOfVehicles\": 1, \"IsPrivate\": true, \"Supplier\": \"\" }, \"OutboundTransfer\": { \"SupplierRef\": \"\", \"Origin\": \"Málaga Airport\", \"OriginAddress\": \"Málaga Airport, Málaga\", \"OriginIata\": \"AGP\", \"Destination\": \"BlueBay Banús\", \"DestinationAddress\": \"Carretera Cadiz, 29660, Marbella\", \"DestinationIata\": \"\", \"JourneyTime\": 60, \"ArrivalDate\": \"2020-08-01\", \"ArrivalTime\": \"09:00\", \"ReturnDate\": null, \"ReturnTime\": null, \"PickupDate\": \"2020-08-01\", \"PickupTime\": \"09:00\", \"JoiningInstructions\": null, \"ContactNumbers\": null }, \"ReturnTransfer\": { \"SupplierRef\": \"\", \"Origin\": \"BlueBay Banús\", \"OriginAddress\": \"Carretera Cadiz, 29660, Marbella\", \"OriginIata\": \"\", \"Destination\": \"Málaga Airport\", \"DestinationAddress\": \"Málaga Airport, Málaga\", \"DestinationIata\": \"AGP\", \"JourneyTime\": 60, \"ArrivalDate\": null, \"ArrivalTime\": null, \"ReturnDate\": \"2020-08-07\", \"ReturnTime\": \"16:30\", \"PickupDate\": \"2020-08-07\", \"PickupTime\": \"13:00\", \"JoiningInstructions\": null, \"ContactNumbers\": null }, \"advance_purchase\": true, \"PartnerOwnSupply\": false }, { \"ATTRIBUTES\": [], \"Name\": \"Private Executive Car\", \"Code\": \"TBHT18\", \"BookingURL\": \"/v1/transfers/TBHT18.js\", \"MoreInfoURL\": null, \"TotalPrice\": 291.86, \"NonDiscPrice\": 291.86, \"SalesCurrency\": \"GBP\", \"Images\": [ { \"Src\": \"//dmy0b9oeprz0f.cloudfront.net/render/resortTransfers/private_luxury.jpeg\", \"Alt\": \"private luxury\" } ], \"Category\": \"private_executive\", \"Disclaimer\": { \"Title\": null, \"Message\": null }, \"ProviderDetails\": { \"ProviderName\": \"\", \"ProviderRating\": \"\" }, \"Cancellation\": { \"Period\": 72, \"Percentage\": 100, \"Fee\": 0 }, \"VehicleDetails\": { \"MinCapacity\": 1, \"MaxCapacity\": 4, \"MinStops\": \"\", \"MaxStops\": \"\", \"Bags\": 4, \"NumberOfVehicles\": 1, \"IsPrivate\": true, \"Supplier\": \"\" }, \"OutboundTransfer\": { \"SupplierRef\": \"\", \"Origin\": \"Málaga Airport\", \"OriginAddress\": \"Málaga Airport, Málaga\", \"OriginIata\": \"AGP\", \"Destination\": \"BlueBay Banús\", \"DestinationAddress\": \"Carretera Cadiz, 29660, Marbella\", \"DestinationIata\": \"\", \"JourneyTime\": 60, \"ArrivalDate\": \"2020-08-01\", \"ArrivalTime\": \"09:00\", \"ReturnDate\": null, \"ReturnTime\": null, \"PickupDate\": \"2020-08-01\", \"PickupTime\": \"09:00\", \"JoiningInstructions\": null, \"ContactNumbers\": null }, \"ReturnTransfer\": { \"SupplierRef\": \"\", \"Origin\": \"BlueBay Banús\", \"OriginAddress\": \"Carretera Cadiz, 29660, Marbella\", \"OriginIata\": \"\", \"Destination\": \"Málaga Airport\", \"DestinationAddress\": \"Málaga Airport, Málaga\", \"DestinationIata\": \"AGP\", \"JourneyTime\": 60, \"ArrivalDate\": null, \"ArrivalTime\": null, \"ReturnDate\": \"2020-08-07\", \"ReturnTime\": \"16:30\", \"PickupDate\": \"2020-08-07\", \"PickupTime\": \"13:00\", \"JoiningInstructions\": null, \"ContactNumbers\": null }, \"advance_purchase\": true, \"PartnerOwnSupply\": false }, { \"ATTRIBUTES\": [], \"Name\": \"Private Minibus\", \"Code\": \"TBHT2\", \"BookingURL\": \"/v1/transfers/TBHT2.js\", \"MoreInfoURL\": null, \"TotalPrice\": 295.32, \"NonDiscPrice\": 295.32, \"SalesCurrency\": \"GBP\", \"Images\": [ { \"Src\": \"//dmy0b9oeprz0f.cloudfront.net/render/resortTransfers/private_standard.jpeg\", \"Alt\": \"private standard\" } ], \"Category\": \"private_minibus\", \"Disclaimer\": { \"Title\": null, \"Message\": null }, \"ProviderDetails\": { \"ProviderName\": \"\", \"ProviderRating\": \"\" }, \"Cancellation\": { \"Period\": 72, \"Percentage\": 100, \"Fee\": 0 }, \"VehicleDetails\": { \"MinCapacity\": 5, \"MaxCapacity\": 8, \"MinStops\": \"\", \"MaxStops\": \"\", \"Bags\": 8, \"NumberOfVehicles\": 1, \"IsPrivate\": true, \"Supplier\": \"\" }, \"OutboundTransfer\": { \"SupplierRef\": \"\", \"Origin\": \"Málaga Airport\", \"OriginAddress\": \"Málaga Airport, Málaga\", \"OriginIata\": \"AGP\", \"Destination\": \"BlueBay Banús\", \"DestinationAddress\": \"Carretera Cadiz, 29660, Marbella\", \"DestinationIata\": \"\", \"JourneyTime\": 60, \"ArrivalDate\": \"2020-08-01\", \"ArrivalTime\": \"09:00\", \"ReturnDate\": null, \"ReturnTime\": null, \"PickupDate\": \"2020-08-01\", \"PickupTime\": \"09:00\", \"JoiningInstructions\": null, \"ContactNumbers\": null }, \"ReturnTransfer\": { \"SupplierRef\": \"\", \"Origin\": \"BlueBay Banús\", \"OriginAddress\": \"Carretera Cadiz, 29660, Marbella\", \"OriginIata\": \"\", \"Destination\": \"Málaga Airport\", \"DestinationAddress\": \"Málaga Airport, Málaga\", \"DestinationIata\": \"AGP\", \"JourneyTime\": 60, \"ArrivalDate\": null, \"ArrivalTime\": null, \"ReturnDate\": \"2020-08-07\", \"ReturnTime\": \"16:30\", \"PickupDate\": \"2020-08-07\", \"PickupTime\": \"13:00\", \"JoiningInstructions\": null, \"ContactNumbers\": null }, \"advance_purchase\": true, \"PartnerOwnSupply\": false } ], \"Pricing\": {}, \"SepaID\": \"\", \"API_Header\": { \"Request\": { \"ABTANumber\": \"YourABTANumber\", \"Password\": \"YourPassword\", \"Initials\": \"YourInitials\", \"key\": \"YourKey\", \"token\": \"YourToken\", \"FromDate\": \"2020-08-01\", \"FromTime\": 1000, \"ReturnDate\": \"2020-08-07\", \"ReturnTime\": 1730, \"PickUp\": \"AGP\", \"PickUpType\": \"IATA\", \"DropOff\": 85101062, \"DropOffType\": \"TTI\", \"OutFlight\": \"U28605\", \"ReturnFlight\": \"U28602\", \"Adults\": 2, \"v\": 1, \"format\": \"js\" } } }}```### Worked ExamplesBelow are some worked examples of both the request and response when requesting transfers availability.#### Airport to GIATA##### Request{% codetabs %}{% codetab XML %}```https:///api.holidayextras.com/v1/transfers/search?ABTANumber=YourABTANumber&Password=YourABTANumber&Initials=YourInitials&key=YourKey&token=YourToken&PickUp=ALC&PickUpType=IATA&DropOffType=GIATA&DropOff=439771&FromDate=2022-03-16&FromTime=1115&ReturnDate=2022-03-23&ReturnTime=1115&Adults=2&OutFlight=U28605&ReturnFlight=U28602```{% endcodetab %}{% codetab JSON %}```https:///api.holidayextras.com/v1/transfers/search.js?ABTANumber=YourABTANumber&Password=YourABTANumber&Initials=YourInitials&key=YourKey&token=YourToken&PickUp=ALC&PickUpType=IATA&DropOffType=GIATA&DropOff=439771&FromDate=2022-03-16&FromTime=1115&ReturnDate=2022-03-23&ReturnTime=1115&Adults=2&OutFlight=U28605&ReturnFlight=U28602```Note the `.js` extension.{% endcodetab %}{% endcodetabs %}##### ResponseNB: This is a shortened example compiled from a full availability response.{% codetabs %}{% codetab XML %}```xml Private Standard Car TBHT1169922 /transfers/TBHT1169922 87.96 87.96 GBP //dmy0b9oeprz0f.cloudfront.net/render/resortTransfers/private_standard.jpeg private standard private_transfer 72 100 0 1 4 4 1 true Alicante International Airport (Benidorm) Alicante International Airport (Benidorm), Alicante ALC Hotel Rural Castillo De Biar s/n, Carretera de Banyeres, 03410, Biar 60 16/03/2022 11:15 16/03/2022 11:15 Hotel Rural Castillo De Biar s/n, Carretera de Banyeres, 03410, Biar Alicante International Airport (Benidorm) Alicante International Airport (Benidorm), Alicante ALC 60 23/03/2022 11:15 23/03/2022 07:45 1 false YourABTANumber YourPassword YourInitials YourKey YourToken ALC IATA GIATA 439771 2022-03-16 1115 2022-03-23 1115 2 U28605 U28602 ```{% endcodetab %}{% codetab JSON %}```json{ \"API_Reply\": { \"ATTRIBUTES\": { \"Product\": \"Transfers\", \"RequestCode\": 1, \"Result\": \"OK\", \"cached\": true, \"expires\": \"2021-12-07 14:50:30\" }, \"Transfers\": [ { \"ATTRIBUTES\": [], \"Name\": \"Private Standard Car\", \"Code\": \"TBHT1169922\", \"BookingURL\": \"/transfers/TBHT1169922.js\", \"MoreInfoURL\": null, \"TotalPrice\": 87.96, \"NonDiscPrice\": 87.96, \"SalesCurrency\": \"GBP\", \"Images\": [ { \"Src\": \"//dmy0b9oeprz0f.cloudfront.net/render/resortTransfers/private_standard.jpeg\", \"Alt\": \"private standard\" } ], \"Category\": \"private_transfer\", \"Disclaimer\": { \"Title\": null, \"Message\": null }, \"ProviderDetails\": { \"ProviderName\": \"\", \"ProviderRating\": \"\" }, \"Cancellation\": { \"Period\": 72, \"Percentage\": 100, \"Fee\": 0 }, \"VehicleDetails\": { \"MinCapacity\": 1, \"MaxCapacity\": 4, \"MinStops\": \"\", \"MaxStops\": \"\", \"Bags\": 4, \"NumberOfVehicles\": 1, \"IsPrivate\": true, \"Supplier\": \"\", \"Make\": \"\" }, \"OutboundTransfer\": { \"SupplierRef\": \"\", \"Origin\": \"Alicante International Airport (Benidorm)\", \"OriginAddress\": \"Alicante International Airport (Benidorm), Alicante\", \"OriginIata\": \"ALC\", \"Destination\": \"Hotel Rural Castillo De Biar\", \"DestinationAddress\": \"s/n, Carretera de Banyeres, 03410, Biar\", \"DestinationIata\": \"\", \"JourneyTime\": 60, \"DepartureDate\": null, \"DepartureTime\": null, \"ArrivalDate\": \"2022-03-16\", \"ArrivalTime\": \"11:15\", \"ReturnDate\": null, \"ReturnTime\": null, \"PickupDate\": \"2022-03-16\", \"PickupTime\": \"11:15\", \"JoiningInstructions\": null, \"ContactNumbers\": null }, \"ReturnTransfer\": { \"SupplierRef\": \"\", \"Origin\": \"Hotel Rural Castillo De Biar\", \"OriginAddress\": \"s/n, Carretera de Banyeres, 03410, Biar\", \"OriginIata\": \"\", \"Destination\": \"Alicante International Airport (Benidorm)\", \"DestinationAddress\": \"Alicante International Airport (Benidorm), Alicante\", \"DestinationIata\": \"ALC\", \"JourneyTime\": 60, \"DepartureDate\": null, \"DepartureTime\": null, \"ArrivalDate\": null, \"ArrivalTime\": null, \"ReturnDate\": \"2022-03-23\", \"ReturnTime\": \"11:15\", \"PickupDate\": \"2022-03-23\", \"PickupTime\": \"07:45\", \"JoiningInstructions\": null, \"ContactNumbers\": null }, \"advance_purchase\": true, \"PartnerOwnSupply\": false }, ], \"Pricing\": {}, \"SepaID\": \"\", \"API_Header\": { \"Request\": { \"ABTANumber\": \"YourABTANumber\", \"Password\": \"YourPassword\", \"Initials\": \"YourInitials\", \"key\": \"YourKey\", \"token\": \"YourToken\", \"PickUp\": \"ALC\", \"PickUpType\": \"IATA\", \"DropOffType\": \"GIATA\", \"DropOff\": 439771, \"FromDate\": \"2022-03-16\", \"FromTime\": 1115, \"ReturnDate\": \"2022-03-23\", \"ReturnTime\": 1115, \"Adults\": 2, \"OutFlight\": \"U28605\", \"ReturnFlight\": \"U28602\", \"format\": \"js\" } } }}```{% endcodetab %}{% endcodetabs %}#### Airport to TTI##### Request{% codetabs %}{% codetab XML %}```https:///api.holidayextras.com/v1/transfers/search?ABTANumber=YourABTANumber&Password=YourABTANumber&Initials=YourInitials&key=YourKey&token=YourToken&PickUp=ALC&PickUpType=IATA&DropOffType=TTI&DropOff=10147575&FromDate=2022-03-16&FromTime=1115&ReturnDate=2022-03-23&ReturnTime=1115&Adults=2&OutFlight=U28605&ReturnFlight=U28602```{% endcodetab %}{% codetab JSON %}```https:///api.holidayextras.com/v1/transfers/search.js?ABTANumber=YourABTANumber&Password=YourABTANumber&Initials=YourInitials&key=YourKey&token=YourToken&PickUp=ALC&PickUpType=IATA&DropOffType=TTI&DropOff=10147575&FromDate=2022-03-16&FromTime=1115&ReturnDate=2022-03-23&ReturnTime=1115&Adults=2&OutFlight=U28605&ReturnFlight=U28602```Note the `.js` extension.{% endcodetab %}{% endcodetabs %}##### ResponseNB: This is a shortened example compiled from a full availability response.{% codetabs %}{% codetab XML %}```xml Private Standard Car TBHT1169922 /transfers/TBHT1169922 87.96 87.96 GBP //dmy0b9oeprz0f.cloudfront.net/render/resortTransfers/private_standard.jpeg private standard private_transfer 72 100 0 1 4 4 1 true Alicante International Airport (Benidorm) Alicante International Airport (Benidorm), Alicante ALC Hotel Rural Castillo De Biar s/n, Carretera de Banyeres, 03410, Biar 60 16/03/2022 11:15 16/03/2022 11:15 Hotel Rural Castillo De Biar s/n, Carretera de Banyeres, 03410, Biar Alicante International Airport (Benidorm) Alicante International Airport (Benidorm), Alicante ALC 60 23/03/2022 11:15 23/03/2022 07:45 1 false YourABTANumber YourPassword YourInitials YourKey YourToken ALC IATA TTI 10147575 2022-03-16 1115 2022-03-23 1115 2 U28605 U28602 ```{% endcodetab %}{% codetab JSON %}```json{ \"API_Reply\": { \"ATTRIBUTES\": { \"Product\": \"Transfers\", \"RequestCode\": 1, \"Result\": \"OK\", \"cached\": true, \"expires\": \"2021-12-07 14:50:30\" }, \"Transfers\": [ { \"ATTRIBUTES\": [], \"Name\": \"Private Standard Car\", \"Code\": \"TBHT1169922\", \"BookingURL\": \"/transfers/TBHT1169922.js\", \"MoreInfoURL\": null, \"TotalPrice\": 87.96, \"NonDiscPrice\": 87.96, \"SalesCurrency\": \"GBP\", \"Images\": [ { \"Src\": \"//dmy0b9oeprz0f.cloudfront.net/render/resortTransfers/private_standard.jpeg\", \"Alt\": \"private standard\" } ], \"Category\": \"private_transfer\", \"Disclaimer\": { \"Title\": null, \"Message\": null }, \"ProviderDetails\": { \"ProviderName\": \"\", \"ProviderRating\": \"\" }, \"Cancellation\": { \"Period\": 72, \"Percentage\": 100, \"Fee\": 0 }, \"VehicleDetails\": { \"MinCapacity\": 1, \"MaxCapacity\": 4, \"MinStops\": \"\", \"MaxStops\": \"\", \"Bags\": 4, \"NumberOfVehicles\": 1, \"IsPrivate\": true, \"Supplier\": \"\", \"Make\": \"\" }, \"OutboundTransfer\": { \"SupplierRef\": \"\", \"Origin\": \"Alicante International Airport (Benidorm)\", \"OriginAddress\": \"Alicante International Airport (Benidorm), Alicante\", \"OriginIata\": \"ALC\", \"Destination\": \"Hotel Rural Castillo De Biar\", \"DestinationAddress\": \"s/n, Carretera de Banyeres, 03410, Biar\", \"DestinationIata\": \"\", \"JourneyTime\": 60, \"DepartureDate\": null, \"DepartureTime\": null, \"ArrivalDate\": \"2022-03-16\", \"ArrivalTime\": \"11:15\", \"ReturnDate\": null, \"ReturnTime\": null, \"PickupDate\": \"2022-03-16\", \"PickupTime\": \"11:15\", \"JoiningInstructions\": null, \"ContactNumbers\": null }, \"ReturnTransfer\": { \"SupplierRef\": \"\", \"Origin\": \"Hotel Rural Castillo De Biar\", \"OriginAddress\": \"s/n, Carretera de Banyeres, 03410, Biar\", \"OriginIata\": \"\", \"Destination\": \"Alicante International Airport (Benidorm)\", \"DestinationAddress\": \"Alicante International Airport (Benidorm), Alicante\", \"DestinationIata\": \"ALC\", \"JourneyTime\": 60, \"DepartureDate\": null, \"DepartureTime\": null, \"ArrivalDate\": null, \"ArrivalTime\": null, \"ReturnDate\": \"2022-03-23\", \"ReturnTime\": \"11:15\", \"PickupDate\": \"2022-03-23\", \"PickupTime\": \"07:45\", \"JoiningInstructions\": null, \"ContactNumbers\": null }, \"advance_purchase\": true, \"PartnerOwnSupply\": false }, ], \"Pricing\": {}, \"SepaID\": \"\", \"API_Header\": { \"Request\": { \"ABTANumber\": \"YourABTANumber\", \"Password\": \"YourPassword\", \"Initials\": \"YourInitials\", \"key\": \"YourKey\", \"token\": \"YourToken\", \"PickUp\": \"ALC\", \"PickUpType\": \"IATA\", \"DropOffType\": \"TTI\", \"DropOff\": 10147575, \"FromDate\": \"2022-03-16\", \"FromTime\": 1115, \"ReturnDate\": \"2022-03-23\", \"ReturnTime\": 1115, \"Adults\": 2, \"OutFlight\": \"U28605\", \"ReturnFlight\": \"U28602\", \"format\": \"js\" } } }}```{% endcodetab %}{% endcodetabs %}#### Airport to Postal Address##### Request{% codetabs %}{% codetab XML %}```https:///api.holidayextras.com/v1/transfers/search?ABTANumber=YourABTANumber&Password=YourABTANumber&Initials=YourInitials&key=YourKey&token=YourToken&PickUp=ALC&PickUpType=IATA&DropOffType=postal-address&DropOffName=Hotel%20Rural%20Castillo%20De%20Biar&DropOffAddress[0]=Carretera%20de%20Banyeres&DropOffAddress[1]=s/n&DropOffTown=%20Biar&DropOffCounty=Alicante&DropOffPostcode=03410&DropOffCountryCode=ES&DropOffLongitude=-0.76832006&DropOffLatitude=38.63852215&Adults=2&FromDate=2022-03-16&FromTime=1115&ReturnDate=2022-03-23&ReturnTime=1115&OutFlight=U28605&ReturnFlight=U28602```{% endcodetab %}{% codetab JSON %}```https:///api.holidayextras.com/v1/transfers/search.js?ABTANumber=YourABTANumber&Password=YourABTANumber&Initials=YourInitials&key=YourKey&token=YourToken&PickUp=ALC&PickUpType=IATA&DropOffType=postal-address&DropOffName=Hotel%20Rural%20Castillo%20De%20Biar&DropOffAddress[0]=Carretera%20de%20Banyeres&DropOffAddress[1]=s/n&DropOffTown=%20Biar&DropOffCounty=Alicante&DropOffPostcode=03410&DropOffCountryCode=ES&DropOffLongitude=-0.76832006&DropOffLatitude=38.63852215&Adults=2&FromDate=2022-03-16&FromTime=1115&ReturnDate=2022-03-23&ReturnTime=1115&OutFlight=U28605&ReturnFlight=U28602```Note the `.js` extension.{% endcodetab %}{% endcodetabs %}##### ResponseNB: This is a shortened example compiled from a full availability response.{% codetabs %}{% codetab XML %}```xml Private Standard Car TBHT1169922 /transfers/TBHT1169922 87.96 87.96 GBP //dmy0b9oeprz0f.cloudfront.net/render/resortTransfers/private_standard.jpeg private standard private_transfer 72 100 0 1 4 4 1 true Alicante International Airport (Benidorm) Alicante International Airport (Benidorm), Alicante ALC Hotel Rural Castillo De Biar Hotel Rural Castillo De Biar, Carretera de Banyeres, s/n, Biar, Alicante, 03410, ES 60 16/03/2022 11:15 16/03/2022 11:15 Hotel Rural Castillo De Biar Hotel Rural Castillo De Biar, Carretera de Banyeres, s/n, Biar, Alicante, 03410, ES Alicante International Airport (Benidorm) Alicante International Airport (Benidorm), Alicante ALC 60 23/03/2022 11:15 23/03/2022 07:45 1 false YourABTANumber YourPassword YourInitials YourKey YourToken ALC IATA postal-address Hotel Rural Castillo De Biar Carretera de Banyeres s/n Biar Alicante 03410 ES -0.76832006 38.63852215 2022-03-16 1115 2022-03-23 1115 2 U28605 U28602 ```{% endcodetab %}{% codetab JSON %}```json{ \"API_Reply\": { \"ATTRIBUTES\": { \"Product\": \"Transfers\", \"RequestCode\": 1, \"Result\": \"OK\", \"cached\": true, \"expires\": \"2021-12-07 16:26:43\" }, \"Transfers\": [ { \"ATTRIBUTES\": [], \"Name\": \"Private Standard Car\", \"Code\": \"TBHT1169922\", \"BookingURL\": \"/transfers/TBHT1169922.js\", \"MoreInfoURL\": null, \"TotalPrice\": 87.96, \"NonDiscPrice\": 87.96, \"SalesCurrency\": \"GBP\", \"Images\": [{ \"Src\": \"//dmy0b9oeprz0f.cloudfront.net/render/resortTransfers/private_standard.jpeg\", \"Alt\": \"private standard\" }], \"Category\": \"private_transfer\", \"Disclaimer\": { \"Title\": null, \"Message\": null }, \"ProviderDetails\": { \"ProviderName\": \"\", \"ProviderRating\": \"\" }, \"Cancellation\": { \"Period\": 72, \"Percentage\": 100, \"Fee\": 0 }, \"VehicleDetails\": { \"MinCapacity\": 1, \"MaxCapacity\": 4, \"MinStops\": \"\", \"MaxStops\": \"\", \"Bags\": 4, \"NumberOfVehicles\": 1, \"IsPrivate\": true, \"Supplier\": \"\", \"Make\": \"\" }, \"OutboundTransfer\": { \"SupplierRef\": \"\", \"Origin\": \"Alicante International Airport (Benidorm)\", \"OriginAddress\": \"Alicante International Airport (Benidorm), Alicante\", \"OriginIata\": \"ALC\", \"Destination\": \"Hotel Rural Castillo De Biar\", \"DestinationAddress\": \"Hotel Rural Castillo De Biar, Carretera de Banyeres, s/n, Biar, Alicante, 03410, ES\", \"DestinationIata\": \"\", \"JourneyTime\": 60, \"DepartureDate\": null, \"DepartureTime\": null, \"ArrivalDate\": \"2022-03-16\", \"ArrivalTime\": \"11:15\", \"ReturnDate\": null, \"ReturnTime\": null, \"PickupDate\": \"2022-03-16\", \"PickupTime\": \"11:15\", \"JoiningInstructions\": null, \"ContactNumbers\": null }, \"ReturnTransfer\": { \"SupplierRef\": \"\", \"Origin\": \"Hotel Rural Castillo De Biar\", \"OriginAddress\": \"Hotel Rural Castillo De Biar, Carretera de Banyeres, s/n, Biar, Alicante, 03410, ES\", \"OriginIata\": \"\", \"Destination\": \"Alicante International Airport (Benidorm)\", \"DestinationAddress\": \"Alicante International Airport (Benidorm), Alicante\", \"DestinationIata\": \"ALC\", \"JourneyTime\": 60, \"DepartureDate\": null, \"DepartureTime\": null, \"ArrivalDate\": null, \"ArrivalTime\": null, \"ReturnDate\": \"2022-03-23\", \"ReturnTime\": \"11:15\", \"PickupDate\": \"2022-03-23\", \"PickupTime\": \"07:45\", \"JoiningInstructions\": null, \"ContactNumbers\": null }, \"advance_purchase\": true, \"PartnerOwnSupply\": false } ], \"Pricing\": {}, \"SepaID\": \"\", \"API_Header\": { \"Request\": { \"ABTANumber\": \"YourABTANumber\", \"Password\": \"YourPassword\", \"Initials\": \"YourInitials\", \"key\": \"YourKey\", \"token\": \"YourToken\", \"PickUp\": \"ALC\", \"PickUpType\": \"IATA\", \"DropOffType\": \"postal-address\", \"DropOffName\": \"Hotel Rural Castillo De Biar\", \"DropOffAddress\": [ \"Carretera de Banyeres\", \"s/n\" ], \"DropOffTown\": \" Biar\", \"DropOffCounty\": \"Alicante\", \"DropOffPostcode\": \"03410\", \"DropOffCountryCode\": \"ES\", \"DropOffLongitude\": -0.76832006, \"DropOffLatitude\": 38.63852215, \"FromDate\": \"2022-03-16\", \"FromTime\": 1115, \"ReturnDate\": \"2022-03-23\", \"ReturnTime\": 1115, \"Adults\": 2, \"OutFlight\": \"U28605\", \"ReturnFlight\": \"U28602\", \"format\": \"js\" } } }}```{% endcodetab %}{% endcodetabs %}[^1]: Only required when the location type is `postal-address`.", - "url": "/hxapi/transfers/av/" + "hxapi-productlibrary": { + "title": "Product Library", + "content": "# Product LibraryThe data returned from a Product Library request depends on the type of product you ask for. A request for a car park returns different fields than a request for a hotel.By default, only fields that contain a value are returned.You can specify the fields you want returned. Simply add the parameter fields and specify the field names. An error/warning element will be returned for any fields which do not exist, but the request will still return those elements for which there is a value. If you request a valid field, but there is no value, it will not be returned.The purpose of most of the fields should be self-explanatory. If there is anything you do not understand, please email . There are no guarantees about the types of data returned, you should make no assumptions about a specific field being an integer etc.Data returned should not be cached locally for periods of time greater than one day (24 hours).### URL/product/{productCode}### MethodGET### Parameters| Name | Format | Required ||--------|--------|----------|| token | String | N || key | String | Y || fields | String | N |## Available FieldsThe available fields vary by product type. For each product type there is a recommended list of fields which should be requested to get the information required to effectively sell the product.{% codetabs %}{% codetab Parking %}{% include_relative _parkingFields.md %}{% endcodetab %}{% codetab Hotel room only %}{% include_relative _hotelOnlyFields.md %}{% endcodetab %}{% codetab Hotel with parking %}{% include_relative _hotelParkingFields.md %}{% endcodetab %}{% codetab Lounge %}{% include_relative _loungeFields.md %}{% endcodetab %}{% codetab Fast track %}{% include_relative _fastTrackFields.md %}{% endcodetab %}{% endcodetabs %}---## Examples### Example 1 - Default Response#### Request{% codetabs %}{% codetab Live (XML) %}```https://api.holidayextras.com/v1/product/LGW4/lite?token=000015778&key=mytestkey```{% endcodetab %}{% codetab Live (JSON) %}```https://api.holidayextras.com/v1/product/LGW4/lite.js?token=000015778&key=mytestkey```Note the `.js` extension.{% endcodetab %}{% codetab Sandbox (XML) %}```https://api-sandbox.holidayextras.com/v1/product/LGW4/lite?token=000015778&key=mytestkey```{% endcodetab %}{% codetab Sandbox (JSON) %}```https://api-sandbox.holidayextras.com/v1/product/LGW4/lite.js?token=000015778&key=mytestkey```Note the `.js` extension.{% endcodetab %}{% endcodetabs %}#### Response{% codetabs %}{% codetab XML %}```xml{% include_relative _examples/parking_reply_1.xml %}```{% endcodetab %}{% codetab JSON %}```json{% include_relative _examples/parking_reply_1.json %}```{% endcodetab %}{% endcodetabs %}---### Example 2 - Restricted field list#### Request{% codetabs %}{% codetab Live (XML) %}```https://api.holidayextras.com/v1/product/LGW4/lite?token=000015778&key=mytestkey&fields=name,longitude,latitude```{% endcodetab %}{% codetab Live (JSON) %}```https://api.holidayextras.com/v1/product/LGW4/lite.js?token=000015778&key=mytestkey&fields=name,longitude,latitude```Note the `.js` extension.{% endcodetab %}{% codetab Sandbox (XML) %}```https://api-sandbox.holidayextras.com/v1/product/LGW4/lite?token=000015778&key=mytestkey&fields=name,longitude,latitude```{% endcodetab %}{% codetab Sandbox (JSON) %}```https://api-sandbox.holidayextras.com/v1/product/LGW4/lite.js?token=000015778&key=mytestkey&fields=name,longitude,latitude```Note the `.js` extension.{% endcodetab %}{% endcodetabs %}#### Response{% codetabs %}{% codetab XML %}```xml{% include_relative _examples/parking_reply_2.xml %}```{% endcodetab %}{% codetab JSON %}```json{% include_relative _examples/parking_reply_2.json %}```{% endcodetab %}{% endcodetabs %}---### Example 3 - German Parking Request#### RequestRequests for German products return a different set of fields. Explanation of fields not currently available.{% codetabs %}{% codetab Live (XML) %}```https://api.holidayextras.com/v1/product/FRA0?key=mytestkey```{% endcodetab %}{% codetab Live (JSON) %}```https://api.holidayextras.com/v1/product/FRA0.js?key=mytestkey```Note the `.js` extension.{% endcodetab %}{% codetab Sandbox (XML) %}```https://api-sandbox.holidayextras.com/v1/product/FRA0?key=mytestkey```{% endcodetab %}{% codetab Sandbox (JSON) %}```https://api-sandbox.holidayextras.com/v1/product/FRA0.js?key=mytestkey```Note the `.js` extension.{% endcodetab %}{% endcodetabs %}#### Response{% codetabs %}{% codetab XML %}```xml{% include_relative _examples/parking_reply_3.xml %}```{% endcodetab %}{% codetab JSON %}```json{% include_relative _examples/parking_reply_3.json %}```{% endcodetab %}{% endcodetabs %}", + "url": "/hxapi/productlibrary/" } , - "hxapi-transfers": { - "title": "Transfers", - "content": "# Transfers[API Docs](/hxapi/) > product:[Transfers](index)## Transfer EndpointsWhen using the Transfer endpoints below, you will be able to search using various types of location data which will represent the transfers pickup and dropoff points. Currently, the API will accept IATA Codes, TTI Codes and Postcodes (Postcodes can be used for UK Transfers).You will need a token to call the api. To get the user token use the existing endpoint: [Get Token](https://docs.holidayextras.co.uk/hxapi/usertoken/).For the complete API specification, see the [OpenAPI schema](https://api.holidayextras.com/v1/transfers/openapi.yml). | Action | Endpoint | Method | | ------ | -------- | ------ | | Availability | [https://api.holidayextras.com/v1/transfers/search](av) | GET | | Make Booking | [https://api.holidayextras.com/v1/transfers/[TransferCode]](bkg) | POST | | View Booking | [https://api.holidayextras.com/v1/transfers/booking/[BookingRef]](view) | GET | | Cancel Booking | [https://api.holidayextras.com/v1/transfers/booking/[BookingRef]](cancel) | DELETE | | Cancellation Policy | [https://api.holidayextras.com/v1/transfers/[BookingRef]/cancellation-policy](cancellation-policy) | GET | | Amend Booking | not supported | - |", - "url": "/hxapi/transfers/" + "hxapi-upgrade": { + "title": "Product Upgrades", + "content": "# Product Upgrades[API Docs](/hxapi/) > [Product Upgrades](/hxapi/upgrade)## Upgrades Availability RequestUpgrades are currently only supported for parking, hotel and lounge bookings. Upgrades can be requested on a per product basis.#### MethodGET#### Endpoint/upgrade/{productCode}NB: Where `productCode` is the code of the base product i.e. the parking/hotel/lounge etc. product.```https://api.holidayextras.com/v1/upgrade/LGV4```## Request 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 | Y* | 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. || token | String | [0-9] 9 chars | Y | Please see [user token endpoint](/hxapi/usertoken) for details of how to generate a token. || ArrivalDate | String | YYYY-MM-DD | Y | This should be the same as the `ArrivalDate` from the base product request. || ArrivalTime | Time | HHMM | Y | This should be the same as the `ArrivalTime` from the base product request. || DepartDate | Date | YYYY-MM-DD | N | This should be the same as the `DepartDate` from the base product request. || DepartTime | Time | HHMM | N | This should be the same as the `DepartTime` from the base product request. || Adults | Integer | [0-9] | Y* | Mandatory for Lounge upgrade requests. Number of adults in the party || Children | Integer | [0-9] | Y* | Mandatory for Lounge upgrade requests. Number of children in the party |## Upgrade Availability ResponseThe response will return a list of available upgrades.Upgrades are sold on a per booking, per person, or per room basis.Upgrades can be for the day before travel, day of departure or day of return.| Field | Additional Information ||--------------------|---------------------------------------------------------------------------------------------|| Code | Product code for the upgrade || Name | Name of the upgrade || Per | Pricing basis, either per *P*erson, per *B*ooking, per *R*oom || Canx | Whether the upgrade is cancellable (Y/N) || description | || supplement_type | Type classification for the upgrade || Date | Date the upgrade is to be booked for. Format YYYY-MM-DD || only_for_adults | Upgrades restricted to adult only parties e.g. Adult only lounges || Price | The price of the upgrade minus any discounts. Only present for per booking upgrades || NonDiscPrice | The total price of the upgrade before discounts. Only present for per booking upgrades || DiscAmt | The amount of any discount applied. Only present for per booking upgrades || AdPrice | The per adult price minus any discounts. Only present for per person upgrades || NonDiscAdPrice | The per adult price before any discounts. Only present for per person upgrades || AdDiscAmt | The amount of discount applied to the per adult price. Only present for per person upgrades || ChPrice | The per child price minus any discounts. Only present for per person upgrades || NonDiscChPrice | The per child price before any discounts. Only present for per person upgrades || ChDiscAmt | The amount of discount applied to the child price. Only present for per person upgrades || API_Header/Request | The API returns every parameter and value you sent in the request. |## Examples### Example 1 - Carpark Upgrades#### Request{% codetabs %} {% codetab XML %} ```https://api.holidayextras.com/v1/upgrade/STN5?ABTANumber=YourABTANumber&Password=YourPassword&key=YourKey&token=YourToken&ArrivalDate=2020-11-03&ArrivalTime=12:30&DepartDate=2020-11-11&DepartTime=13:45 ``` {% endcodetab %} {% codetab JSON %}```https://api.holidayextras.com/v1/upgrade/STN5.js?ABTANumber=YourABTANumber&Password=YourPassword&key=YourKey&token=YourToken&ArrivalDate=2020-11-03&ArrivalTime=12:30&DepartDate=2020-11-11&DepartTime=13:45``` {% endcodetab %}{% endcodetabs %}#### Response{% codetabs %}{% codetab XML %}```xml{% include_relative examples/_example_1_response.xml %}```{% endcodetab %}{% codetab JSON %}```json{% include_relative examples/_example_1_response.json %}```{% endcodetab %}{% endcodetabs %}### Example 1 - Hotel Upgrades#### Request{% codetabs %}{% codetab XML %}```https://api.holidayextras.com/v1/upgrade/LGWSOF?ABTANumber=YourABTANumber&Password=YourPassword&key=YourKey&token=YourToken&ArrivalDate=2020-11-03&ArrivalTime=12:30&DepartDate=2020-11-11&DepartTime=13:45```{% endcodetab %}{% codetab JSON %}```https://api.holidayextras.com/v1/upgrade/LGWSOF.js?ABTANumber=YourABTANumber&Password=YourPassword&key=YourKey&token=YourToken&ArrivalDate=2020-11-03&ArrivalTime=12:30&DepartDate=2020-11-11&DepartTime=13:45```{% endcodetab %}{% endcodetabs %}#### Response{% codetabs %}{% codetab XML %}```xml{% include_relative examples/_example_2_response.xml %}```{% endcodetab %}{% codetab JSON %}```json{% include_relative examples/_example_2_response.json %}```{% endcodetab %}{% endcodetabs %}", + "url": "/hxapi/upgrade/" } , @@ -246,20 +239,6 @@ } , - "hxapi-upgrade": { - "title": "Product Upgrades", - "content": "# Product Upgrades[API Docs](/hxapi/) > [Product Upgrades](/hxapi/upgrade)## Upgrades Availability RequestUpgrades are currently only supported for parking, hotel and lounge bookings. Upgrades can be requested on a per product basis.#### MethodGET#### Endpoint/upgrade/{productCode}NB: Where `productCode` is the code of the base product i.e. the parking/hotel/lounge etc. product.```https://api.holidayextras.com/v1/upgrade/LGV4```## Request 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 | Y* | 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. || token | String | [0-9] 9 chars | Y | Please see [user token endpoint](/hxapi/usertoken) for details of how to generate a token. || ArrivalDate | String | YYYY-MM-DD | Y | This should be the same as the `ArrivalDate` from the base product request. || ArrivalTime | Time | HHMM | Y | This should be the same as the `ArrivalTime` from the base product request. || DepartDate | Date | YYYY-MM-DD | N | This should be the same as the `DepartDate` from the base product request. || DepartTime | Time | HHMM | N | This should be the same as the `DepartTime` from the base product request. || Adults | Integer | [0-9] | Y* | Mandatory for Lounge upgrade requests. Number of adults in the party || Children | Integer | [0-9] | Y* | Mandatory for Lounge upgrade requests. Number of children in the party |## Upgrade Availability ResponseThe response will return a list of available upgrades.Upgrades are sold on a per booking, per person, or per room basis.Upgrades can be for the day before travel, day of departure or day of return.| Field | Additional Information ||--------------------|---------------------------------------------------------------------------------------------|| Code | Product code for the upgrade || Name | Name of the upgrade || Per | Pricing basis, either per *P*erson, per *B*ooking, per *R*oom || Canx | Whether the upgrade is cancellable (Y/N) || description | || supplement_type | Type classification for the upgrade || Date | Date the upgrade is to be booked for. Format YYYY-MM-DD || only_for_adults | Upgrades restricted to adult only parties e.g. Adult only lounges || Price | The price of the upgrade minus any discounts. Only present for per booking upgrades || NonDiscPrice | The total price of the upgrade before discounts. Only present for per booking upgrades || DiscAmt | The amount of any discount applied. Only present for per booking upgrades || AdPrice | The per adult price minus any discounts. Only present for per person upgrades || NonDiscAdPrice | The per adult price before any discounts. Only present for per person upgrades || AdDiscAmt | The amount of discount applied to the per adult price. Only present for per person upgrades || ChPrice | The per child price minus any discounts. Only present for per person upgrades || NonDiscChPrice | The per child price before any discounts. Only present for per person upgrades || ChDiscAmt | The amount of discount applied to the child price. Only present for per person upgrades || API_Header/Request | The API returns every parameter and value you sent in the request. |## Examples### Example 1 - Carpark Upgrades#### Request{% codetabs %} {% codetab XML %} ```https://api.holidayextras.com/v1/upgrade/STN5?ABTANumber=YourABTANumber&Password=YourPassword&key=YourKey&token=YourToken&ArrivalDate=2020-11-03&ArrivalTime=12:30&DepartDate=2020-11-11&DepartTime=13:45 ``` {% endcodetab %} {% codetab JSON %}```https://api.holidayextras.com/v1/upgrade/STN5.js?ABTANumber=YourABTANumber&Password=YourPassword&key=YourKey&token=YourToken&ArrivalDate=2020-11-03&ArrivalTime=12:30&DepartDate=2020-11-11&DepartTime=13:45``` {% endcodetab %}{% endcodetabs %}#### Response{% codetabs %}{% codetab XML %}```xml{% include_relative examples/_example_1_response.xml %}```{% endcodetab %}{% codetab JSON %}```json{% include_relative examples/_example_1_response.json %}```{% endcodetab %}{% endcodetabs %}### Example 1 - Hotel Upgrades#### Request{% codetabs %}{% codetab XML %}```https://api.holidayextras.com/v1/upgrade/LGWSOF?ABTANumber=YourABTANumber&Password=YourPassword&key=YourKey&token=YourToken&ArrivalDate=2020-11-03&ArrivalTime=12:30&DepartDate=2020-11-11&DepartTime=13:45```{% endcodetab %}{% codetab JSON %}```https://api.holidayextras.com/v1/upgrade/LGWSOF.js?ABTANumber=YourABTANumber&Password=YourPassword&key=YourKey&token=YourToken&ArrivalDate=2020-11-03&ArrivalTime=12:30&DepartDate=2020-11-11&DepartTime=13:45```{% endcodetab %}{% endcodetabs %}#### Response{% codetabs %}{% codetab XML %}```xml{% include_relative examples/_example_2_response.xml %}```{% endcodetab %}{% codetab JSON %}```json{% include_relative examples/_example_2_response.json %}```{% endcodetab %}{% endcodetabs %}", - "url": "/hxapi/upgrade/" - } - , - - "hxapi-productlibrary": { - "title": "Product Library", - "content": "# Product LibraryThe data returned from a Product Library request depends on the type of product you ask for. A request for a car park returns different fields than a request for a hotel.By default, only fields that contain a value are returned.You can specify the fields you want returned. Simply add the parameter fields and specify the field names. An error/warning element will be returned for any fields which do not exist, but the request will still return those elements for which there is a value. If you request a valid field, but there is no value, it will not be returned.The purpose of most of the fields should be self-explanatory. If there is anything you do not understand, please email . There are no guarantees about the types of data returned, you should make no assumptions about a specific field being an integer etc.Data returned should not be cached locally for periods of time greater than one day (24 hours).### URL/product/{productCode}### MethodGET### Parameters| Name | Format | Required ||--------|--------|----------|| token | String | N || key | String | Y || fields | String | N |## Available FieldsThe available fields vary by product type. For each product type there is a recommended list of fields which should be requested to get the information required to effectively sell the product.{% codetabs %}{% codetab Parking %}{% include_relative _parkingFields.md %}{% endcodetab %}{% codetab Hotel room only %}{% include_relative _hotelOnlyFields.md %}{% endcodetab %}{% codetab Hotel with parking %}{% include_relative _hotelParkingFields.md %}{% endcodetab %}{% codetab Lounge %}{% include_relative _loungeFields.md %}{% endcodetab %}{% codetab Fast track %}{% include_relative _fastTrackFields.md %}{% endcodetab %}{% endcodetabs %}---## Examples### Example 1 - Default Response#### Request{% codetabs %}{% codetab Live (XML) %}```https://api.holidayextras.com/v1/product/LGW4/lite?token=000015778&key=mytestkey```{% endcodetab %}{% codetab Live (JSON) %}```https://api.holidayextras.com/v1/product/LGW4/lite.js?token=000015778&key=mytestkey```Note the `.js` extension.{% endcodetab %}{% codetab Sandbox (XML) %}```https://api-sandbox.holidayextras.com/v1/product/LGW4/lite?token=000015778&key=mytestkey```{% endcodetab %}{% codetab Sandbox (JSON) %}```https://api-sandbox.holidayextras.com/v1/product/LGW4/lite.js?token=000015778&key=mytestkey```Note the `.js` extension.{% endcodetab %}{% endcodetabs %}#### Response{% codetabs %}{% codetab XML %}```xml{% include_relative _examples/parking_reply_1.xml %}```{% endcodetab %}{% codetab JSON %}```json{% include_relative _examples/parking_reply_1.json %}```{% endcodetab %}{% endcodetabs %}---### Example 2 - Restricted field list#### Request{% codetabs %}{% codetab Live (XML) %}```https://api.holidayextras.com/v1/product/LGW4/lite?token=000015778&key=mytestkey&fields=name,longitude,latitude```{% endcodetab %}{% codetab Live (JSON) %}```https://api.holidayextras.com/v1/product/LGW4/lite.js?token=000015778&key=mytestkey&fields=name,longitude,latitude```Note the `.js` extension.{% endcodetab %}{% codetab Sandbox (XML) %}```https://api-sandbox.holidayextras.com/v1/product/LGW4/lite?token=000015778&key=mytestkey&fields=name,longitude,latitude```{% endcodetab %}{% codetab Sandbox (JSON) %}```https://api-sandbox.holidayextras.com/v1/product/LGW4/lite.js?token=000015778&key=mytestkey&fields=name,longitude,latitude```Note the `.js` extension.{% endcodetab %}{% endcodetabs %}#### Response{% codetabs %}{% codetab XML %}```xml{% include_relative _examples/parking_reply_2.xml %}```{% endcodetab %}{% codetab JSON %}```json{% include_relative _examples/parking_reply_2.json %}```{% endcodetab %}{% endcodetabs %}---### Example 3 - German Parking Request#### RequestRequests for German products return a different set of fields. Explanation of fields not currently available.{% codetabs %}{% codetab Live (XML) %}```https://api.holidayextras.com/v1/product/FRA0?key=mytestkey```{% endcodetab %}{% codetab Live (JSON) %}```https://api.holidayextras.com/v1/product/FRA0.js?key=mytestkey```Note the `.js` extension.{% endcodetab %}{% codetab Sandbox (XML) %}```https://api-sandbox.holidayextras.com/v1/product/FRA0?key=mytestkey```{% endcodetab %}{% codetab Sandbox (JSON) %}```https://api-sandbox.holidayextras.com/v1/product/FRA0.js?key=mytestkey```Note the `.js` extension.{% endcodetab %}{% endcodetabs %}#### Response{% codetabs %}{% codetab XML %}```xml{% include_relative _examples/parking_reply_3.xml %}```{% endcodetab %}{% codetab JSON %}```json{% include_relative _examples/parking_reply_3.json %}```{% endcodetab %}{% endcodetabs %}", - "url": "/hxapi/productlibrary/" - } - , - "hxapi-carhire": { "title": "Car Hire", "content": "# Car Hire[API Docs](/hxapi/) > product:[Car Hire](index)These are the car hire requests.| Action | Endpoint | Method || --- | --- | --- || Lookup Locations | [https://api.holidayextras.com/v1/carHire/locations](locations) | GET || Availability | [https://api.holidayextras.com/v1/carHire/products](availability) | GET || Make Booking | [https://api.holidayextras.com/v1/carHire/](booking/make) | POST || Lookup Booking | [https://api.holidayextras.com/v1/carHire-booking/](booking/lookup) | GET |", @@ -316,6 +295,27 @@ } , + "hxapi-transfers-bkg": { + "title": "Transfers Booking", + "content": "# Transfers Booking## Booking Request### MethodPOST### EndpointThe endpoint to use is:```https://api.holidayextras.com/v1/transfers/[CODE]```Where ```[CODE]``` is the product code received in the availability request of the product you want to book.Here is an example for the following Availability response:```TBHT1169922/transfers/TBHT1169922...```Your Make Booking request will have the following URL: https://api.holidayextras.com/v1/transfers/TBHT1169922### Request ParametersThe parameters _must_ be sent in the body of the request, as `x-www-form-urlencoded` data.NB: All parameter names are case sensitive.| 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 | Y* | 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. || token | String | [0-9] 9 chars | Y | Please see [user token endpoint](/hxapi/usertoken) for details of how to generate a token. || PickUpType | String | [A-Z0-9] | Y | The type can either be `IATA`, `TTI`, `GIATA`, `postal-address` or `PC` (Postcode - only available for UK locations) (i.e `PickUpType=IATA`). || PickUp | String | [A-Z0-9] | Y* | The IATA, TTI, GIATA or Postcode (i.e `PickUp=AGP`).Not required for `postal-address` || PickUpName | String | [A-Z0-9] | Y [^1] | The pick up location name. || PickUpAddress[] | String | [A-Z0-9] | Y [^1] | First line of address (house name / number and road) of the destination.If you require more than one address line, then you can replicate this field and increment the number in square brackets, i.e. \"PickUpAddress[1]\" for address line two. Up to a maximum of two address lines. || PickUpTown | String | [A-Z0-9] | Y [^1] | The pick up town name. || PickUpCounty | String | [A-Z0-9] | Y [^1] | The pick up county name. || PickUpPostcode | String | [A-Z0-9] | Y [^1] | The pick up postcode. || PickUpCountryCode | String | [A-Z] 2 chars | Y [^1] | The pick up country code in [ISO 3166-1 alpha-2](https://www.iso.org/iso-3166-country-codes.html) format. || PickUpLongitude | Float | [0-9] | Y [^1] | The pick up location longitude. || PickUpLatitude | Float | [0-9] | Y [^1] | The pick up location latitude. || DropOffType | String | [A-Z0-9] | Y | The type can either be `IATA`, `TTI`, `GIATA`, `postal-address` or `PC` (Postcode - only available for UK locations) (i.e `DropOffType=TTI`). || DropOff | String | [A-Z0-9] | Y* | The IATA, TTI, GIATA or Postcode (i.e `DropOff=85101062`).Not required for `postal-address` || DropOffName | String | [A-Z0-9] | Y [^1] | The drop off location name. || DropOffAddress[] | String | [A-Z0-9] | Y [^1] | First line of address (house name / number and road) of the destination.If you require more than one address line, then you can replicate this field and increment the number in square brackets, i.e. \"DropOffAddress[1]\" for address line two. Up to a maximum of two address lines. || DropOffTown | String | [A-Z0-9] | Y [^1] | The drop off town name. || DropOffCounty | String | [A-Z0-9] | Y [^1] | The drop off county name. || DropOffPostcode | String | [A-Z0-9] | Y [^1] | The drop off postcode. || DropOffCountryCode | String | [A-Z] 2 chars | Y [^1] | The drop off country code in [ISO 3166-1 alpha-2](https://www.iso.org/iso-3166-country-codes.html) format. || DropOffLongitude | Float | [0-9] | Y [^1] | The drop off location longitude. || DropOffLatitude | Float | [0-9] | Y [^1] | The drop off location latitude. || FromDate | Date | YYYY-MM-DD | Y | Flight Arrival Date (`PickUpType` = `IATA`), Flight Departure Date (`DropOffType` = `IATA`), Preferred Date. || FromTime | Time | HHMM | Y | Flight Arrival Time (`PickUpType` = `IATA`), Flight Departure Time (`DropOffType` = `IATA`), Preferred Time. || ReturnDate | Date | YYYY-MM-DD | N | Flight Arrival Date (`DropOffType` = `IATA`), Flight Departure Date (`PickUpType` = `IATA`), Preferred Date. **Required** for return bookings as it is not inferred from flight data; || ReturnTime | Time | HHMM | N | Flight Arrival Time (`DropOffType` = `IATA`), Flight Departure Time (`PickUpType` = `IATA`), Preferred Time. **Required** for return bookings as it is not inferred from flight data; || Adults | Integer | [0-9] | Y | Number of Adults requiring a transfer. || Children | Integer | [0-9] | N | Number of Children requiring a transfer. || Infants | Integer | [0-9] | N | Number of Infants requiring a transfer. || OutFlight | String | [A-Z0-9] | Y* | A flight number is required if the journey involves being picked up or dropped off at an Airport. || ReturnFlight | String | [A-Z0-9] | N* | A flight number is required if the return journey involves being picked up or dropped off at an Airport. || Title | String | [A-Z] | Y | Title of lead passenger, an option from the [list of valid titles](/hxapi/reference/titles) || FirstName | String | [A-Z] | Y | The lead passenger's first name. || LastName | String | [A-Z] | Y | The lead passenger's last name. || Email | String | [A-Z] 50 chars | Y | The lead passenger's email address. || DayPhone | Integer | [0-9] 20 chars | Y | The lead passenger's contact telephone number. || Price | Float | [0-9] | Y | The total price of the Transfer/s (This will be the value of the `TotalPrice` property returned in the availability response). || PriceCheckFlag | String | Y/N | N | Indicates a price check will be carried out prior to booking. If the price is lower in the system the booking will be made as the customer will benefit from a saving. If the price has changed and is higher than the price stated on availability, an error will return to explain that the price has increased, the booking can still be made but the customer must confirm that they will pay the higher amount. You should then resubmit the request changing the PriceCheckPrice with the new price. || PriceCheckPrice | Float | [0-9] | N | Price of the product, received from the availability request or price check. Only required when `PriceCheckFlag` is `Y` |#### PaymentIn the UK, we are PCI DSS compliant and so we do not accept customers' payment details being passed to us via the API. Further details can be found in our section on [Payment](/hxapi/payment).Please contact your Account Manager if you have any questions concerning payment.## Booking ResponseIf the booking has been successful, the response will contain a `Booking` field which will have a `BookingRef` property. A summary of the request received can be found in the header field at the end of the response.For a detailed explanation of the fields returned, please see below:| Field | Additional Information ||-------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------|| Booking/BookingRef | The reference for the booking, use this reference in all communication with us relating to this booking. || Booking/AgentComm | Commission earned from this booking. || Booking/MoreInfoURL | The URL to GET more information about the booking (view [View Booking Request](../view) for more information). || Booking/Status (Future) | Indicates the current status of the booking (`Pending`, `Confirmed`, `Cancelled`, or `Error`). || Booking/SuggestedPollingInterval (Future) | Specifies the recommended interval in seconds for polling the view booking endpoint. The polling frequency varies based on the product type and supplier. |### Example```json{ \"API_Reply\": { \"Booking\": { \"BookingRef\": \"TBBGNHMT\", \"AgentComm\": \"0.17\", \"VATonComm\": \"0.00\", \"MoreInfoURL\": \"/v1/booking/TBBGNHMT.js\", \"Status\": \"Pending\", \"SuggestedPollingInterval\": 3600 }, \"ATTRIBUTES\": { \"Product\": \"Transfers\", \"RequestCode\": 5, \"Result\": \"OK\" }, \"API_Header\": { \"Request\": { \"key\": \"TEST\", \"token\": \"d2d6dedd-606f-4f00-aa8c-526a358e927c\", \"ABTANumber\": \"TESTL\", \"Password\": \"Redacted\", \"FromDate\": \"2020-08-01\", \"FromTime\": 1255, \"ReturnDate\": \"2020-08-10\", \"ReturnTime\": 1355, \"PickUp\": \"AGP\", \"PickUpType\": \"IATA\", \"DropOff\": 85101062, \"DropOffType\": \"TTI\", \"Adults\": 2, \"Title\": \"MR\", \"FirstName\": \"Test\", \"LastName\": \"Test\", \"Email\": \"test@holidayextras.com\", \"DayPhone\": \"07123456789\", \"Price\": 103.52, \"OutFlight\": \"LS1405\", \"ReturnFlight\": \"LS1406\", \"v\": 1, \"format\": \"js\" } } }}```[^1]: Only required when the location type is `postal-address`.", + "url": "/hxapi/transfers/bkg/" + } + , + + "hxapi-transfers-av": { + "title": "Transfers Availability", + "content": "# Transfers Availability## Availability Request### MethodGET### EndpointThe endpoint to use is:```https://api.holidayextras.com/v1/transfers/search```Here is an example:```https://api.holidayextras.com/v1/transfers/search?token=[TOKEN]&key=[KEY]&ABTANumber=[ABTA]&FromDate=2020-08-01&FromTime=1000&ReturnDate=2020-08-07&ReturnTime=1730&PickUp=AGP&PickUpType=IATA&DropOff=85101062&DropOffType=TTI&OutFlight=U28605&ReturnFlight=U28602&Adults=2```### Request ParametersNB: All parameter names are case sensitive.| 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 | Y* | 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. || token | String | [0-9] 9 chars | Y | Please see [user token endpoint](/hxapi/usertoken) for details of how to generate a token. || PickUpType | String | [A-Z0-9] | Y | The type can either be `IATA`, `TTI`, `GIATA`, `postal-address` or `PC` (Postcode - only available for UK locations) (i.e `PickUpType=IATA`). || PickUp | String | [A-Z0-9] | Y* | The IATA, TTI, GIATA or Postcode (i.e `PickUp=AGP`).Not required for `postal-address` || PickUpName | String | [A-Z0-9] | Y [^1] | The pick up location name. || PickUpAddress[] | String | [A-Z0-9] | Y [^1] | First line of address (house name / number and road) of the destination.If you require more than one address line, then you can replicate this field and increment the number in square brackets, i.e. \"PickUpAddress[1]\" for address line two. Up to a maximum of two address lines. || PickUpTown | String | [A-Z0-9] | Y [^1] | The pick up town name. || PickUpCounty | String | [A-Z0-9] | Y [^1] | The pick up county name. || PickUpPostcode | String | [A-Z0-9] | Y [^1] | The pick up postcode. || PickUpCountryCode | String | [A-Z] 2 chars | Y [^1] | The pick up country code in [ISO 3166-1 alpha-2](https://www.iso.org/iso-3166-country-codes.html) format. || PickUpLongitude | Float | [0-9] | Y [^1] | The pick up location longitude. || PickUpLatitude | Float | [0-9] | Y [^1] | The pick up location latitude. || DropOffType | String | [A-Z0-9] | Y | The type can either be `IATA`, `TTI`, `GIATA`, `postal-address` or `PC` (Postcode - only available for UK locations) (i.e `DropOffType=TTI`). || DropOff | String | [A-Z0-9] | Y* | The IATA, TTI, GIATA or Postcode (i.e `DropOff=85101062`).Not required for `postal-address` || DropOffName | String | [A-Z0-9] | Y [^1] | The drop off location name. || DropOffAddress[] | String | [A-Z0-9] | Y [^1] | First line of address (house name / number and road) of the destination.If you require more than one address line, then you can replicate this field and increment the number in square brackets, i.e. \"DropOffAddress[1]\" for address line two. Up to a maximum of two address lines. || DropOffTown | String | [A-Z0-9] | Y [^1] | The drop off town name. || DropOffCounty | String | [A-Z0-9] | Y [^1] | The drop off county name. || DropOffPostcode | String | [A-Z0-9] | Y [^1] | The drop off postcode. || DropOffCountryCode | String | [A-Z] 2 chars | Y [^1] | The drop off country code in [ISO 3166-1 alpha-2](https://www.iso.org/iso-3166-country-codes.html) format. || DropOffLongitude | Float | [0-9] | Y [^1] | The drop off location longitude. || DropOffLatitude | Float | [0-9] | Y [^1] | The drop off location latitude. || FromDate | Date | YYYY-MM-DD | Y | Flight Arrival Date (`PickUpType` = `IATA`), Flight Departure Date (`DropOffType` = `IATA`), Preferred Date. || FromTime | Time | HHMM | Y | Flight Arrival Time (`PickUpType` = `IATA`), Flight Departure Time (`DropOffType` = `IATA`), Preferred Time. || ReturnDate | Date | YYYY-MM-DD | N | Flight Arrival Date (`DropOffType` = `IATA`), Flight Departure Date (`PickUpType` = `IATA`), Preferred Date. **Required** for return bookings as it is not inferred from flight data; || ReturnTime | Time | HHMM | N | Flight Arrival Time (`DropOffType` = `IATA`), Flight Departure Time (`PickUpType` = `IATA`), Preferred Time. **Required** for return bookings as it is not inferred from flight data; || Adults | Integer | [0-9] | Y | Number of Adults requiring a transfer. || Children | Integer | [0-9] | N | Number of Children requiring a transfer. || Infants | Integer | [0-9] | N | Number of Infants requiring a transfer. || OutFlight | String | [A-Z0-9] | Y* | A flight number is required if the journey involves being picked up or dropped off at an Airport. || ReturnFlight | String | [A-Z0-9] | N* | A flight number is required if the return journey involves being picked up or dropped off at an Airport. |#### Dates and TimesIt's important to note that availability should be requested with accurate dates and times. A good scenario would be if an Airport Transfer is required, where the `PickUp` would be an Airport and the `DropOff` would be a Hotel. The `FromDate` and `FromTime` should be the flight arrival date and time. If a return transfer is requested, then the `ReturnDate` and `ReturnTime` should be the flight departure date and time, our system will calculate an estimated pickup time from the Hotel.## Availability ResponseIf availability has been found for the requested parameters, the response will contain a `Transfers` field with all the nested Transfers available. A summary of the request received can be found in the header field at the end of the response.For a detailed explanation of the fields returned, please see below:| Field | Additional Information ||----------------------------|-------------------------------------------------------------------------------------------------------------|| Transfers/Name | The name of the Transfer. || Transfers/Code | The product code for the transfer, which must be used in the booking request. || Transfers/BookingURL | The URL to POST the booking request to for this particular product. || Transfers/TotalPrice | The total price of the Transfer/s. || Transfers/NonDiscPrice | If a discount has been applied, this is the total price before discount. || Transfers/SalesCurrency | Three character identifier for the sale currency to qualify the price. || Transfers/Images/Src | Link to a image for the product. Prefix with `https:`. || Transfers/Images/Alt | The alt tag for the image. || Transfers/Category | The category assigned to the Transfer/s, for the full list of categories [please see below](/hxapi/transfers/av/#transfer-categories). || Transfers/Disclaimer | Depending on supplier and transfer type, the Disclaimer will contain pickup details. || Transfers/ProviderDetails | Shows the providers name and rating (if applicable). || Transfers/Cancellation | Shows the cancellation period before pickup date/time. || Transfers/VehicleDetails | Details about the vehicle being used for the Transfer/s. || Transfers/OutboundTransfer | Details about the outbound transfer. || Transfers/ReturnTransfer | Details about the return transfer (This field will be `null` if no return was requested). || Transfers/PartnerOwnSupply | Product originates from partner’s own supply. Your account manager will confirm whether you should use this. || Transfers/SupplierCost | Supplier cost for this transfer. Only available for selected products and requests. |#### [Transfer Categories](#transfer-categories)Here are the available categories which may be returned, there will only be one category assigned to each Transfer:- private_adapted_vehicle- private_car- private_coach- private_electric_car- private_excutive_car- private_executive_electric_car- private_helicopter- private_limousine- private_luxury_car- private_minibus- private_minivan- private_sea_plane- private_speed_boat- private_suv- private_water_taxi- shared_express_shuttle- shared_shuttle- shared_water_taxi### Example```json{ \"API_Reply\": { \"ATTRIBUTES\": { \"Product\": \"Transfers\", \"RequestCode\": 1, \"Result\": \"OK\", \"cached\": true, \"expires\": \"2020-07-21 15:20:14\" }, \"Transfers\": [ { \"ATTRIBUTES\": [], \"Name\": \"Shuttle\", \"Code\": \"TBHT39\", \"BookingURL\": \"/v1/transfers/TBHT39.js\", \"MoreInfoURL\": null, \"TotalPrice\": 103.52, \"NonDiscPrice\": 103.52, \"SalesCurrency\": \"GBP\", \"Images\": [ { \"Src\": \"//dmy0b9oeprz0f.cloudfront.net/render/resortTransfers/shuttlebus.jpeg\", \"Alt\": \"shuttlebus\" } ], \"Category\": \"shared_shuttle\", \"Disclaimer\": { \"Title\": null, \"Message\": null }, \"ProviderDetails\": { \"ProviderName\": \"\", \"ProviderRating\": \"\" }, \"Cancellation\": { \"Period\": 72, \"Percentage\": 100, \"Fee\": 0 }, \"VehicleDetails\": { \"MinCapacity\": \"\", \"MaxCapacity\": \"\", \"MinStops\": \"\", \"MaxStops\": \"\", \"Bags\": 1, \"NumberOfVehicles\": 1, \"IsPrivate\": false, \"Supplier\": \"\" }, \"OutboundTransfer\": { \"SupplierRef\": \"\", \"Origin\": \"Málaga Airport\", \"OriginAddress\": \"Málaga Airport, Málaga\", \"OriginIata\": \"AGP\", \"Destination\": \"BlueBay Banús\", \"DestinationAddress\": \"Carretera Cadiz, 29660, Marbella\", \"DestinationIata\": \"\", \"JourneyTime\": 90, \"ArrivalDate\": \"2020-08-01\", \"ArrivalTime\": \"09:00\", \"ReturnDate\": null, \"ReturnTime\": null, \"PickupDate\": \"2020-08-01\", \"PickupTime\": \"09:00\", \"JoiningInstructions\": null, \"ContactNumbers\": null }, \"ReturnTransfer\": { \"SupplierRef\": \"\", \"Origin\": \"BlueBay Banús\", \"OriginAddress\": \"Carretera Cadiz, 29660, Marbella\", \"OriginIata\": \"\", \"Destination\": \"Málaga Airport\", \"DestinationAddress\": \"Málaga Airport, Málaga\", \"DestinationIata\": \"AGP\", \"JourneyTime\": 90, \"ArrivalDate\": null, \"ArrivalTime\": null, \"ReturnDate\": \"2020-08-07\", \"ReturnTime\": \"16:30\", \"PickupDate\": \"2020-08-07\", \"PickupTime\": \"12:30\", \"JoiningInstructions\": null, \"ContactNumbers\": null }, \"advance_purchase\": true, \"PartnerOwnSupply\": false }, { \"ATTRIBUTES\": [], \"Name\": \"Speedy Shuttle\", \"Code\": \"TBHT519\", \"BookingURL\": \"/v1/transfers/TBHT519.js\", \"MoreInfoURL\": null, \"TotalPrice\": 134.8, \"NonDiscPrice\": 134.8, \"SalesCurrency\": \"GBP\", \"Images\": [ { \"Src\": \"//dmy0b9oeprz0f.cloudfront.net/render/resortTransfers/shuttlebus.jpeg\", \"Alt\": \"shuttlebus\" } ], \"Category\": \"speedy_shuttle\", \"Disclaimer\": { \"Title\": null, \"Message\": null }, \"ProviderDetails\": { \"ProviderName\": \"\", \"ProviderRating\": \"\" }, \"Cancellation\": { \"Period\": 72, \"Percentage\": 100, \"Fee\": 0 }, \"VehicleDetails\": { \"MinCapacity\": \"\", \"MaxCapacity\": \"\", \"MinStops\": \"\", \"MaxStops\": \"\", \"Bags\": 1, \"NumberOfVehicles\": 1, \"IsPrivate\": false, \"Supplier\": \"\" }, \"OutboundTransfer\": { \"SupplierRef\": \"\", \"Origin\": \"Málaga Airport\", \"OriginAddress\": \"Málaga Airport, Málaga\", \"OriginIata\": \"AGP\", \"Destination\": \"BlueBay Banús\", \"DestinationAddress\": \"Carretera Cadiz, 29660, Marbella\", \"DestinationIata\": \"\", \"JourneyTime\": 75, \"ArrivalDate\": \"2020-08-01\", \"ArrivalTime\": \"09:00\", \"ReturnDate\": null, \"ReturnTime\": null, \"PickupDate\": \"2020-08-01\", \"PickupTime\": \"09:00\", \"JoiningInstructions\": null, \"ContactNumbers\": null }, \"ReturnTransfer\": { \"SupplierRef\": \"\", \"Origin\": \"BlueBay Banús\", \"OriginAddress\": \"Carretera Cadiz, 29660, Marbella\", \"OriginIata\": \"\", \"Destination\": \"Málaga Airport\", \"DestinationAddress\": \"Málaga Airport, Málaga\", \"DestinationIata\": \"AGP\", \"JourneyTime\": 75, \"ArrivalDate\": null, \"ArrivalTime\": null, \"ReturnDate\": \"2020-08-07\", \"ReturnTime\": \"16:30\", \"PickupDate\": \"2020-08-07\", \"PickupTime\": \"12:45\", \"JoiningInstructions\": null, \"ContactNumbers\": null }, \"advance_purchase\": true, \"PartnerOwnSupply\": false }, { \"ATTRIBUTES\": [], \"Name\": \"Private Car\", \"Code\": \"TBHT43\", \"BookingURL\": \"/v1/transfers/TBHT43.js\", \"MoreInfoURL\": null, \"TotalPrice\": 201.72, \"NonDiscPrice\": 201.72, \"SalesCurrency\": \"GBP\", \"Images\": [ { \"Src\": \"//dmy0b9oeprz0f.cloudfront.net/render/resortTransfers/private_standard.jpeg\", \"Alt\": \"private standard\" } ], \"Category\": \"private_transfer\", \"Disclaimer\": { \"Title\": null, \"Message\": null }, \"ProviderDetails\": { \"ProviderName\": \"\", \"ProviderRating\": \"\" }, \"Cancellation\": { \"Period\": 72, \"Percentage\": 100, \"Fee\": 0 }, \"VehicleDetails\": { \"MinCapacity\": 1, \"MaxCapacity\": 4, \"MinStops\": \"\", \"MaxStops\": \"\", \"Bags\": 4, \"NumberOfVehicles\": 1, \"IsPrivate\": true, \"Supplier\": \"\" }, \"OutboundTransfer\": { \"SupplierRef\": \"\", \"Origin\": \"Málaga Airport\", \"OriginAddress\": \"Málaga Airport, Málaga\", \"OriginIata\": \"AGP\", \"Destination\": \"BlueBay Banús\", \"DestinationAddress\": \"Carretera Cadiz, 29660, Marbella\", \"DestinationIata\": \"\", \"JourneyTime\": 60, \"ArrivalDate\": \"2020-08-01\", \"ArrivalTime\": \"09:00\", \"ReturnDate\": null, \"ReturnTime\": null, \"PickupDate\": \"2020-08-01\", \"PickupTime\": \"09:00\", \"JoiningInstructions\": null, \"ContactNumbers\": null }, \"ReturnTransfer\": { \"SupplierRef\": \"\", \"Origin\": \"BlueBay Banús\", \"OriginAddress\": \"Carretera Cadiz, 29660, Marbella\", \"OriginIata\": \"\", \"Destination\": \"Málaga Airport\", \"DestinationAddress\": \"Málaga Airport, Málaga\", \"DestinationIata\": \"AGP\", \"JourneyTime\": 60, \"ArrivalDate\": null, \"ArrivalTime\": null, \"ReturnDate\": \"2020-08-07\", \"ReturnTime\": \"16:30\", \"PickupDate\": \"2020-08-07\", \"PickupTime\": \"13:00\", \"JoiningInstructions\": null, \"ContactNumbers\": null }, \"advance_purchase\": true, \"PartnerOwnSupply\": false }, { \"ATTRIBUTES\": [], \"Name\": \"Private Executive Car\", \"Code\": \"TBHT18\", \"BookingURL\": \"/v1/transfers/TBHT18.js\", \"MoreInfoURL\": null, \"TotalPrice\": 291.86, \"NonDiscPrice\": 291.86, \"SalesCurrency\": \"GBP\", \"Images\": [ { \"Src\": \"//dmy0b9oeprz0f.cloudfront.net/render/resortTransfers/private_luxury.jpeg\", \"Alt\": \"private luxury\" } ], \"Category\": \"private_executive\", \"Disclaimer\": { \"Title\": null, \"Message\": null }, \"ProviderDetails\": { \"ProviderName\": \"\", \"ProviderRating\": \"\" }, \"Cancellation\": { \"Period\": 72, \"Percentage\": 100, \"Fee\": 0 }, \"VehicleDetails\": { \"MinCapacity\": 1, \"MaxCapacity\": 4, \"MinStops\": \"\", \"MaxStops\": \"\", \"Bags\": 4, \"NumberOfVehicles\": 1, \"IsPrivate\": true, \"Supplier\": \"\" }, \"OutboundTransfer\": { \"SupplierRef\": \"\", \"Origin\": \"Málaga Airport\", \"OriginAddress\": \"Málaga Airport, Málaga\", \"OriginIata\": \"AGP\", \"Destination\": \"BlueBay Banús\", \"DestinationAddress\": \"Carretera Cadiz, 29660, Marbella\", \"DestinationIata\": \"\", \"JourneyTime\": 60, \"ArrivalDate\": \"2020-08-01\", \"ArrivalTime\": \"09:00\", \"ReturnDate\": null, \"ReturnTime\": null, \"PickupDate\": \"2020-08-01\", \"PickupTime\": \"09:00\", \"JoiningInstructions\": null, \"ContactNumbers\": null }, \"ReturnTransfer\": { \"SupplierRef\": \"\", \"Origin\": \"BlueBay Banús\", \"OriginAddress\": \"Carretera Cadiz, 29660, Marbella\", \"OriginIata\": \"\", \"Destination\": \"Málaga Airport\", \"DestinationAddress\": \"Málaga Airport, Málaga\", \"DestinationIata\": \"AGP\", \"JourneyTime\": 60, \"ArrivalDate\": null, \"ArrivalTime\": null, \"ReturnDate\": \"2020-08-07\", \"ReturnTime\": \"16:30\", \"PickupDate\": \"2020-08-07\", \"PickupTime\": \"13:00\", \"JoiningInstructions\": null, \"ContactNumbers\": null }, \"advance_purchase\": true, \"PartnerOwnSupply\": false }, { \"ATTRIBUTES\": [], \"Name\": \"Private Minibus\", \"Code\": \"TBHT2\", \"BookingURL\": \"/v1/transfers/TBHT2.js\", \"MoreInfoURL\": null, \"TotalPrice\": 295.32, \"NonDiscPrice\": 295.32, \"SalesCurrency\": \"GBP\", \"Images\": [ { \"Src\": \"//dmy0b9oeprz0f.cloudfront.net/render/resortTransfers/private_standard.jpeg\", \"Alt\": \"private standard\" } ], \"Category\": \"private_minibus\", \"Disclaimer\": { \"Title\": null, \"Message\": null }, \"ProviderDetails\": { \"ProviderName\": \"\", \"ProviderRating\": \"\" }, \"Cancellation\": { \"Period\": 72, \"Percentage\": 100, \"Fee\": 0 }, \"VehicleDetails\": { \"MinCapacity\": 5, \"MaxCapacity\": 8, \"MinStops\": \"\", \"MaxStops\": \"\", \"Bags\": 8, \"NumberOfVehicles\": 1, \"IsPrivate\": true, \"Supplier\": \"\" }, \"OutboundTransfer\": { \"SupplierRef\": \"\", \"Origin\": \"Málaga Airport\", \"OriginAddress\": \"Málaga Airport, Málaga\", \"OriginIata\": \"AGP\", \"Destination\": \"BlueBay Banús\", \"DestinationAddress\": \"Carretera Cadiz, 29660, Marbella\", \"DestinationIata\": \"\", \"JourneyTime\": 60, \"ArrivalDate\": \"2020-08-01\", \"ArrivalTime\": \"09:00\", \"ReturnDate\": null, \"ReturnTime\": null, \"PickupDate\": \"2020-08-01\", \"PickupTime\": \"09:00\", \"JoiningInstructions\": null, \"ContactNumbers\": null }, \"ReturnTransfer\": { \"SupplierRef\": \"\", \"Origin\": \"BlueBay Banús\", \"OriginAddress\": \"Carretera Cadiz, 29660, Marbella\", \"OriginIata\": \"\", \"Destination\": \"Málaga Airport\", \"DestinationAddress\": \"Málaga Airport, Málaga\", \"DestinationIata\": \"AGP\", \"JourneyTime\": 60, \"ArrivalDate\": null, \"ArrivalTime\": null, \"ReturnDate\": \"2020-08-07\", \"ReturnTime\": \"16:30\", \"PickupDate\": \"2020-08-07\", \"PickupTime\": \"13:00\", \"JoiningInstructions\": null, \"ContactNumbers\": null }, \"advance_purchase\": true, \"PartnerOwnSupply\": false } ], \"Pricing\": {}, \"SepaID\": \"\", \"API_Header\": { \"Request\": { \"ABTANumber\": \"YourABTANumber\", \"Password\": \"YourPassword\", \"Initials\": \"YourInitials\", \"key\": \"YourKey\", \"token\": \"YourToken\", \"FromDate\": \"2020-08-01\", \"FromTime\": 1000, \"ReturnDate\": \"2020-08-07\", \"ReturnTime\": 1730, \"PickUp\": \"AGP\", \"PickUpType\": \"IATA\", \"DropOff\": 85101062, \"DropOffType\": \"TTI\", \"OutFlight\": \"U28605\", \"ReturnFlight\": \"U28602\", \"Adults\": 2, \"v\": 1, \"format\": \"js\" } } }}```### Worked ExamplesBelow are some worked examples of both the request and response when requesting transfers availability.#### Airport to GIATA##### Request{% codetabs %}{% codetab XML %}```https:///api.holidayextras.com/v1/transfers/search?ABTANumber=YourABTANumber&Password=YourABTANumber&Initials=YourInitials&key=YourKey&token=YourToken&PickUp=ALC&PickUpType=IATA&DropOffType=GIATA&DropOff=439771&FromDate=2022-03-16&FromTime=1115&ReturnDate=2022-03-23&ReturnTime=1115&Adults=2&OutFlight=U28605&ReturnFlight=U28602```{% endcodetab %}{% codetab JSON %}```https:///api.holidayextras.com/v1/transfers/search.js?ABTANumber=YourABTANumber&Password=YourABTANumber&Initials=YourInitials&key=YourKey&token=YourToken&PickUp=ALC&PickUpType=IATA&DropOffType=GIATA&DropOff=439771&FromDate=2022-03-16&FromTime=1115&ReturnDate=2022-03-23&ReturnTime=1115&Adults=2&OutFlight=U28605&ReturnFlight=U28602```Note the `.js` extension.{% endcodetab %}{% endcodetabs %}##### ResponseNB: This is a shortened example compiled from a full availability response.{% codetabs %}{% codetab XML %}```xml Private Standard Car TBHT1169922 /transfers/TBHT1169922 87.96 87.96 GBP //dmy0b9oeprz0f.cloudfront.net/render/resortTransfers/private_standard.jpeg private standard private_transfer 72 100 0 1 4 4 1 true Alicante International Airport (Benidorm) Alicante International Airport (Benidorm), Alicante ALC Hotel Rural Castillo De Biar s/n, Carretera de Banyeres, 03410, Biar 60 16/03/2022 11:15 16/03/2022 11:15 Hotel Rural Castillo De Biar s/n, Carretera de Banyeres, 03410, Biar Alicante International Airport (Benidorm) Alicante International Airport (Benidorm), Alicante ALC 60 23/03/2022 11:15 23/03/2022 07:45 1 false YourABTANumber YourPassword YourInitials YourKey YourToken ALC IATA GIATA 439771 2022-03-16 1115 2022-03-23 1115 2 U28605 U28602 ```{% endcodetab %}{% codetab JSON %}```json{ \"API_Reply\": { \"ATTRIBUTES\": { \"Product\": \"Transfers\", \"RequestCode\": 1, \"Result\": \"OK\", \"cached\": true, \"expires\": \"2021-12-07 14:50:30\" }, \"Transfers\": [ { \"ATTRIBUTES\": [], \"Name\": \"Private Standard Car\", \"Code\": \"TBHT1169922\", \"BookingURL\": \"/transfers/TBHT1169922.js\", \"MoreInfoURL\": null, \"TotalPrice\": 87.96, \"NonDiscPrice\": 87.96, \"SalesCurrency\": \"GBP\", \"Images\": [ { \"Src\": \"//dmy0b9oeprz0f.cloudfront.net/render/resortTransfers/private_standard.jpeg\", \"Alt\": \"private standard\" } ], \"Category\": \"private_transfer\", \"Disclaimer\": { \"Title\": null, \"Message\": null }, \"ProviderDetails\": { \"ProviderName\": \"\", \"ProviderRating\": \"\" }, \"Cancellation\": { \"Period\": 72, \"Percentage\": 100, \"Fee\": 0 }, \"VehicleDetails\": { \"MinCapacity\": 1, \"MaxCapacity\": 4, \"MinStops\": \"\", \"MaxStops\": \"\", \"Bags\": 4, \"NumberOfVehicles\": 1, \"IsPrivate\": true, \"Supplier\": \"\", \"Make\": \"\" }, \"OutboundTransfer\": { \"SupplierRef\": \"\", \"Origin\": \"Alicante International Airport (Benidorm)\", \"OriginAddress\": \"Alicante International Airport (Benidorm), Alicante\", \"OriginIata\": \"ALC\", \"Destination\": \"Hotel Rural Castillo De Biar\", \"DestinationAddress\": \"s/n, Carretera de Banyeres, 03410, Biar\", \"DestinationIata\": \"\", \"JourneyTime\": 60, \"DepartureDate\": null, \"DepartureTime\": null, \"ArrivalDate\": \"2022-03-16\", \"ArrivalTime\": \"11:15\", \"ReturnDate\": null, \"ReturnTime\": null, \"PickupDate\": \"2022-03-16\", \"PickupTime\": \"11:15\", \"JoiningInstructions\": null, \"ContactNumbers\": null }, \"ReturnTransfer\": { \"SupplierRef\": \"\", \"Origin\": \"Hotel Rural Castillo De Biar\", \"OriginAddress\": \"s/n, Carretera de Banyeres, 03410, Biar\", \"OriginIata\": \"\", \"Destination\": \"Alicante International Airport (Benidorm)\", \"DestinationAddress\": \"Alicante International Airport (Benidorm), Alicante\", \"DestinationIata\": \"ALC\", \"JourneyTime\": 60, \"DepartureDate\": null, \"DepartureTime\": null, \"ArrivalDate\": null, \"ArrivalTime\": null, \"ReturnDate\": \"2022-03-23\", \"ReturnTime\": \"11:15\", \"PickupDate\": \"2022-03-23\", \"PickupTime\": \"07:45\", \"JoiningInstructions\": null, \"ContactNumbers\": null }, \"advance_purchase\": true, \"PartnerOwnSupply\": false }, ], \"Pricing\": {}, \"SepaID\": \"\", \"API_Header\": { \"Request\": { \"ABTANumber\": \"YourABTANumber\", \"Password\": \"YourPassword\", \"Initials\": \"YourInitials\", \"key\": \"YourKey\", \"token\": \"YourToken\", \"PickUp\": \"ALC\", \"PickUpType\": \"IATA\", \"DropOffType\": \"GIATA\", \"DropOff\": 439771, \"FromDate\": \"2022-03-16\", \"FromTime\": 1115, \"ReturnDate\": \"2022-03-23\", \"ReturnTime\": 1115, \"Adults\": 2, \"OutFlight\": \"U28605\", \"ReturnFlight\": \"U28602\", \"format\": \"js\" } } }}```{% endcodetab %}{% endcodetabs %}#### Airport to TTI##### Request{% codetabs %}{% codetab XML %}```https:///api.holidayextras.com/v1/transfers/search?ABTANumber=YourABTANumber&Password=YourABTANumber&Initials=YourInitials&key=YourKey&token=YourToken&PickUp=ALC&PickUpType=IATA&DropOffType=TTI&DropOff=10147575&FromDate=2022-03-16&FromTime=1115&ReturnDate=2022-03-23&ReturnTime=1115&Adults=2&OutFlight=U28605&ReturnFlight=U28602```{% endcodetab %}{% codetab JSON %}```https:///api.holidayextras.com/v1/transfers/search.js?ABTANumber=YourABTANumber&Password=YourABTANumber&Initials=YourInitials&key=YourKey&token=YourToken&PickUp=ALC&PickUpType=IATA&DropOffType=TTI&DropOff=10147575&FromDate=2022-03-16&FromTime=1115&ReturnDate=2022-03-23&ReturnTime=1115&Adults=2&OutFlight=U28605&ReturnFlight=U28602```Note the `.js` extension.{% endcodetab %}{% endcodetabs %}##### ResponseNB: This is a shortened example compiled from a full availability response.{% codetabs %}{% codetab XML %}```xml Private Standard Car TBHT1169922 /transfers/TBHT1169922 87.96 87.96 GBP //dmy0b9oeprz0f.cloudfront.net/render/resortTransfers/private_standard.jpeg private standard private_transfer 72 100 0 1 4 4 1 true Alicante International Airport (Benidorm) Alicante International Airport (Benidorm), Alicante ALC Hotel Rural Castillo De Biar s/n, Carretera de Banyeres, 03410, Biar 60 16/03/2022 11:15 16/03/2022 11:15 Hotel Rural Castillo De Biar s/n, Carretera de Banyeres, 03410, Biar Alicante International Airport (Benidorm) Alicante International Airport (Benidorm), Alicante ALC 60 23/03/2022 11:15 23/03/2022 07:45 1 false YourABTANumber YourPassword YourInitials YourKey YourToken ALC IATA TTI 10147575 2022-03-16 1115 2022-03-23 1115 2 U28605 U28602 ```{% endcodetab %}{% codetab JSON %}```json{ \"API_Reply\": { \"ATTRIBUTES\": { \"Product\": \"Transfers\", \"RequestCode\": 1, \"Result\": \"OK\", \"cached\": true, \"expires\": \"2021-12-07 14:50:30\" }, \"Transfers\": [ { \"ATTRIBUTES\": [], \"Name\": \"Private Standard Car\", \"Code\": \"TBHT1169922\", \"BookingURL\": \"/transfers/TBHT1169922.js\", \"MoreInfoURL\": null, \"TotalPrice\": 87.96, \"NonDiscPrice\": 87.96, \"SalesCurrency\": \"GBP\", \"Images\": [ { \"Src\": \"//dmy0b9oeprz0f.cloudfront.net/render/resortTransfers/private_standard.jpeg\", \"Alt\": \"private standard\" } ], \"Category\": \"private_transfer\", \"Disclaimer\": { \"Title\": null, \"Message\": null }, \"ProviderDetails\": { \"ProviderName\": \"\", \"ProviderRating\": \"\" }, \"Cancellation\": { \"Period\": 72, \"Percentage\": 100, \"Fee\": 0 }, \"VehicleDetails\": { \"MinCapacity\": 1, \"MaxCapacity\": 4, \"MinStops\": \"\", \"MaxStops\": \"\", \"Bags\": 4, \"NumberOfVehicles\": 1, \"IsPrivate\": true, \"Supplier\": \"\", \"Make\": \"\" }, \"OutboundTransfer\": { \"SupplierRef\": \"\", \"Origin\": \"Alicante International Airport (Benidorm)\", \"OriginAddress\": \"Alicante International Airport (Benidorm), Alicante\", \"OriginIata\": \"ALC\", \"Destination\": \"Hotel Rural Castillo De Biar\", \"DestinationAddress\": \"s/n, Carretera de Banyeres, 03410, Biar\", \"DestinationIata\": \"\", \"JourneyTime\": 60, \"DepartureDate\": null, \"DepartureTime\": null, \"ArrivalDate\": \"2022-03-16\", \"ArrivalTime\": \"11:15\", \"ReturnDate\": null, \"ReturnTime\": null, \"PickupDate\": \"2022-03-16\", \"PickupTime\": \"11:15\", \"JoiningInstructions\": null, \"ContactNumbers\": null }, \"ReturnTransfer\": { \"SupplierRef\": \"\", \"Origin\": \"Hotel Rural Castillo De Biar\", \"OriginAddress\": \"s/n, Carretera de Banyeres, 03410, Biar\", \"OriginIata\": \"\", \"Destination\": \"Alicante International Airport (Benidorm)\", \"DestinationAddress\": \"Alicante International Airport (Benidorm), Alicante\", \"DestinationIata\": \"ALC\", \"JourneyTime\": 60, \"DepartureDate\": null, \"DepartureTime\": null, \"ArrivalDate\": null, \"ArrivalTime\": null, \"ReturnDate\": \"2022-03-23\", \"ReturnTime\": \"11:15\", \"PickupDate\": \"2022-03-23\", \"PickupTime\": \"07:45\", \"JoiningInstructions\": null, \"ContactNumbers\": null }, \"advance_purchase\": true, \"PartnerOwnSupply\": false }, ], \"Pricing\": {}, \"SepaID\": \"\", \"API_Header\": { \"Request\": { \"ABTANumber\": \"YourABTANumber\", \"Password\": \"YourPassword\", \"Initials\": \"YourInitials\", \"key\": \"YourKey\", \"token\": \"YourToken\", \"PickUp\": \"ALC\", \"PickUpType\": \"IATA\", \"DropOffType\": \"TTI\", \"DropOff\": 10147575, \"FromDate\": \"2022-03-16\", \"FromTime\": 1115, \"ReturnDate\": \"2022-03-23\", \"ReturnTime\": 1115, \"Adults\": 2, \"OutFlight\": \"U28605\", \"ReturnFlight\": \"U28602\", \"format\": \"js\" } } }}```{% endcodetab %}{% endcodetabs %}#### Airport to Postal Address##### Request{% codetabs %}{% codetab XML %}```https:///api.holidayextras.com/v1/transfers/search?ABTANumber=YourABTANumber&Password=YourABTANumber&Initials=YourInitials&key=YourKey&token=YourToken&PickUp=ALC&PickUpType=IATA&DropOffType=postal-address&DropOffName=Hotel%20Rural%20Castillo%20De%20Biar&DropOffAddress[0]=Carretera%20de%20Banyeres&DropOffAddress[1]=s/n&DropOffTown=%20Biar&DropOffCounty=Alicante&DropOffPostcode=03410&DropOffCountryCode=ES&DropOffLongitude=-0.76832006&DropOffLatitude=38.63852215&Adults=2&FromDate=2022-03-16&FromTime=1115&ReturnDate=2022-03-23&ReturnTime=1115&OutFlight=U28605&ReturnFlight=U28602```{% endcodetab %}{% codetab JSON %}```https:///api.holidayextras.com/v1/transfers/search.js?ABTANumber=YourABTANumber&Password=YourABTANumber&Initials=YourInitials&key=YourKey&token=YourToken&PickUp=ALC&PickUpType=IATA&DropOffType=postal-address&DropOffName=Hotel%20Rural%20Castillo%20De%20Biar&DropOffAddress[0]=Carretera%20de%20Banyeres&DropOffAddress[1]=s/n&DropOffTown=%20Biar&DropOffCounty=Alicante&DropOffPostcode=03410&DropOffCountryCode=ES&DropOffLongitude=-0.76832006&DropOffLatitude=38.63852215&Adults=2&FromDate=2022-03-16&FromTime=1115&ReturnDate=2022-03-23&ReturnTime=1115&OutFlight=U28605&ReturnFlight=U28602```Note the `.js` extension.{% endcodetab %}{% endcodetabs %}##### ResponseNB: This is a shortened example compiled from a full availability response.{% codetabs %}{% codetab XML %}```xml Private Standard Car TBHT1169922 /transfers/TBHT1169922 87.96 87.96 GBP //dmy0b9oeprz0f.cloudfront.net/render/resortTransfers/private_standard.jpeg private standard private_transfer 72 100 0 1 4 4 1 true Alicante International Airport (Benidorm) Alicante International Airport (Benidorm), Alicante ALC Hotel Rural Castillo De Biar Hotel Rural Castillo De Biar, Carretera de Banyeres, s/n, Biar, Alicante, 03410, ES 60 16/03/2022 11:15 16/03/2022 11:15 Hotel Rural Castillo De Biar Hotel Rural Castillo De Biar, Carretera de Banyeres, s/n, Biar, Alicante, 03410, ES Alicante International Airport (Benidorm) Alicante International Airport (Benidorm), Alicante ALC 60 23/03/2022 11:15 23/03/2022 07:45 1 false YourABTANumber YourPassword YourInitials YourKey YourToken ALC IATA postal-address Hotel Rural Castillo De Biar Carretera de Banyeres s/n Biar Alicante 03410 ES -0.76832006 38.63852215 2022-03-16 1115 2022-03-23 1115 2 U28605 U28602 ```{% endcodetab %}{% codetab JSON %}```json{ \"API_Reply\": { \"ATTRIBUTES\": { \"Product\": \"Transfers\", \"RequestCode\": 1, \"Result\": \"OK\", \"cached\": true, \"expires\": \"2021-12-07 16:26:43\" }, \"Transfers\": [ { \"ATTRIBUTES\": [], \"Name\": \"Private Standard Car\", \"Code\": \"TBHT1169922\", \"BookingURL\": \"/transfers/TBHT1169922.js\", \"MoreInfoURL\": null, \"TotalPrice\": 87.96, \"NonDiscPrice\": 87.96, \"SalesCurrency\": \"GBP\", \"Images\": [{ \"Src\": \"//dmy0b9oeprz0f.cloudfront.net/render/resortTransfers/private_standard.jpeg\", \"Alt\": \"private standard\" }], \"Category\": \"private_transfer\", \"Disclaimer\": { \"Title\": null, \"Message\": null }, \"ProviderDetails\": { \"ProviderName\": \"\", \"ProviderRating\": \"\" }, \"Cancellation\": { \"Period\": 72, \"Percentage\": 100, \"Fee\": 0 }, \"VehicleDetails\": { \"MinCapacity\": 1, \"MaxCapacity\": 4, \"MinStops\": \"\", \"MaxStops\": \"\", \"Bags\": 4, \"NumberOfVehicles\": 1, \"IsPrivate\": true, \"Supplier\": \"\", \"Make\": \"\" }, \"OutboundTransfer\": { \"SupplierRef\": \"\", \"Origin\": \"Alicante International Airport (Benidorm)\", \"OriginAddress\": \"Alicante International Airport (Benidorm), Alicante\", \"OriginIata\": \"ALC\", \"Destination\": \"Hotel Rural Castillo De Biar\", \"DestinationAddress\": \"Hotel Rural Castillo De Biar, Carretera de Banyeres, s/n, Biar, Alicante, 03410, ES\", \"DestinationIata\": \"\", \"JourneyTime\": 60, \"DepartureDate\": null, \"DepartureTime\": null, \"ArrivalDate\": \"2022-03-16\", \"ArrivalTime\": \"11:15\", \"ReturnDate\": null, \"ReturnTime\": null, \"PickupDate\": \"2022-03-16\", \"PickupTime\": \"11:15\", \"JoiningInstructions\": null, \"ContactNumbers\": null }, \"ReturnTransfer\": { \"SupplierRef\": \"\", \"Origin\": \"Hotel Rural Castillo De Biar\", \"OriginAddress\": \"Hotel Rural Castillo De Biar, Carretera de Banyeres, s/n, Biar, Alicante, 03410, ES\", \"OriginIata\": \"\", \"Destination\": \"Alicante International Airport (Benidorm)\", \"DestinationAddress\": \"Alicante International Airport (Benidorm), Alicante\", \"DestinationIata\": \"ALC\", \"JourneyTime\": 60, \"DepartureDate\": null, \"DepartureTime\": null, \"ArrivalDate\": null, \"ArrivalTime\": null, \"ReturnDate\": \"2022-03-23\", \"ReturnTime\": \"11:15\", \"PickupDate\": \"2022-03-23\", \"PickupTime\": \"07:45\", \"JoiningInstructions\": null, \"ContactNumbers\": null }, \"advance_purchase\": true, \"PartnerOwnSupply\": false } ], \"Pricing\": {}, \"SepaID\": \"\", \"API_Header\": { \"Request\": { \"ABTANumber\": \"YourABTANumber\", \"Password\": \"YourPassword\", \"Initials\": \"YourInitials\", \"key\": \"YourKey\", \"token\": \"YourToken\", \"PickUp\": \"ALC\", \"PickUpType\": \"IATA\", \"DropOffType\": \"postal-address\", \"DropOffName\": \"Hotel Rural Castillo De Biar\", \"DropOffAddress\": [ \"Carretera de Banyeres\", \"s/n\" ], \"DropOffTown\": \" Biar\", \"DropOffCounty\": \"Alicante\", \"DropOffPostcode\": \"03410\", \"DropOffCountryCode\": \"ES\", \"DropOffLongitude\": -0.76832006, \"DropOffLatitude\": 38.63852215, \"FromDate\": \"2022-03-16\", \"FromTime\": 1115, \"ReturnDate\": \"2022-03-23\", \"ReturnTime\": 1115, \"Adults\": 2, \"OutFlight\": \"U28605\", \"ReturnFlight\": \"U28602\", \"format\": \"js\" } } }}```{% endcodetab %}{% endcodetabs %}[^1]: Only required when the location type is `postal-address`.", + "url": "/hxapi/transfers/av/" + } + , + + "hxapi-transfers": { + "title": "Transfers", + "content": "# Transfers[API Docs](/hxapi/) > product:[Transfers](index)## Transfer EndpointsWhen using the Transfer endpoints below, you will be able to search using various types of location data which will represent the transfers pickup and dropoff points. Currently, the API will accept IATA Codes, TTI Codes and Postcodes (Postcodes can be used for UK Transfers).You will need a token to call the api. To get the user token use the existing endpoint: [Get Token](https://docs.holidayextras.co.uk/hxapi/usertoken/).For the complete API specification, see the [OpenAPI schema](https://api.holidayextras.com/v1/transfers/openapi.yml). | Action | Endpoint | Method | | ------ | -------- | ------ | | Availability | [https://api.holidayextras.com/v1/transfers/search](av) | GET | | Make Booking | [https://api.holidayextras.com/v1/transfers/[TransferCode]](bkg) | POST | | View Booking | [https://api.holidayextras.com/v1/transfers/booking/[BookingRef]](view) | GET | | Cancel Booking | [https://api.holidayextras.com/v1/transfers/booking/[BookingRef]](cancel) | DELETE | | Cancellation Policy | [https://api.holidayextras.com/v1/transfers/[BookingRef]/cancellation-policy](cancellation-policy) | GET | | Amend Booking | not supported | - |", + "url": "/hxapi/transfers/" + } + , + "hxapi": { "title": "Detailed Guides", "content": "# Detailed Guides[API Docs](/hxapi/) > index## Product GuidesPlease check the table below for details of which products are available in each region.|Product Endpoints|UK|Europe||-----------------|--|------||[Parking](/hxapi/parking)|Yes|Yes||[Hotels](/hxapi/hotel)|Yes|Yes||[Lounges](/hxapi/lounge)|Yes|Yes||[FastTrack](/hxapi/fasttrack)|Yes|No||[Transfers](/hxapi/transfers)|Yes|Yes|## Non-Product Specific GuidesThese endpoints are not product-specific. Please check the table below for details of which endpoints are available for each region.|Generic Endpoints|UK|Europe||-----------------|--|------||[User token](/hxapi/usertoken)|Yes|Yes||[Location](/hxapi/locations)|Yes|Yes||[Terminal](/hxapi/terminal)|Yes|No||[Barcode / QRCode](/hxapi/barcode)|Yes|No||[Product library](/hxapi/productlibrary)|Yes|Yes||[Managing a booking](/hxapi/viewamendcancel)|Yes|Yes||[Update a booking's flight](/hxapi/flightUpdate)|Yes|No||[Bundles](/hxapi/bundles)|Yes|No||[Upgrade Availability](/hxapi/upgrade)|Yes|No## \"DE-Start\" Product GuidesThis documentation relates to an existing integration with a partner in Germany. It is included here for reference only, and is not to be used or considered for new partner integrations.|Product Endpoints|UK|Europe||-----------------|--|------||[DE-Start](/hxapi/de-start)|No|Yes|## ReferenceLists of conventions used in this API.* [API Errors](/hxapi/reference/errors)* [Titles](/hxapi/reference/titles)", @@ -402,7 +402,7 @@ "payment-gateway-v2-pay": { "title": "Payment Gateway: Pay", - "content": "# Payment Gateway: Pay[API Docs](/) > [Payment Gateway](/payment-gateway/) > [Pay](/payment-gateway/v2/pay)## Payment RequestThis endpoint will take payment using a token and required payment parameters.**Note**: Token payment is currently available for Level 5 Germany agents only.**Note**: We have added postalCode and countryCode as NatWest have started refusing payments without this information.### MethodPOST### EndpointTo make a payment, the endpoint to use is:```https://payment-gateway.holidayextras.co.uk/pay```### Request Headers| Name | Data Type | Format | Mandatory? | Additional Information || ---- | --------- | ------ | ---------- | ---------------------- || Content-Type | String | `application/json` | Y | This should always be `application/json` || Authorization | String | `Basic dXNlcm5hbWU6cGFzc3dvcmQ=` | Y | Base64 encoded string for the `username:password` credentials which will be created and provided to you. This header is required with every request.|| Accept | String | `application/vnd.holidayextras.v2+json` | N | To use a different version please provide a different value. |### Request ParametersNB: All parameter names are case sensitive. | Name | Data Type | Format | Mandatory? | Additional Information | | ---- | --------- | ------ | ---------- | ---------------------- | | channel | String | [A-Z] | Y | This will be supplied with your authentication credentials. | | paymentId | String | [0-9A-Z]{16} | N | A unique ID to be used when making the payment. This cannot already exist otherwise payment will fail. If this is not supplied, then one will be generated for this payment and returned as part of the result. | | token | String | [0-9] | Y | A tokenised card to make the payment against. This needs to exist already, otherwise payment will fail. | | paymentReference | String | [A-Z] | Y | A reference used to group multiple payments together, doesn't need to be unique. | | amount | Integer | [0-9] | Y | The price (in pence) to be paid. | | currency | String | [A-Z]{3} | Y | ISO 4217 standard currency code for the currency of this payment | | postalCode | String | [A-Z0-9] | N | The postal code for the payment's billing address. | | countryCode | String | [A-Z]{2} | N | ISO 3166-1 alpha-2 standard country code for the billing address. |## Payment ResponseFor a detailed explanation of the fields returned, please see below: | Field | Additional Information | | ----- | ---------------------- | | amount | The amount that has been paid | | status | The status of the payment | | error | The error if the payment fails |## ExamplesBelow are examples of both the request and response for a new payment.### Payment Request**POST** `https://payment-gateway.holidayextras.co.uk/pay`**HEADERS** `Content-Type: application/json` `Accept: application/vnd.holidayextras.v2+json` `Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=````{ \"channel\": \"channel\", \"token\": \"4111111111111111\", \"paymentReference\": \"testPaymentRef\", \"amount\": 1234, \"currency\": \"GBP\", \"postalCode\": \"CT21 4JF\", \"countryCode\": \"GB\"}```### Payment Response#### Successful payment```{ \"amount\": 12.34, \"id\": \"testPaymentId\", \"status\": \"SUCCESS\"}```#### Failed payment```{ \"amount\": 12.34, \"status\": \"FAIL\", \"error\": \"Failed to make payment\"}```", + "content": "# Payment Gateway: Pay[API Docs](/) > [Payment Gateway](/payment-gateway/) > [Pay](/payment-gateway/v2/pay)## Payment RequestThis endpoint will take payment using a token and required payment parameters.**Note**: Token payment is currently available for Level 5 Germany agents only.**Note**: We have added postalCode and countryCode as NatWest have started refusing payments without this information.### MethodPOST### EndpointTo make a payment, the endpoint to use is:```https://payment-gateway.holidayextras.co.uk/pay```### Request Headers| Name | Data Type | Format | Mandatory? | Additional Information || ---- | --------- | ------ | ---------- | ---------------------- || Content-Type | String | `application/json` | Y | This should always be `application/json` || Authorization | String | `Basic dXNlcm5hbWU6cGFzc3dvcmQ=` | Y | Base64 encoded string for the `username:password` credentials which will be created and provided to you. This header is required with every request.|| Accept | String | `application/vnd.holidayextras.v2+json` | N | To use a different version please provide a different value. |### Request ParametersNB: All parameter names are case sensitive. | Name | Data Type | Format | Mandatory? | Additional Information | | ---- | --------- | ------ | ---------- | ---------------------- | | channel | String | [A-Z] | Y | This will be supplied with your authentication credentials. | | paymentId | String | [0-9A-Z]{16} | N | A unique ID to be used when making the payment. This cannot already exist otherwise payment will fail. If this is not supplied, then one will be generated for this payment and returned as part of the result. | | token | String | [0-9] | Y | A tokenised card to make the payment against. This needs to exist already, otherwise payment will fail. | | paymentReference | String | [A-Z] | Y | A reference used to group multiple payments together, doesn't need to be unique. | | amount | Integer | [0-9] | Y | The price (in pence) to be paid. | | currency | String | [A-Z]{3} | Y | ISO 4217 standard currency code for the currency of this payment | | postalCode | String | [A-Z0-9] | N | The postal code for the payment's billing address. | | countryCode | String | [A-Z]{2} | N | ISO 3166-1 alpha-2 standard country code for the billing address. | | merchantInitiatedReason | String | ENUM (recurring, instalment, unscheduled) | N | Either the merchant initiated reason for this transaction or the reason for future merchant initiated transactions |## Payment ResponseFor a detailed explanation of the fields returned, please see below: | Field | Additional Information | | ----- | ---------------------- | | amount | The amount that has been paid | | status | The status of the payment | | error | The error if the payment fails |## ExamplesBelow are examples of both the request and response for a new payment.### Payment Request**POST** `https://payment-gateway.holidayextras.co.uk/pay`**HEADERS** `Content-Type: application/json` `Accept: application/vnd.holidayextras.v2+json` `Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=`Simple customer initiated transaction```{ \"channel\": \"channel\", \"token\": \"4111111111111111\", \"paymentReference\": \"testPaymentRef\", \"amount\": 1234, \"currency\": \"GBP\", \"postalCode\": \"CT21 4JF\", \"countryCode\": \"GB\"}```Merchant initiated transaction (such as an yearly renewal)```{ \"channel\": \"channel\", \"token\": \"4111111111111111\", \"paymentReference\": \"testPaymentRef\", \"amount\": 1234, \"currency\": \"GBP\", \"postalCode\": \"CT21 4JF\", \"countryCode\": \"GB\", \"merchantInitiatedReason\": \"recurring\"}```### Payment Response#### Successful payment```{ \"amount\": 12.34, \"id\": \"testPaymentId\", \"status\": \"SUCCESS\"}```#### Failed payment```{ \"amount\": 12.34, \"status\": \"FAIL\", \"error\": \"Failed to make payment\"}```", "url": "/payment-gateway/v2/pay/" } , @@ -505,13 +505,6 @@ } , - "hxapi-transfers-view": { - "title": "Transfers View Booking", - "content": "# Transfers View Booking## Important Notes- This endpoint provides comprehensive booking details including journey information, contact numbers, and cancellation policies- Use this endpoint to retrieve up-to-date booking status and transfer details- The response includes both outbound and return transfer information (if applicable)## View Booking Request### MethodGET### EndpointThe endpoint to use is:```https://api.holidayextras.com/v1/transfers/booking/[BookingRef]```Where ```[BookingRef]``` is the booking reference you received when making the original booking.For example:```https://api.holidayextras.com/v1/transfers/booking/TBBGNHMT```### Request ParametersNB: All parameter names are case sensitive.| 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 | Y* | 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. || key | String | [A-Z] | Y | This will be assigned to you by your Account Manager during set up. || token | String | [0-9] 9 chars | Y | Please see [user token endpoint](/hxapi/usertoken) for details of how to generate a token. |## View Booking ResponseIf the booking is found, the response will contain detailed information about the transfer booking including journey details, cancellation policy, and contact information.For a detailed explanation of the fields returned, please see below:| Field | Additional Information ||-------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------|| Booking/BookingRef | The reference for the booking. || Booking/SupplierRef | Reference number provided by the transfer supplier (for the overall booking). || Booking/Status | Current status of the booking (e.g., Confirmed, Pending, Cancelled). || Booking/DateBooked | Date and time when the booking was made (ISO 8601 format, UTC timezone). || Booking/DateCancelled | Date and time when the booking was cancelled, if applicable (ISO 8601 format, UTC timezone). || Booking/Email | Email address associated with the booking. || Booking/Product/Price | Total price for the transfer booking. || Booking/Product/Currency | Currency in which the price is denominated. || Booking/Product/Category | Category of the transfer product. See [Transfer Categories](/hxapi/transfers/av/#transfer-categories) for available options. || Booking/Product/TransferCode | Unique code for the transfer product. || Booking/Product/Cancellation | Cancellation policy details including period (in hours), percentage, and fee. For full cancellation details including refund calculations, use the [Cancellation Policy](/hxapi/transfers/cancellation-policy/) endpoint. || Booking/Product/VehicleDetails | Details about the vehicle including capacity, stops, bags allowed, and whether it's private. || Booking/Product/OutboundTransfer | Details of the outbound transfer journey including origin, destination, journey time, and pickup/arrival times. || Booking/Product/ReturnTransfer | Details of the return transfer journey (only present if the booking includes a return transfer). |### Transfer Details FieldsBoth `OutboundTransfer` and `ReturnTransfer` contain the following detailed information:| Field | Additional Information ||----------------------|-------------------------------------------------------------------------------|| JourneyId | Unique identifier for the transfer journey. || SupplierRef | Reference provided by the transfer supplier (specific to this journey leg). || Origin | Starting point of the transfer. || OriginAddress | Address of the origin location. || OriginIata | IATA code of the origin location. || Destination | Destination point of the transfer. || DestinationAddress | Address of the destination location. || DestinationIata | IATA code of the destination location. || JourneyTime | Duration of the journey in minutes. || FlightDetails | Flight information associated with the transfer. || Pickup | Pickup time for the transfer vehicle as an ISO 8601 timestamp in UTC (Zulu time). || InformationUrl | URL with additional transfer information (when available from supplier). || JoiningInstruction | Instructions on where and how to join the transfer. || ContactNumbers | Contact information including UkEmergencyTel, ReconfirmationTel, and EmergencyTel phone numbers. |### FlightDetails FieldsThe `FlightDetails` object contains flight information when the transfer is associated with a flight:| Field | Additional Information ||--------------------------------------|-------------------------------------------------------------------------------|| FlightDetails/Code | Flight number/code (e.g., \"U28605\"). || FlightDetails/Origin | Origin airport IATA code (e.g., \"LGW\"). || FlightDetails/Destination | Destination airport IATA code (e.g., \"AGP\"). || FlightDetails/Departure | Flight departure time as ISO 8601 timestamp in UTC (Zulu time). || FlightDetails/Arrival | Flight arrival time as ISO 8601 timestamp in UTC (Zulu time). |**Important Notes:**- All timestamps use UTC timezone and are formatted as ISO 8601 with 'Z' suffix (e.g., \"2025-08-01T10:00:00Z\")- For airport pickup transfers, the `Arrival` time represents when passengers land and need pickup- For airport drop-off transfers, the `Departure` time represents the flight departure time, and the pickup time is automatically calculated to ensure passengers arrive at the airport with adequate time before their flight- The `FlightDetails` object and its individual fields can be null when flight information is not available or unknown### Example{% codetabs %}{% codetab XML %}```xml TBBGNHMT 123456 Confirmed 2025-01-15T10:30:00Z customer@example.com 103.52 GBP private_car TBHT1169922 24 100 0 1 4 4 1 true Transfer Company Ltd Mercedes OUT123456 ABC123 Málaga Airport Málaga Airport, Málaga AGP Hotel Sol Marbella Av. del Mar, 29600, Marbella 60 U28605 LGW AGP 2025-08-01T10:00:00Z 2025-08-01T10:30:00Z https://example.com/transfer-info Meet at Terminal 3 Arrivals Hall +44 20 7123 4567 +34 952 123 456 +34 952 999 888 RET123456 DEF456 Hotel Sol Marbella Av. del Mar, 29600, Marbella Málaga Airport Málaga Airport, Málaga AGP 60 U28602 AGP LGW 2025-08-07T13:30:00Z 2025-08-07T10:00:00Z https://example.com/transfer-info Meet in hotel lobby 10 minutes before pickup +44 20 7123 4567 +34 952 123 456 +34 952 999 888 ```{% endcodetab %}{% codetab JSON %}```json{ \"Booking\": { \"BookingRef\": \"TBBGNHMT\", \"SupplierRef\": 123456, \"Status\": \"Confirmed\", \"DateBooked\": \"2025-01-15T10:30:00Z\", \"DateCancelled\": null, \"Email\": \"customer@example.com\", \"Product\": { \"Price\": 103.52, \"Currency\": \"GBP\", \"Category\": \"private_car\", \"TransferCode\": \"TBHT1169922\", \"Cancellation\": { \"Period\": 24, \"Percentage\": 100, \"Fee\": 0 }, \"VehicleDetails\": { \"MinCapacity\": 1, \"MaxCapacity\": 4, \"MinStops\": \"\", \"MaxStops\": \"\", \"Bags\": 4, \"NumberOfVehicles\": 1, \"IsPrivate\": true, \"Supplier\": \"Transfer Company Ltd\", \"Make\": \"Mercedes\" }, \"OutboundTransfer\": { \"JourneyId\": \"OUT123456\", \"SupplierRef\": \"ABC123\", \"Origin\": \"Málaga Airport\", \"OriginAddress\": \"Málaga Airport, Málaga\", \"OriginIata\": \"AGP\", \"Destination\": \"Hotel Sol Marbella\", \"DestinationAddress\": \"Av. del Mar, 29600, Marbella\", \"DestinationIata\": \"\", \"JourneyTime\": 60, \"FlightDetails\": { \"Code\": \"U28605\", \"Origin\": \"LGW\", \"Destination\": \"AGP\", \"Departure\": null, \"Arrival\": \"2025-08-01T10:00:00Z\" }, \"Pickup\": \"2025-08-01T10:30:00Z\", \"InformationUrl\": \"https://example.com/transfer-info\", \"JoiningInstruction\": \"Meet at Terminal 3 Arrivals Hall\", \"ContactNumbers\": { \"UkEmergencyTel\": \"+44 20 7123 4567\", \"ReconfirmationTel\": \"+34 952 123 456\", \"EmergencyTel\": \"+34 952 999 888\" } }, \"ReturnTransfer\": { \"JourneyId\": \"RET123456\", \"SupplierRef\": \"DEF456\", \"Origin\": \"Hotel Sol Marbella\", \"OriginAddress\": \"Av. del Mar, 29600, Marbella\", \"OriginIata\": \"\", \"Destination\": \"Málaga Airport\", \"DestinationAddress\": \"Málaga Airport, Málaga\", \"DestinationIata\": \"AGP\", \"JourneyTime\": 60, \"FlightDetails\": { \"Code\": \"U28602\", \"Origin\": \"AGP\", \"Destination\": \"LGW\", \"Departure\": \"2025-08-07T13:30:00Z\", \"Arrival\": null }, \"Pickup\": \"2025-08-07T10:00:00Z\", \"InformationUrl\": \"https://example.com/transfer-info\", \"JoiningInstruction\": \"Meet in hotel lobby 10 minutes before pickup\", \"ContactNumbers\": { \"UkEmergencyTel\": \"+44 20 7123 4567\", \"ReconfirmationTel\": \"+34 952 123 456\", \"EmergencyTel\": \"+34 952 999 888\" } } } }}```{% endcodetab %}{% endcodetabs %}", - "url": "/hxapi/transfers/view/" - } - , - "hxapi-viewamendcancel-view": { "title": "View Booking", "content": "# View Booking[API Docs](/hxapi/) > product:[view](/hxapi/viewamendcancel/view)## View Booking RequestThis method works for bookings made for any product type using our API.### MethodGET### EndpointThe endpoint to use is (where `YourBookingRef` is the Holiday Extras booking reference):{% codetabs %}{% codetab XML %}```https://api.holidayextras.com/v1/booking/YourBookingRef```{% endcodetab %}{% codetab JSON %}```https://api.holidayextras.com/v1/booking/YourBookingRef.js```Note the `.js` extension.{% endcodetab %}{% endcodetabs %}### Request ParametersNB: All parameter names are case sensitive.| 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. || Email | 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). |## View Booking ResponseThe view booking response will return all of the details against that booking record in our system.For a detailed explanation of the fields returned, please see below:| Field | Additional Information ||------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|| Booking/BookingRef | This is the reference for this booking. It must be referred to in all communication with us concerning this booking. NB: Our booking references are up to 12 char alphanumeric (including 1/I and 0/O/Q). || Booking/Amendable | This will return one of the following: `Y` = booking can be amended; `N` = booking cannot be amended; `C` = booking has been cancelled; `S` = booking is same day so cannot be amended or cancelled. || Booking/CanxDate | If the booking has been cancelled, the date on which it was will return here. || Booking/AgentComm | Commission you have earned from this booking. || Booking/BookingDate | The date the booking was originally made on. || Booking/PdfURL | ⚠ Deprecated: This feature provided a link to generate a PDF version of the booking confirmation. It is no longer supported and will be removed in future releases. || Itinerary | This block will return details of the original booking, as per the booking response for each product type. Please see the respective booking guides for further details on the fields. || ClientDetails | This block will return details of the lead passenger. || Pricing | This block will return details of the price paid by the customer. || VAT | Please ignore this block. || CustRef | If you have passed in a Customer Reference with your original booking request, it will return here. || BarCode | A link to generate a bar code for the booking confirmation. || QRCodeValue | (EU only) Value of the QR code that comes with email confirmation. [More details about QR Code](/hxapi/barcode#qr_code) || QRCodeValueStr | (EU only) Value of the QR code that comes with email confirmation. [More details about QR Code](/hxapi/barcode#qr_code) || SupplierRef | (EU only) External booking id booking || CurrentSupplements[] | Array of upgrades on the booking || CurrentSupplements/Supplement/Code | Upgrade product code || CurrentSupplements/Supplement/Price | The price paid for the upgrade || CurrentSupplements/Supplement/NonDiscPrice | The price of the upgrade before any discounts || CurrentSupplements/Supplement/DiscAmt | The value of any discount applied || CurrentSupplements/Supplement/Supplier | Code for the supplier of the upgrade || CurrentSupplements/Supplement/Rule | Internal field || CurrentSupplements/Supplement/Req | The purchased quantity of the upgrade || CurrentSupplements/Supplement/Per | The pricing basis of the upgrade || CurrentSupplements/Supplement/Adults | The number of adult passes purchased || CurrentSupplements/Supplement/Children | The number of chlid passes purchased || CurrentSupplements/Supplement/Date | The date of use for the upgrade || CurrentSupplements/Supplement/Canx | Whether the upgrade is cancellable || CurrentSupplements/Supplement/Remarks | Notes field. Used to store arrival time for lounge upgrades || AvailableSupplements[] | Array of upgrades available to purchase post booking || AvailableSupplements/Supplement/Code | Upgrade product code || AvailableSupplements/Supplement/Supplier | Code for the supplier of the upgrade || AvailableSupplements/Supplement/Per | The pricing basis of the upgrade || AvailableSupplements/Supplement/Canx | Whether the upgrade is cancellable || AvailableSupplements/Supplement/Name | The name of the upgrade product || AvailableSupplements/Supplement/Price | The price of the upgrade || AvailableSupplements/Supplement/NonDiscPrice | The price of the upgrade before any discounts || AvailableSupplements/Supplement/DiscAmt | The value of any discount applied || AvailableSupplements/Supplement/AdPrice | The per adult price minus any discounts. Only present for per person upgrades || AvailableSupplements/Supplement/NonDiscAdPrice | The per adult price before any discounts. Only present for per person upgrades || AvailableSupplements/Supplement/AdDiscAmt | The amount of discount applied to the per adult price. Only present for per person upgrades || AvailableSupplements/Supplement/ChPrice | The per child price minus any discounts. Only present for per person upgrades || AvailableSupplements/Supplement/NonDiscChPrice | The per child price before any discounts. Only present for per person upgrades || AvailableSupplements/Supplement/ChDiscAmt | The amount of discount applied to the child price. Only present for per person upgrades || AvailableSupplements/Supplement/PerNight | Whether the upgrade is charged per night of a stay || API_Header/Request | A list of parameters that were sent in the view booking request. || Booking/Status (Future) | Indicates the current status of the booking (`Pending`, `Confirmed`, `Cancelled`, or `Error`). |#### /Booking/AmendablePossible values* Y - booking can be amended or cancelled* N - booking cannot be amended or cancelled (advance purchase product etc)* C - booking has been cancelled## Worked ExamplesBelow are worked examples of both the request and response for view a booking.### UK Products View Booking (for a car park)#### Request{% codetabs %}{% codetab XML %}```https://api.holidayextras.com/v1/booking/YourBookingRef?ABTANumber=YourABTANumber&Password=YourPassword&Initials=YourInitials&key=YourKey&Email=test@test.com```{% endcodetab %}{% codetab JSON %}```https://api.holidayextras.com/v1/booking/YourBookingRef.js?ABTANumber=YourABTANumber&Password=YourPassword&Initials=YourInitials&key=YourKey&Email=test@test.com```Note the `.js` extension.{% endcodetab %}{% endcodetabs %}#### Response{% codetabs %}{% codetab XML %}```xml{% include_relative examples/_view_uk_booking_response.xml %}```{% endcodetab %}{% codetab JSON %}```json{% include_relative examples/_view_uk_booking_response.json %}```{% endcodetab %}{% endcodetabs %}---### UK Products View Booking (for a transfer)#### Request{% codetabs %}{% codetab XML %}```https://api.holidayextras.com/v1/booking/YourBookingRef?ABTANumber=YourABTANumber&Password=YourPassword&Initials=YourInitials&key=YourKey&Email=test@test.com```{% endcodetab %}{% codetab JSON %}```https://api.holidayextras.com/v1/booking/YourBookingRef.js?ABTANumber=YourABTANumber&Password=YourPassword&Initials=YourInitials&key=YourKey&Email=test@test.com```Note the `.js` extension.{% endcodetab %}{% endcodetabs %}#### Response{% codetabs %}{% codetab XML %}```xml{% include_relative examples/_view_uk_transfers_booking_response.xml %}```{% endcodetab %}{% codetab JSON %}```json{% include_relative examples/_view_uk_transfers_booking_response.json %}```{% endcodetab %}{% endcodetabs %}---### European Products View Booking (for a hotel room only)#### Request```https://api.holidayextras.com/v1/booking/YourBookingRef?ABTANumber=YourABTANumber&Password=YourPassword&Initials=YourInitials&key=YourKey&Email=test@test.com&System=ABG```#### Response```xml{% include_relative examples/_view_eu_booking_response.xml %}```", @@ -519,6 +512,13 @@ } , + "hxapi-transfers-view": { + "title": "Transfers View Booking", + "content": "# Transfers View Booking## Important Notes- This endpoint provides comprehensive booking details including journey information, contact numbers, and cancellation policies- Use this endpoint to retrieve up-to-date booking status and transfer details- The response includes both outbound and return transfer information (if applicable)## View Booking Request### MethodGET### EndpointThe endpoint to use is:```https://api.holidayextras.com/v1/transfers/booking/[BookingRef]```Where ```[BookingRef]``` is the booking reference you received when making the original booking.For example:```https://api.holidayextras.com/v1/transfers/booking/TBBGNHMT```### Request ParametersNB: All parameter names are case sensitive.| 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 | Y* | 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. || key | String | [A-Z] | Y | This will be assigned to you by your Account Manager during set up. || token | String | [0-9] 9 chars | Y | Please see [user token endpoint](/hxapi/usertoken) for details of how to generate a token. |## View Booking ResponseIf the booking is found, the response will contain detailed information about the transfer booking including journey details, cancellation policy, and contact information.For a detailed explanation of the fields returned, please see below:| Field | Additional Information ||-------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------|| Booking/BookingRef | The reference for the booking. || Booking/SupplierRef | Reference number provided by the transfer supplier (for the overall booking). || Booking/Status | Current status of the booking (e.g., Confirmed, Pending, Cancelled). || Booking/DateBooked | Date and time when the booking was made (ISO 8601 format, UTC timezone). || Booking/DateCancelled | Date and time when the booking was cancelled, if applicable (ISO 8601 format, UTC timezone). || Booking/Email | Email address associated with the booking. || Booking/Product/Price | Total price for the transfer booking. || Booking/Product/Currency | Currency in which the price is denominated. || Booking/Product/Category | Category of the transfer product. See [Transfer Categories](/hxapi/transfers/av/#transfer-categories) for available options. || Booking/Product/TransferCode | Unique code for the transfer product. || Booking/Product/Cancellation | Cancellation policy details including period (in hours), percentage, and fee. For full cancellation details including refund calculations, use the [Cancellation Policy](/hxapi/transfers/cancellation-policy/) endpoint. || Booking/Product/VehicleDetails | Details about the vehicle including capacity, stops, bags allowed, and whether it's private. || Booking/Product/OutboundTransfer | Details of the outbound transfer journey including origin, destination, journey time, and pickup/arrival times. || Booking/Product/ReturnTransfer | Details of the return transfer journey (only present if the booking includes a return transfer). |### Transfer Details FieldsBoth `OutboundTransfer` and `ReturnTransfer` contain the following detailed information:| Field | Additional Information ||----------------------|-------------------------------------------------------------------------------|| JourneyId | Unique identifier for the transfer journey. || SupplierRef | Reference provided by the transfer supplier (specific to this journey leg). || Origin | Starting point of the transfer. || OriginAddress | Address of the origin location. || OriginIata | IATA code of the origin location. || Destination | Destination point of the transfer. || DestinationAddress | Address of the destination location. || DestinationIata | IATA code of the destination location. || JourneyTime | Duration of the journey in minutes. || FlightDetails | Flight information associated with the transfer. || Pickup | Pickup time for the transfer vehicle as an ISO 8601 timestamp in UTC (Zulu time). || InformationUrl | URL with additional transfer information (when available from supplier). || JoiningInstruction | Instructions on where and how to join the transfer. || ContactNumbers | Contact information including UkEmergencyTel, ReconfirmationTel, and EmergencyTel phone numbers. |### FlightDetails FieldsThe `FlightDetails` object contains flight information when the transfer is associated with a flight:| Field | Additional Information ||--------------------------------------|-------------------------------------------------------------------------------|| FlightDetails/Code | Flight number/code (e.g., \"U28605\"). || FlightDetails/Origin | Origin airport IATA code (e.g., \"LGW\"). || FlightDetails/Destination | Destination airport IATA code (e.g., \"AGP\"). || FlightDetails/Departure | Flight departure time as ISO 8601 timestamp in UTC (Zulu time). || FlightDetails/Arrival | Flight arrival time as ISO 8601 timestamp in UTC (Zulu time). |**Important Notes:**- All timestamps use UTC timezone and are formatted as ISO 8601 with 'Z' suffix (e.g., \"2025-08-01T10:00:00Z\")- For airport pickup transfers, the `Arrival` time represents when passengers land and need pickup- For airport drop-off transfers, the `Departure` time represents the flight departure time, and the pickup time is automatically calculated to ensure passengers arrive at the airport with adequate time before their flight- The `FlightDetails` object and its individual fields can be null when flight information is not available or unknown### Example{% codetabs %}{% codetab XML %}```xml TBBGNHMT 123456 Confirmed 2025-01-15T10:30:00Z customer@example.com 103.52 GBP private_car TBHT1169922 24 100 0 1 4 4 1 true Transfer Company Ltd Mercedes OUT123456 ABC123 Málaga Airport Málaga Airport, Málaga AGP Hotel Sol Marbella Av. del Mar, 29600, Marbella 60 U28605 LGW AGP 2025-08-01T10:00:00Z 2025-08-01T10:30:00Z https://example.com/transfer-info Meet at Terminal 3 Arrivals Hall +44 20 7123 4567 +34 952 123 456 +34 952 999 888 RET123456 DEF456 Hotel Sol Marbella Av. del Mar, 29600, Marbella Málaga Airport Málaga Airport, Málaga AGP 60 U28602 AGP LGW 2025-08-07T13:30:00Z 2025-08-07T10:00:00Z https://example.com/transfer-info Meet in hotel lobby 10 minutes before pickup +44 20 7123 4567 +34 952 123 456 +34 952 999 888 ```{% endcodetab %}{% codetab JSON %}```json{ \"Booking\": { \"BookingRef\": \"TBBGNHMT\", \"SupplierRef\": 123456, \"Status\": \"Confirmed\", \"DateBooked\": \"2025-01-15T10:30:00Z\", \"DateCancelled\": null, \"Email\": \"customer@example.com\", \"Product\": { \"Price\": 103.52, \"Currency\": \"GBP\", \"Category\": \"private_car\", \"TransferCode\": \"TBHT1169922\", \"Cancellation\": { \"Period\": 24, \"Percentage\": 100, \"Fee\": 0 }, \"VehicleDetails\": { \"MinCapacity\": 1, \"MaxCapacity\": 4, \"MinStops\": \"\", \"MaxStops\": \"\", \"Bags\": 4, \"NumberOfVehicles\": 1, \"IsPrivate\": true, \"Supplier\": \"Transfer Company Ltd\", \"Make\": \"Mercedes\" }, \"OutboundTransfer\": { \"JourneyId\": \"OUT123456\", \"SupplierRef\": \"ABC123\", \"Origin\": \"Málaga Airport\", \"OriginAddress\": \"Málaga Airport, Málaga\", \"OriginIata\": \"AGP\", \"Destination\": \"Hotel Sol Marbella\", \"DestinationAddress\": \"Av. del Mar, 29600, Marbella\", \"DestinationIata\": \"\", \"JourneyTime\": 60, \"FlightDetails\": { \"Code\": \"U28605\", \"Origin\": \"LGW\", \"Destination\": \"AGP\", \"Departure\": null, \"Arrival\": \"2025-08-01T10:00:00Z\" }, \"Pickup\": \"2025-08-01T10:30:00Z\", \"InformationUrl\": \"https://example.com/transfer-info\", \"JoiningInstruction\": \"Meet at Terminal 3 Arrivals Hall\", \"ContactNumbers\": { \"UkEmergencyTel\": \"+44 20 7123 4567\", \"ReconfirmationTel\": \"+34 952 123 456\", \"EmergencyTel\": \"+34 952 999 888\" } }, \"ReturnTransfer\": { \"JourneyId\": \"RET123456\", \"SupplierRef\": \"DEF456\", \"Origin\": \"Hotel Sol Marbella\", \"OriginAddress\": \"Av. del Mar, 29600, Marbella\", \"OriginIata\": \"\", \"Destination\": \"Málaga Airport\", \"DestinationAddress\": \"Málaga Airport, Málaga\", \"DestinationIata\": \"AGP\", \"JourneyTime\": 60, \"FlightDetails\": { \"Code\": \"U28602\", \"Origin\": \"AGP\", \"Destination\": \"LGW\", \"Departure\": \"2025-08-07T13:30:00Z\", \"Arrival\": null }, \"Pickup\": \"2025-08-07T10:00:00Z\", \"InformationUrl\": \"https://example.com/transfer-info\", \"JoiningInstruction\": \"Meet in hotel lobby 10 minutes before pickup\", \"ContactNumbers\": { \"UkEmergencyTel\": \"+44 20 7123 4567\", \"ReconfirmationTel\": \"+34 952 123 456\", \"EmergencyTel\": \"+34 952 999 888\" } } } }}```{% endcodetab %}{% endcodetabs %}", + "url": "/hxapi/transfers/view/" + } + , + "assets-main-css": { "title": "", "content": "@import \"minima\";",