Transfer

Using this endpoint

The transfer endpoint be used to reserve vehicles that will serve as transportation to the user, so you can take it between places more easily.

Use Transfer endpoint to search, verify policies, and book vehicles to transport the customer to places already registered in Cangooroo.

The Transfer endpoint has the following methods to use in this order:

  • SearchAvailability: Used to define the date of service, number of passengers, languages available for the service, place of pickup and place of dropoff of the passenger.

  • getBookingConditions: Used to verify the Cancellation Policies of the transfer chosen.

  • DoBooking: Used to confirm a reservation, it sends the information of the passenger (s), the vehicle chosen, the date of service and the places where the passenger wishes to be transported.

  • CancelByService: used to cancel a reservation.

  • CancelAllTransferServices: Use this method to cancel all transfers services in a file (reservation). Please be aware that only transfer services will be cancelled using this method.

Below you will find more information on the most important rules, possibilities, points of attention and properties to use for each method.

Search

This is where everything begins. The Search Request is where the user will pass their Credentials, id and type of origin locations (PickUp) and destination (DropOff) of the passenger, the date and time of the service, along with the number of adults and children who will be transported by the service, and the language that will be returned to the descriptions of the service.

SearchRequest

The Search Request is pretty simple, below you will find the most common usage of this method as well as some examples for the most Frequently Asked Questions we have.

{

"Credential": {

"Username": "Your_Username",

"Password": "Your_Password"

},

"Criteria":{

"ServiceDate": "2019-05-25",

"Hour": 12,

"Minutes": 00,

"NumberOfAdults": 1,

"Pickup": {

"LocationCode": "26486",

"LocationType": "Accommodation"

},

"Dropoff": {

"LocationCode": "26602",

"LocationType": "Accommodation"

},

"ServiceLanguage": "all"

}

}

Credential

The credentials tag is fairly simple and only has the UserName and the Password as shown below:

