Deposits¶
When booking customers on trips via the G API, you are likely to accept a minimum deposit from the customer when accepting payment. It’s common that you’ll request this minimum deposit alongside the full payment, giving your customers the flexibility in choosing how they pay.
Historically, G Adventures had a flat deposit structure which was the same for all trips and regions. As of January 2019, we have a more robust deposit structure which meets the specific demands of regions around the world.
We’ve done our best to keep the complexities away from the G API, but we recommend reading this quick guide as a means of understanding why we’ve structured data in specific ways.
First and foremost, this document is only applicable if you’re creating bookings and taking payment via the G API. If you’re interested in how to do that, we recommend reading Creating Your First Booking.
When To Ask For Deposits¶
Logically, you’ll only need to display deposit information for a trip (or trips) the customer is booking at time of payment, and of course, this is only necessary when you are looking to Confirm services. For holding an Option (aka Save My Space), there is no deposit required. As recommended by our best practices (Creating Your First Booking), you should be creating the booking, customers, and the relevant departure services in the G API before getting to the payment page.
Once on the payment page, you can query the departure_services
resource
you’ve created and look at the deposit
attribute. This attribute shows the
required deposit for this service, taking into account the departure booked, and
the regional requirements based on the primary contact of the booking.
We recommend always reading from this attribute when building a checkout funnel.
We expose deposit
on the departure
, but this does not take into account
regional requirements of the customers on the booking and in some cases, may
differ. See the next section for situations when using departures.deposit
is
applicable.
Displaying Deposits Before Checkout¶
You may wish to display the required deposit for a trip before a customer has even decided to purchase. This can be shown on a trip summary page, in the listing of departure dates, etc.
Currently, it’s possible to get the deposit information for every departure by
leveraging the departures.deposit
attribute. This will show the specific
deposit required to book the departure.
There is one particular restriction to this. If you are a G API partner
operating within Germany, Austria, or Switzerland, you are not able to leverage
this attribute. This is because due to laws within these countries, the deposit
structure is based on the region of the legal entity in which you are operating
from. Since a departure
resource is agnostic to the details of who booked it
(since it’s not a booked service), the deposit
amount shown here is one
which applies to the regions outside of the aforementioned, and thus, not
accurate for them.
There is no way for the G API to identify if a client viewing a resource is from a specific region and that is an assumption we can never make safely. If you wish to display deposit before checkout and are operating in the mentioned regions, you’ll need to calculate it at 20% of the sell price, or provide text which advises the customers they will have full details of deposit ahead of check out (assuming you implement the above suggestions)
Thus, if you’re operating within central Europe, we recommend only displaying deposit terms at payment / checkout. Otherwise, you are able to display before.