ARTA Booking
Booking provides a secure, ARTA-hosted web page enabling your customers to intuitively book and pay for a shipment that meets their needs. Our mobile-responsive design works on web and mobile and was built to eliminate friction from coordinating shipping for your sales.
- Quick setup — Starting a Booking session takes just a single API call
- Works across devices — Fully responsive in a wide variety of viewports
- International support — Enables your customers to get quotes and checkout in the currency of their choice
- Insurance — Optionally add ARTA Full Risk insurance
- Email notifications — Leverage ARTA's email receipts and status notifications to keep your customers updated on the status of their shipments
- Flexible payment options — Have ARTA collect payment directly from your customers within the booking session or have ARTA invoice you once shipments are completed.


API Reference
The walk through below provides a step-by-step overview for creating and completing a hosted booking session. You may also view the ARTA API Reference docs for detailed specifications on all Hosted Session API endpoints.
Getting started
1. Create a Hosted Session
Each Booking session is initiated via a private, secure, and unique URL. To generate the URL for a new Booking session, perform an HTTP request to the Create Hosted Session API endpoint with one of your organization's private API keys.
curl \
-X POST https://api.arta.io/hosted_sessions \
-H "Content-Type: application/json" \
-H "Authorization: ARTA_APIKey s0e1t2e3c4a5s6t7r8o9n10o11m12y" \
-d '{
"hosted_session": {
"additional_services": [
"signature_delivery"
],
"cancel_url": "http://example.com/cancelled",
"insurance": "arta_transit_insurance",
"internal_reference": "Purchase Order: 2801",
"objects": [
{
"current_packing": [
"no_packing"
],
"depth": "3",
"details": {
"creation_date": "1980",
"creator": "Bob Smithson",
"notes": "Artist signature in the lower left corner",
"title": "Black Rectangle"
},
"height": "32",
"subtype": "painting_unframed",
"width": "15",
"unit_of_measurement": "in",
"weight": "3.0",
"weight_unit": "lb",
"value": "75000",
"value_currency": "USD"
}
],
"origin": {
"address_line_1": "11 W 53rd St",
"city": "New York",
"contacts": [
{
"email_address": "mary@example.com",
"name": "Mary Quinn Sullivan",
"phone_number": "(333) 333-3333"
}
],
"country": "US",
"postal_code": "10019",
"region": "NY"
},
"preferred_quote_types": ["premium", "select", "parcel"],
"public_reference": "Order #1437",
"shipping_notes": "New customer",
"success_url": "http://example.com/success"
}
}'
In addition to the Booking URL, the Hosted Session resource includes key fields that configure the Booking interface and the eventual shipment.
Required: shipment details
The Create Hosted Session API endpoint minimally requires the following parameters:
origin
— the address and contact details for the shipment originobjects
— the object(s) being shipped with dimension, type, an value metadata
Optional: Callback URLs
If success_url
and cancel_url
are specified when you create a Hosted Session, the customer will be redirected after either completing or cancelling the shipment booking.
Optional: Destination location
If you pass the destination
location details for the customer when creating a Hosted Session, those details will be pre-filled in the Destination form in the Booking interface. The customer will just need to confirm those details before receiving logistic quotes for the shipment.
Optional: Shipping services and Insurance
You can request additional_services
and or insurance
on behalf of your customers. If requested, the customer will not have the ability to opt out of requested services from within the session.
If you do not specify that insurance is required, the customer will have the option to add it to the shipment before booking.
Optional: Preferred quote types
You can use the preferred_quote_types
parameter to configure ARTA Booking to only surface specific service levels in a session. For example, if you want your customer in this Booking session to only choose between Premium and Select quote types, you would specify that by adding the following parameter to your hosted_session
payload when creating the Booking session.
"preferred_quote_types": ["select", "premium"],
The API accepts any combination of the following values: parcel
, select
, premium
.
If this value is empty or not present, ARTA will attempt to return estimates for all quote types by default.
2. Direct the customer to the Booking URL
The ARTA API returns a secure URL for the Hosted Session you've just created along with other data related to the session.
Example response:
{
"additional_services": ["signature_delivery"],
"cancel_url": "http://example.com/cancel",
"created_at": "2021-01-21T17:22:08.818747",
"destination": null,
"id": 42,
"insurance": null,
"internal_reference": null,
"objects": [
{
"current_packing": [],
"depth": "2",
"details": {
"creation_date": null,
"creator": "Robert Irwin",
"is_cites": false,
"is_fragile": false,
"materials": [],
"notes": "notes",
"title": "It's just jazz"
},
"height": "24",
"images": [],
"internal_reference": null,
"public_reference": null,
"subtype": "painting_unframed",
"type": "art",
"unit_of_measurement": "in",
"value": "100.00",
"value_currency": "USD",
"weight": "1",
"weight_unit": "lb",
"width": "36"
}
],
"origin": {
"access_restrictions": [],
"address_line_1": "11 W 53rd St",
"address_line_2": null,
"address_line_3": null,
"city": "New York",
"contacts": [
{
"email_address": "mary@example.com",
"name": "Mary Quinn Sullivan",
"phone_number": "(333) 333-3333"
}
],
"country": "US",
"postal_code": "10019",
"region": "NY",
"title": "Warehouse"
},
"preferred_quote_types": ["premium", "select", "parcel"],
"private_token": "6f76b6e1-ce25-43a9-b4ea-2ceaac24ec7e",
"public_reference": null,
"shipping_notes": null,
"shortcode": "DEMO-B49SVZ",
"status": "new",
"success_url": "http://example.com/success",
"updated_at": "2021-01-21T17:22:10.129653",
"url": "https://book.arta.io/b/42/6f76b6e1-ce25-43a9-b4ea-2ceaac24ec7e"
}
On your site, either prompt your customer to continue booking their shipment on ARTA or send them directly to the Hosted Session URL with a redirect.
3. Customer quoting, preferences, and booking
If destination details are not provided, the customer begins their journey by providing the full destination address and contact information. If they are provided, ARTA prefills the form for the customer to review the details before submitting a request for quotes.
Once the user submits their destination details, ARTA returns and presents all available quotes. If you choose not to require Insurance, your customers can add-on Insurance coverage before booking their shipment.
Once the shipment is booked, ARTA will refer to your payment settings for how payment will be handled.
- If your business is set up to be invoiced directly by ARTA, the customer will see a summary of their booked shipment and a link to return to your site per the success redirect URL.
- If you prefer to have ARTA collect payment for shipping directly from your customers, they will be directed to provide payment within the hosted session before being redirected back to your site per the success redirect URL.
Unique workflows that are informed by your payment settings means that ARTA Booking can be integrated post-checkout for ecommerce workflows or integrated with a back-office platform to enable your team to book shipments on behalf of your customers.