Skip to main content

visitBerlin: Reseller Connection

Connect visitBerlin to Ventrata to sync availability and prices and receive bookings instantly. Official Berlin portal and WelcomeCard holders.

visitBerlin logo powered by Holidu Smart Destination icon Holidu Smart Destination

 

visitBerlin is the official destination marketing organization and travel portal for the German capital, operated by Berlin Tourismus & Kongress GmbH, selling attraction tickets, guided city tours, boat cruises and event admissions through its website in five languages and staffed tourist information centers. For operators, it brings Berlin visitors planning ahead and on arrival, including holders of the Berlin WelcomeCard, a public transport and attraction-discount ticket sold more than 15 million times, which drives steady volume to partner venues. visitBerlin uses Holidu Smart Destination as their connectivity provider.

 

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

 

To learn more about partnering with visitBerlin, visit visitberlin.de.

 

Primary website

Tags

Destination Organization (DMO)

Destination markets

🇩🇪 Germany

Source markets

🌎 Global

Specialties

Official Berlin portal and WelcomeCard holders

Connection features

Availability Sync · Pricing Sync · Bookings Sync

Ventrata Booked GMV (last 12 months)

US$1M+

Developed by

Holidu Smart Destination (TOMAS) (using Ventrata's OCTO API)

 

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

  • Availability Sync – visitBerlin checks your live availability in Ventrata.

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

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

 

Creating the visitBerlin Connection

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

Before you begin:

  • You must have a commercial agreement with visitBerlin for them to sell your products. To inquire about partnering with them, contact them via visitberlin.de.

  • You must have visitBerlin 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 visitBerlin (powered by Holidu Smart Destination) from the list of partners.

  2. Select visitBerlin 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 visitBerlin 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 visitBerlin

Securely share the OCTO API key shown on the connection you've created with your visitBerlin 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 visitBerlin team to complete this.

 

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

 

📗 TIP

visitBerlin 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 visitBerlin Connection

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

  • Rename the connection to tell several visitBerlin connections apart.

 

Connection Features Detailed

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

 

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

 

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

 

Product Mapping

❌

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

This works as follows:

  • Get Products (GET /products) – when visitBerlin 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}) – visitBerlin re-reads a single product to pick up changes to its options, units, booking cutoffs and settings.

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

 

Typically with visitBerlin:

  • visitBerlin reads your full product list about every 7 hours.

 

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

Content Sync

❌

visitBerlin doesn't read your product content from Ventrata.

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

Availability Sync

✅

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

This works as follows:

  • Availability Check (POST /availability) – visitBerlin 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 visitBerlin needs to book that slot.

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

 

Typically with visitBerlin:

  • Availability Check: visitBerlin checks your products around the clock, usually starting today and covering about 6 months per request, looks up to about 6 months ahead and re-checks the same product and dates every few minutes.

  • Checks are spread evenly around the clock, which points to a scheduled background sync rather than live customer searches.

 

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

Pricing Sync

✅ / ❌

Your prices come back with availability only when visitBerlin asks for them, and visitBerlin doesn't always do so.

This works as follows:

  • octo/pricing capability – visitBerlin 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 visitBerlin, both from the reseller's pricing in Ventrata (retail and wholesale/commission).

  • Group prices – when visitBerlin 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 visitBerlin:

  • visitBerlin requests octo/pricing on only part of its availability checks, so not every listing may use your Ventrata prices.

  • visitBerlin sends the number of people per unit type, so group prices are calculated for the actual booking.

 

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

Promotions Sync

❌

Your Ventrata promotions don't apply on visitBerlin.

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

Bookings Sync

✅

Bookings, changes and cancellations made on visitBerlin 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 visitBerlin, visitBerlin 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, visitBerlin 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. visitBerlin gives these to the customer, who shows them at your entrance like any Ventrata ticket.

  3. Expire: if the customer doesn't finish paying, visitBerlin 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 visitBerlin, visitBerlin 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 visitBerlin has to contact you.

  5. Change: Booking Update (PATCH /bookings/{uuid}) – visitBerlin changes existing bookings in place, for example a new date, time or number of people.

 

Typically with visitBerlin:

  • visitBerlin holds places for about 15 minutes while the customer pays (expirationMinutes).

  • A typical visitBerlin booking is for about 2 people.

  • It's normal to see more holds than confirmed bookings: holds from customers who don't finish paying simply expire.

  • visitBerlin also checks the bookings it has made, with List Bookings (GET /bookings) about every 8 hours and Get Booking (GET /bookings/{uuid}) every few minutes, for example to reconcile its records.

 

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

Pickups/Dropoff Sync

❌

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

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

Custom Questions Sync

❌

visitBerlin doesn't send answers to your booking questions.

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

Extras Sync

❌

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

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

Redemption Sync

❌

Redemptions aren't reported to visitBerlin.

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

Pass Walkup Scanning Sync

❌

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

Customers from visitBerlin need a booking made through visitBerlin before they visit.

Gift Card Sync

❌

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

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

✅ supported · ✅ / ❌ limited · ❌ not supported

 

Good to know: limits and details of the visitBerlin connection

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

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

  • What visitBerlin 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: visitBerlin issues the Ventrata tickets or voucher it gets on confirmation, so your usual scanning and redemption work as normal.

  • Test bookings: visitBerlin 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 visitBerlin.

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

Berlin Tourismus & Kongress GmbH

Schöneberger Straße 15

10963 Berlin, Germany

 

Ventrata Partner ID: 8e6b9d73-951a-4bfa-9a91-9c244769f464

 

Holidu Smart Destination GmbH

Riesstraße 24

80992 München, Germany

 

Ventrata Partner ID: 73d55f64-f964-494c-ae18-5efa566220ac

Did this answer your question?