Skip to main content

KKday: Reseller Connection

Connect KKday to Ventrata to sync availability and prices and receive bookings instantly. Mobile-first travelers from Taiwan, Hong Kong and wider Asia.

KKday logo

 

KKday is a Taipei-headquartered online travel agency (OTA) for experiences, selling tours, attraction tickets, transport, eSIM and rail passes to an app-first audience across Taiwan, Japan, Hong Kong, Korea and Southeast Asia. For operators, it brings high-frequency Asian travelers from Taiwan, Hong Kong, Japan, Korea, Singapore, Malaysia, Thailand and the Philippines, with Japan its flagship destination, who buy theme park, outdoor and city experiences on mobile.

 

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

 

To learn more about partnering with KKday, visit kkday.com.

 

Primary website

Tags

OTA · Tours & Activities OTA

Destination markets

🌎 Global

Source markets

🇭🇰 Hong Kong · 🇯🇵 Japan · 🇲🇾 Malaysia · 🇵🇭 Philippines · 🇸🇬 Singapore · 🇰🇷 South Korea · 🇹🇼 Taiwan · 🇹🇭 Thailand

Specialties

Mobile-first travelers from Taiwan, Hong Kong and wider Asia

Connection features

Availability Sync · Pricing Sync · Bookings Sync · Pickups/Dropoff Sync

Ventrata Booked GMV (last 12 months)

US$1M+

Ventrata Booked Suppliers (last 12 months)

10+

Developed by

KKday (using Ventrata's OCTO API)

 

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

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

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

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

  • Pickups/Dropoff Sync – pickup and dropoff details on KKday bookings are passed to Ventrata.

 

Creating the KKday Connection

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

Before you begin:

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

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

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

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

 

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

 

 

📗 TIP

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

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

  • Rename the connection to tell several KKday connections apart.

 

Connection Features Detailed

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

 

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

 

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

 

Product Mapping

❌

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

This works as follows:

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

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

 

Typically with KKday:

  • KKday reads your full product list every few days.

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

 

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

Content Sync

❌

KKday doesn't read your product content from Ventrata.

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

Availability Sync

✅

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

This works as follows:

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

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

 

Typically with KKday:

  • Availability Check: KKday checks your products throughout the day, usually starting about 5 months ahead and covering 30 days per request, looks up to about a year ahead and re-checks the same product and dates about every 11 hours.

  • Checks are busiest between 12:00 and 18:00 UTC, which suggests most checks are live, as customers browse KKday.

 

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

Pricing Sync

✅

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

This works as follows:

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

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

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

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

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

Promotions Sync

❌

Your Ventrata promotions don't apply on KKday.

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

Bookings Sync

✅

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

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

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

 

Typically with KKday:

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

  • A typical KKday booking is for about 2 people.

 

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

Pickups/Dropoff Sync

✅

KKday sends pickup details with its bookings.

This works as follows:

  • octo/pickups capability – KKday can see which options offer pickup and their pickup points, and send the customer's pickup point or hotel with the booking.

  • If a hotel doesn't match one of your pickup points, Ventrata saves it with the booking so you can arrange the pickup.

 

Typically with KKday:

  • KKday sends pickup details with its bookings.

Custom Questions Sync

❌

KKday doesn't send answers to your booking questions.

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

Extras Sync

❌

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

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

Redemption Sync

❌

Redemptions aren't reported to KKday.

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

Pass Walkup Scanning Sync

❌

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

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

Gift Card Sync

❌

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

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

✅ supported · ❌ not supported

 

Good to know: limits and details of the KKday connection

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

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

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

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

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

酷遊天股份有限公司 (KKday)

臺北市內湖區新湖一路128巷15號5樓

Taipei City, Taiwan

 

Ventrata Partner ID: 64a03379-1375-4f0d-8773-157c2c24c11a

Did this answer your question?