Developers

API-first distribution.

Products, availability, bookings, pricing, and checkout sit behind one internal API. Marketplace credentials stay outside the core until a channel is actually configured.
Authorization: Bearer vx_...

GET /api/v1/catalog

Products, images, descriptions, included items, categories, and 60 days of slots.

POST /api/v1/products

Create or replace a product, including photos and ticket types.

PUT /api/v1/products/:id/availability

Dates, times, remaining places, and a price for each category.

POST /api/v1/cart

Open a cart for a product, a departure, and quantities.

POST /api/v1/cart/:id/checkout

Attach the guest: name, email, phone, country.

POST /api/v1/cart/:id/confirm

Confirm the sale. No card number is stored.

GET /api/v1/bookings

Recent sales, including reference, status, and total.

GetYourGuide calls Viax

The supplier API uses HTTP Basic Auth. The base URL, username, and password are on the admin connectivity page. A product id is the Viax product id, and the organization must be approved for distribution. A reservation is held for 60 minutes.

Authorization: Basic ...

POST /api/gyg/1/get-availabilities
POST /api/gyg/1/reserve
POST /api/gyg/1/cancel-reservation
POST /api/gyg/1/book
POST /api/gyg/1/cancel-booking

Channel adapters

Each marketplace adapter is isolated. Viax does not call Viator, GetYourGuide, Tiqets, or any other live marketplace until that channel's credential and specification are configured.

class ChannelAdapter {
  createProduct()
  updateAvailability()
  updatePricing()
  receiveBooking()
  cancelBooking()
}

Operator webhooks

Outbound events are prepared for booking.created, booking.cancelled, and distribution.error. Signing uses WEBHOOK_SIGNING_SECRET. Nothing is sent until an endpoint is stored for the organization. Create a key in the workspace under API. The secret is shown once.