{

"Credential": {

"Username": "Your_Username",

"Password": "Your_Password"

},

The UserName space is where you're supposed to put in the UserName given you by the Operator. While the Password is where you're supposed to insert the Password given you by the Operator.

Criteria

The criteria field will be used for the specifications of your search, in which the user will inform the date and time of service, number of adults and children to be transported, the language of the service and, finally, the ids and specifications of the places origin and destination of passengers.

"Criteria":{

"ServiceDate": "2019-05-25",

"Hour": 12,

"Minutes": 00,

"NumberOfAdults": 1,

"Pickup": {

"LocationCode": "26486",

"LocationType": "Accommodation"

},

"Dropoff": {

"LocationCode": "26602",

"LocationType": "Accommodation"

},

"ServiceLanguage": "all"

}

LocationType

LocationType is the field where the type of location or transport will be started.

Airport

Accommodation

Port

Station

ThemePark

Other

Transfer IN OUT

If the desired search is for a transfer in out, it is necessary to fill in the information back

HourBack

MinutesBack

ServiceDateBack


Search Response

The search response is separated between the response information, the token, and the transfer services; Below you can see what each of these objects represents.

Token

The Token field is extremely important, as explained on our Services page. You will need this token to confirm the reservation of choosen transfer and this information should be transported with each subsequent request.

A Token will always be unique and the combination of Token + Credentials + expiration ensures that we will never have matching results stored on our servers.

The TotalTransfersResults field provides information on the total number of results found, lastly the number of results in this single response.

When your search provides larger sets of results, those that affect the performance of your application and on those occasions, you will have to work with filters and paging our results.


Transfers

The answer SearchAvailability will always be the composition of several transports, each one will be presented with a Transport.

GetBookingConditions

The getBookingConditions is the method you should call after receiving the Search Response and after you've selected the transfer you wish to book. This is a mandatory step for our booking process, which means that you will must make this call before attempting to confirm your booking.

It is important to be aware that many Suppliers work with cached information to decrease response time when responding to availability requests. Therefore, some values may change from the Search Availability Response for Payment Policy Response, such as price, rate information, and other properties. That is why it is important to compare, verify and update your information and properly notify the user in case of changes.

To see all properties contained in the GetBookingConditions Request and Response, please refer to this reference page.

GetBookingConditions Request

The GetBookingConditions Request is straightforward and simple and below you will find an example along with the Frequently Asked Questions we have about it.

{

"Credential": {

"Username": "Your_Username",

"Password": "Your_Password"

},

"Token": "d09c4456-02cb-4a43-87e5-1e696ab6965f",

"TransferIds":[]

"ServiceDate": "2020-09-15"

}

Credential

The credentials tag is the same as required on the SearchAvailability Request with a UserName and a Password as shown below:

"Credential": {

"Username": "Your_Username",

"Password": "Your_Password"

},

The UserName field is where you're supposed to put in the UserName given you by the Operator. While the Password is where you're supposed to insert the Password given you by the Operator.

Token

As stated before, the Token you received on the SearchAvailability Response is extremely important because it is this information that binds the booking process together. To learn more about the Token, you can check our Services page.

ServiceDate

is the date of the transfer, the user will inform the date of the desired transport.

"ServiceDate": "2020-09-15"

GetBookingConditions Response

In response, in addition to showing the transfer information, the deadline for cancellation and the chosen transport.

DoBooking

The DoBooking method is used to make the reservation of the transfer that was chosen in SearchAvaliability and dealt with in GetCancellationPolices, this is another simple but very important step, since here the main passenger and the escorts will be informed (if they have one) and also the provider's questions will be answered (if returned in GetCancellationPolices).

To see all properties contained in the DoBooking Request and Response, please refer to this reference page.

DoBooking Request

The DoBooking request is already a bit more complex, in addition to informing the IDs of the transfer, passengers will also be informed where one of them will be the main passenger.

{

"Credential": {

"Password": "?",

"Username": "?"

},

"BookingId": "?",

"Passengers": {

"Pax": {

"MainPax": "?",

"Name": "?",

"Surname": "?",

"Title": "?",

"isChild": "?"

}

},

"Token": "?",

"TransferId": "?"

}

Credential

The credentials tag is the same as required on the SearchAvailability and GetCancellationPolicies Request with a UserName and a Password.

Token

The token that was generated in the survey and handled in the GetCancellationPolicies will be used for the last time to close the transfer reservation.

"Token": "d09c4456-02cb-4a43-87e5-1e696ab6965f",

TransferId

here you will be informed the transferId to confirm the booking of the desired transfer.

"TransferId": 45219

Passengers

Here the user will inform the data of the passengers of the Transfer between this data will be the RG, CPF and a Boolean variable to identify if the passenger is a child or not, remembering that it is obligatory 1 main passenger (usually the user who makes the reservation).

"Passengers": [{

"Name": "Test",

"Surname": "NoBook",

"Age": 25,

"Cpf": "123456789-10",

"Rg": "123456789",

"Title": "Mr",

"MainPax": true,

"isChild": false

}],

  • SetWaitingPayment

When you send SetWaitingPayment as true, your reservation will be created with the status awaiting payment. The reservation will be available for confirmation until the token expires and if it is not paid, it will be rejected. When paying within the period, the reservation will be sent to the supplier for confirmation.

To see all the properties contained in the Booking Request, please see our reference page.

DoBooking Response

Here, the user can see the result of his request, together with the other information of his reservation, it is worth paying attention in the fields ServiceId (code of your reservation) and Status (status of your reservation) because they will be very important for the methods.

CancelByService

This method is very simple, in which the user must inform, in addition to the credentials of the client, the ServiceId of his reservation made in the previous method.

To see all properties contained in the Cancel Request and Response, please refer to this reference page.

Cancel Request

The request is very simple, in it the user will only inform his credentials next to the id of the reservation made in the previous method.

{

"Credential": {

"Username": "Your_Username",

"Password": "Your_Password"

},

"ServiceId": 1466

}

Credential

The credentials tag is the same as required on the SearchAvailability, cancellationPolicies and DoBooking Request with a UserName and a Password as shown below:

"Credential": {

"Username": "Your_Username",

"Password": "Your_Password"

},

ServiceId

Is the id of the service generated in the reservation and shown in its response, through that id the user can cancel his reservation.

"ServiceId": 1466

After you enter the credentials of the user, the ServiceId of a reservation that was made with the credentials informed must be passed.

Cancel Response

In the cancellation response, the user will be able to see all the details of their canceled reservation.

CancelAllTransferServices

Use this method to cancel all flights services in a file (reservation). Please be aware that only flight services will be cancelled using this method.

CancelAllTransferServices Request

After you enter the credentials of the user, the bookingId of a reservation that was made with the credentials informed must be passed.

{

"Credential": {

"Username": "Your_Username",

"Password": "Your_Password"

},

"BookingId": 1465

}

CancelAllTransferServices Response

In the answer of this method the customer can see the status of his reservation and verify that it has been successfully canceled, it is worth noting that if a reservation is canceled after its cancellation policies take effect, the customer may pay a fine for the service.