Skip to main content

City Experiences: Reseller Connection

Connect City Experiences to Ventrata to sync availability and prices and receive bookings instantly.

City Experiences logo powered by Anchor icon Anchor

 

City Experiences is Hornblower Group's umbrella brand for sightseeing and dining cruises, walking and food tours, ferries and attraction tickets, trading through City Cruises, Walks, Devour Tours, City Ferry and site brands at the Statue of Liberty, Alcatraz and Niagara Falls, across more than thirty US cities plus Canada, western Europe and Australia. For operators, it brings visitors already booked on a cruise or tour in the same destination, from individuals and families to groups, schools and corporate clients, adding companion attractions to their day. City Experiences uses Anchor as their primary ticketing system.

 

Connecting City Experiences to Ventrata syncs your availability and prices and delivers bookings, changes and cancellations with tickets issued automatically. City Experiences runs on Anchor, and receives your products through its certified integration with Ventrata's OCTO API.

 

To learn more about partnering with City Experiences, visit cityexperiences.com.

 

Primary website

Tags

Operator Reselling Others · Sightseeing & Hop-On Hop-Off

Destination markets

🌎 Global

Source markets

🌎 Global

Specialties

Sightseeing and dining cruises, ferries and landmark attractions

Connection features

Availability Sync · Pricing Sync · Bookings Sync

Ventrata Booked GMV (last 12 months)

US$100k+

Ventrata Booked Suppliers (last 12 months)

5+

Developed by

