Skip to main content

Perkopolis: Reseller Connection

Connect Perkopolis to Ventrata to sync availability and prices and receive bookings instantly. Employee perks for a closed corporate audience.

Perkopolis logo

 

Perkopolis is a Canadian corporate-benefits marketplace running fully managed perk programs for employers and member associations, giving staff access to more than 5,000 negotiated offers across travel, retail, dining, entertainment and attractions, with bilingual concierge support. For operators, it brings a closed audience of Canadian households reached through their workplace, buying attraction and entertainment tickets at member pricing for family and leisure time.

 

Connecting Perkopolis to Ventrata will sync your availability and prices and deliver bookings, changes and cancellations with tickets issued automatically.

 

To learn more about partnering with Perkopolis, visit perkopolis.com.

 

Primary website

Tags

Deals & Corporate Benefits

Destination markets

🌎 Global

Source markets

🌎 Global

Specialties

Employee perks for a closed corporate audience

Connection features

Availability Sync · Pricing Sync · Bookings Sync

Developed by

Perkopolis (using Ventrata's OCTO API)

 

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

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

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

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

 

Creating the Perkopolis Connection

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

Before you begin:

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

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

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

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

 

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

 

📗 TIP

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

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

  • Rename the connection to tell several Perkopolis connections apart.

 

Connection Features Detailed

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

 

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

 

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

 

Product Mapping

❌

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

This works as follows:

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

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

 

Typically with Perkopolis:

  • Perkopolis reads your full product list about every 3 hours.

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

 

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

Content Sync

✅ / ❌

Perkopolis can read your product content, such as descriptions and images, from Ventrata.

This works as follows:

  • octo/content capability – when Perkopolis adds it to the Octo-Capabilities header, Get Products (GET /products) and Get Product (GET /products/{productId}) also return your product content, such as descriptions, highlights, inclusions and images.

  • Content changes in Ventrata reach Perkopolis on its next product refresh.

 

Typically with Perkopolis:

  • Perkopolis requests octo/content.

Availability Sync

✅

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

This works as follows:

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

  • Availability Calendar (POST /availability/calendar) – returns one summary per day instead of every time slot, typically to show which dates are open in a date picker.

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

 

Typically with Perkopolis:

  • Availability Check: Perkopolis checks each product about every 10 hours, usually starting 33 days ahead and covering a single day per request and looks up to 33 days ahead.

  • Availability Calendar: Perkopolis checks each product about every 14 hours, usually starting today and covering about 4 months per request and looks up to about 6 months ahead.

 

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

Pricing Sync

✅

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

This works as follows:

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

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

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

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

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

Promotions Sync

❌

Your Ventrata promotions don't apply on Perkopolis.

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

Bookings Sync

✅

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

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

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

 

Typically with Perkopolis:

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

  • A typical Perkopolis booking is for about 1 person.

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

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

 

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

Pickups/Dropoff Sync

❌

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

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

Custom Questions Sync

❌

Perkopolis doesn't send answers to your booking questions.

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

Extras Sync

❌

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

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

Redemption Sync

❌

Redemptions aren't reported to Perkopolis.

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

Pass Walkup Scanning Sync

❌

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

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

Gift Card Sync

❌

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

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

✅ supported · ✅ / ❌ limited · ❌ not supported

 

Good to know: limits and details of the Perkopolis connection

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

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

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

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

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

Concierge Connection, ULC

3080 Yonge Street, Suite 4010, Toronto, Ontario M4N 3N1

Canada

 

Ventrata Partner ID: 751c85ad-dab2-4af1-b333-1eee4920d194

Did this answer your question?