Skip to main content

FunEx: Reseller Connection

Connect FunEx to Ventrata to sync availability and prices and receive bookings instantly. Discount tickets sold through US employee perks programs.

FunEx logo

 

FunEx is a California-based discount ticket seller distributing theme park, water park, attraction, movie, dinner theater, sports and concert admissions through corporate employee-perks programs, offered free to employers. Trading for thirty years, it counts Amazon, Netflix and Johnson & Johnson among registered employers and advertises savings of up to 55 percent for employees of US corporations. For operators, it brings US employees buying discounted leisure and attraction tickets through a workplace benefits portal, a demand pool outside travel planning and concentrated in US destinations. It has twice been ranked on the Inc 5000.

 

Connecting FunEx to Ventrata syncs your availability and prices and delivers bookings, changes and cancellations with tickets issued automatically.

 

To learn more about partnering with FunEx, visit funex.com.

 

Primary website

Tags

Deals & Corporate Benefits

Destination markets

🌎 Global

Source markets

🌎 Global

Specialties

Discounted tickets through US employee perks programs

Connection features

Availability Sync · Pricing Sync · Bookings Sync

Ventrata Booked GMV (last 12 months)

US$100k+

Ventrata Booked Suppliers (last 12 months)

10+

Developed by

FunEx (using Ventrata's OCTO API)

 

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

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

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

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

 

Creating the FunEx Connection

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

Before you begin:

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

  • You must have FunEx 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 FunEx from the list of partners.

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

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

 

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

 

 

📗 TIP

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

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

  • Rename the connection to tell several FunEx connections apart.

 

Connection Features Detailed

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

 

In short: FunEx 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 FunEx, so anything you change in Ventrata reaches FunEx the next time it checks.

 

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

 

Product Mapping

❌

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

This works as follows:

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

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

 

Typically with FunEx:

  • FunEx reads your full product list about every 12 hours.

  • It re-reads each product about every 12 hours.

 

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

Content Sync

❌

FunEx doesn't read your product content from Ventrata.

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

Availability Sync

✅

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

This works as follows:

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

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

 

Typically with FunEx:

  • Availability Check: FunEx checks your products throughout the day, usually starting today and covering 31 days per request, looks up to about 4 months ahead and re-checks the same product and dates about every 7 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, FunEx shows it after its next check. For dates it checks regularly, that's within about 7 hours. Dates further ahead are usually checked less often.

Pricing Sync

✅

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

This works as follows:

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

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

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

  • FunEx 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 FunEx to map your products, ask them to enable pricing (octo/pricing) as well, or switch it on yourself if you map in FunEx's portal. Otherwise it may be off, and FunEx won't receive your Ventrata prices.

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

Promotions Sync

❌

Your Ventrata promotions don't apply on FunEx.

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

Bookings Sync

✅

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

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

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

 

Typically with FunEx:

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

  • A typical FunEx 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.

  • FunEx also checks the bookings it has made, with Get Booking (GET /bookings/{uuid}) about every 13 hours, for example to reconcile its records.

 

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

Pickups/Dropoff Sync

❌

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

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

Custom Questions Sync

❌

FunEx doesn't send answers to your booking questions.

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

Extras Sync

❌

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

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

Redemption Sync

❌

Redemptions aren't reported to FunEx.

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

Pass Walkup Scanning Sync

❌

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

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

Gift Card Sync

❌

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

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

✅ supported · ❌ not supported

 

Good to know: limits and details of the FunEx connection

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

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

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

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

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

Fun Express, Inc.

43 Corporate Park, Suite 104

Irvine, CA 92606, United States

 

Ventrata Partner ID: cf0e84db-5463-47fc-8614-c5dcab6a20af

Did this answer your question?