Anchor (using Ventrata's OCTO API)

 

This reseller connection lets you sell your products through City Experiences without managing availability, pricing and bookings by hand. Features of this connection include:

  • Availability Sync – City Experiences checks your live availability in Ventrata.

  • Pricing Sync – City Experiences gets your prices from your reseller pricing in Ventrata.

  • Bookings Sync – bookings, updates and cancellations from City Experiences are created in Ventrata instantly, and customers get Ventrata tickets.

 

Creating the City Experiences Connection

🔐 Required Role Permissions: See Connections, Modify Connections, See Connection Key

Before you begin:

  • You must have a commercial agreement with City Experiences for them to sell your products. To inquire about partnering with them, contact them via cityexperiences.com.

  • You must have City Experiences created as a Reseller in Ventrata with their pricing (retail, wholesale/commission) defined correctly. Note that this API connection requires that the reseller is set to the "Bill to my account" settlement method.

 

  1. In Ventrata Dashboard, go to Connections → Connections, click + New Connection, and select City Experiences (powered by Anchor) from the list of partners.

  2. Select City Experiences Reseller from the list of your resellers (must be created before creating a connection). The connection will inherit the reseller's configuration like pricing, allowed destinations, products, etc.

  3. (Optional) You can also set the connection Name of your choosing, which may be helpful if you plan to have multiple City Experiences connections and would like to differentiate between them more easily in the future.

  4. Press the Create Octo Connection button.

 

📗 TIP

If needed, you can also allow or disallow products or destinations on the connection level, in addition to what you have configured on the reseller.

 

Mapping Products to City Experiences

Securely share the OCTO API key shown on the connection you've created with your City Experiences contact and ask them to map your products using Ventrata's OCTO API, with pricing (octo/pricing) enabled. Typically, it takes no longer than a few business days for the City Experiences team to complete this.

 

Your Ventrata configuration is complete. You do not need to take any further steps.

 

📗 TIP

City Experiences can access all products enabled on the connection, but you can also provide the Product and Option IDs from the connection page when contacting them to specify what to map.

 

 

Managing the City Experiences Connection

  • Allow or disallow products: limit which destinations, products and options City Experiences can access. See how to allow or disallow products.

  • Rename the connection to tell several City Experiences connections apart.

 

Connection Features Detailed

This section is for anyone who wants to know exactly how the City Experiences connection works: which Ventrata OCTO API calls City Experiences makes (through Anchor's certified integration), when it makes them, and what that means for you. Each call links to Ventrata's API documentation.

 

In short: City Experiences pulls everything it needs from Ventrata. It reads your products, checks your availability and prices, and sends bookings and cancellations. Ventrata doesn't push changes to City Experiences, so anything you change in Ventrata reaches City Experiences the next time it checks.

 

Timings are typical for City Experiences and rounded, and they can change if City Experiences changes how it syncs.

 

Product Mapping

❌

You can't map products from Ventrata. City Experiences maps them on its side, through your account manager or City Experiences's portal.

This works as follows:

  • Get Products (GET /products) – when City Experiences sets up your connection, and whenever it refreshes its listings, it reads every product enabled on the connection, with its options and units (ticket types such as Adult or Child).

  • Get Product (GET /products/{productId}) – City Experiences re-reads a single product to pick up changes to its options, units, booking cutoffs and settings.

  • Mapping on City Experiences's side – City Experiences links each Ventrata option and unit to its own listing and ticket types. Your City Experiences account manager does this for you, or you do it in City Experiences's own portal if City Experiences offers one. You only share the connection's API key.

 

Typically with City Experiences:

  • City Experiences reads your full product list about every 2 hours.

 

What this means for you: City Experiences can only sell what it has mapped. When you add a product, option or unit in Ventrata, City Experiences may see it on its next refresh, but it won't sell it until it's mapped. So tell your City Experiences account manager whenever you add one.

Content Sync

❌

City Experiences doesn't read your product content from Ventrata.

City Experiences uses the descriptions, images and other content set up on its own side, so update your content with City Experiences directly.

Availability Sync

✅

City Experiences checks your live availability in Ventrata. Ventrata doesn't push availability changes to City Experiences.

This works as follows:

  • Availability Check (POST /availability) – City Experiences sends a product, an option and a date or date range. Ventrata answers with each bookable day or time slot, its status (AVAILABLE, LIMITED, SOLD_OUT, CLOSED or FREESALE), the remaining vacancies, the booking cutoff and an availabilityId, which City Experiences needs to book that slot.

  • Check at booking – when a customer books, Ventrata checks capacity again before it creates the booking, so City Experiences can't overbook a slot that has just sold out, even if its stored availability is slightly out of date.

 

Typically with City Experiences:

  • Availability Check: City Experiences checks your products throughout the day, usually starting today and covering 22 days per request, looks up to about 6 months ahead and re-checks the same product and dates about every 5 hours.

  • Checks are spread through the day with no strong peak, which suggests a mix of scheduled syncs and live customer searches.

 

What this means for you: when you close a date, change capacity or sell out in Ventrata, City Experiences shows it after its next check. For dates it checks regularly, that's within about 5 hours. Dates further ahead are usually checked less often.

Pricing Sync

✅

Your prices come back with every availability check, once City Experiences asks for them with the octo/pricing capability.

This works as follows:

  • octo/pricing capability – City Experiences asks for prices by adding octo/pricing to the Octo-Capabilities header of its requests. Without it, Ventrata sends availability with no prices at all.

  • Availability Check (POST /availability) – with pricing on, each day or time slot comes back with your price per unit (ticket type): the retail price the customer pays and the net price you invoice City Experiences, both from the reseller's pricing in Ventrata (retail and wholesale/commission).

  • Group prices – when City Experiences also sends how many people of each unit type are booking, Ventrata prices that exact group. This matters for Booking Size fares and other group pricing.

  • Booking Reservation (POST /bookings) and Booking Confirmation (POST /bookings/{uuid}/confirm) – the booking comes back with its final retail and net price, so the booking in Ventrata always records the price it was sold at.

 

Typically with City Experiences:

  • City Experiences requests octo/pricing on all of its availability checks, so it sells at your Ventrata prices.

  • City Experiences doesn't send the number of people per unit type, so prices come back per person, and group pricing such as Booking Size fares may not show correctly on City Experiences.

 

‼️ IMPORTANT – Ask for pricing to be enabled. When you ask City Experiences to map your products, ask them to enable pricing (octo/pricing) as well, or switch it on yourself if you map in City Experiences's portal. Otherwise it may be off, and City Experiences won't receive your Ventrata prices.

📗 TIP – If prices on City Experiences look wrong, check the City Experiences reseller's pricing in Ventrata first: that's what City Experiences reads.

Promotions Sync

❌

Your Ventrata promotions don't apply on City Experiences.

Prices on City Experiences don't include promotions you create in Ventrata. Set up any promotions with City Experiences directly.

Bookings Sync

✅

Bookings and cancellations made on City Experiences are created in Ventrata instantly, and customers get Ventrata tickets.

This works as follows:

  1. Hold: Booking Reservation (POST /bookings) – when a customer starts checkout on City Experiences, City Experiences sends the product, option, chosen slot (availabilityId) and one unit item per person. Ventrata checks capacity again and creates an ON_HOLD booking, which holds the places while the customer pays. If there's no longer room, Ventrata rejects the hold.

  2. Confirm: Booking Confirmation (POST /bookings/{uuid}/confirm) – once payment goes through, City Experiences confirms the hold, with its own booking reference and the customer's contact details. The booking becomes CONFIRMED in Ventrata, and Ventrata sends back your booking reference and the tickets (one per person) or a voucher (one per booking), depending on how your product is set up, each with a QR code and a PDF link. City Experiences gives these to the customer, who shows them at your entrance like any Ventrata ticket.

  3. Expire: if the customer doesn't finish paying, City Experiences never confirms, and the hold expires on its own and frees the places.

  4. Cancel: Booking Cancellation (POST /bookings/{uuid}/cancel) – when a customer cancels on City Experiences, City Experiences cancels the booking in Ventrata. Ventrata accepts this only if the booking can still be cancelled and the option's cancellation cutoff hasn't passed. Otherwise it rejects the request, and City Experiences has to contact you.

  5. Change: City Experiences doesn't use Booking Update (PATCH /bookings/{uuid}), so a change most likely reaches Ventrata as a cancellation plus a new booking.

 

Typically with City Experiences:

  • City Experiences doesn't set a hold time, so the default hold time applies.

  • A typical City Experiences booking is for about 2 people.

 

‼️ IMPORTANT – Bookings sync one way, from City Experiences to Ventrata. If you cancel, change or rebook a booking from City Experiences in Ventrata, for example in the Dashboard, City Experiences isn't notified. Contact City Experiences so the booking is cancelled or changed on their side too, or ask the customer to cancel through City Experiences.

Pickups/Dropoff Sync

❌

City Experiences doesn't send pickup or drop-off details with its bookings.

If your products include pickups, check with City Experiences how it collects pickup details, or arrange them with the customer.

Custom Questions Sync

❌

City Experiences doesn't send answers to your booking questions.

If you rely on booking questions, for example names or dietary needs, check with City Experiences how it collects that information.

Extras Sync

❌

Extras and add-ons can't be booked through City Experiences.

Customers can only book your main products and options on City Experiences. Sell extras separately, for example on arrival.

Redemption Sync

❌

Redemptions aren't reported to City Experiences.

Ventrata doesn't notify City Experiences when a ticket is scanned or redeemed. City Experiences only sees a redemption if it reads the booking back from Ventrata.

Pass Walkup Scanning Sync

❌

City Experiences pass holders can't be scanned at your entrance without a booking.

Customers from City Experiences need a booking made through City Experiences before they visit.

Gift Card Sync

❌

Ventrata gift cards can't be sold or redeemed through City Experiences.

Gift cards bought in Ventrata can't be used on City Experiences, and City Experiences can't sell Ventrata gift cards.

✅ supported · ❌ not supported

 

Good to know: limits and details of the City Experiences connection

  • Delays: availability and prices reach City Experiences only when it checks, so there's always a short delay after you change something in Ventrata.

  • Cancellation cutoff: City Experiences can cancel over the API only before your option's cancellation cutoff. Later cancellations have to be agreed with you.

  • What City Experiences can see: only the destinations, products and options allowed on the reseller and the connection, and enabled for sale on the Direct API source. See how to allow or disallow products.

  • Tickets: City Experiences issues the Ventrata tickets or voucher it gets on confirmation, so your usual scanning and redemption work as normal.

  • Test bookings: City Experiences can send test bookings while it sets up the connection. Test bookings don't use your availability and aren't invoiced.

 

FAQs

No products are displayed on the connection page.

Verify which destinations, products, and options are allowed on your reseller and connection. Next, confirm that your products and options are enabled for sale on the Direct API source. If the issue persists, contact our Technical Support.

My Ventrata products use Booking Size fares, and pricing isn't working correctly on City Experiences.

After every fare change, update the product mapping to ensure the partner tier counts are synced with Ventrata. Ensure the fare is enabled for sale over Direct API.

 

 

Partner Information

Hornblower Group, Inc.

Pier 3, Hornblower Landing, San Francisco, CA 94111

United States

 

Ventrata Partner ID: 1b346d99-8234-427c-a23c-fcdd04e3dfe2

 

Anchor

 

Ventrata Partner ID: 0e889f0f-dca4-4e9f-ba31-07ae9ae2f9d7

Did this answer your question?