ti2-bokun
v1.0.2
Published
Bokun's TI2 Plugin
Readme
TI2 Bokun Plugin
This is a TourConnect TI2 plugin for integrating with the Bokun booking platform via the OCTO API.
Prerequisites
This plugin is designed to work with the TourConnect TI2 Docker environment. Make sure you have:
- Docker and Docker Compose installed
- The TI2 container running from
../bbtesting
Installation
The plugin is automatically mounted into the TI2 container via the docker-compose-ti2.yml configuration.
To install dependencies within the TI2 container:
# From the bbtesting directory
cd ../bbtesting
docker-compose exec ti2 bash -c "cd /ti2-bokun && npm install"Or if you have Node.js installed locally:
npm installConfiguration
The plugin uses the following configuration:
API Credentials
The apiKey (Bearer token for the OCTO API) is provided via:
- TI2 instantiation - Passed when creating the plugin instance (production use)
- Environment variables - For testing:
ti2_bokun_apiKey(already configured in Docker)
User Configuration Parameters
The following parameters are configured by the user through TI2:
apiKey: Bokun API key (Bearer token for OCTO API)endpoint: The Bokun OCTO API endpoint (default: https://api.bokun.io/octo/v1; use https://api.bokuntest.com/octo/v1 for testing)tenant: Bokun tenant subdomain for booking URL (e.g.tourconnect-llc). EnablesprivateUrlin booking information (format:https://{tenant}.bokun.io/sales/{id})
Features
The plugin supports the following TI2 operations:
- Token Validation: Validates Bokun API credentials
- Product Search: Retrieves and translates Bokun products
- Availability Search: Checks product availability and pricing
- Availability Calendar: Returns availability in calendar format
- Create Booking: Creates new bookings in Bokun (OCTO reserve + confirm flow)
- Search Booking: Retrieves booking details by ID or travel date
- Cancel Booking: Not yet implemented for OCTO (see code TODO)
API Authentication
The plugin uses Bearer token authentication for the Bokun OCTO API. Each request includes:
Authorization: Bearer {apiKey}Content-Type: application/jsonOcto-Capabilities: octo/pricing,octo/pickups,octo/cart,octo/offers,octo/questions
Testing
To run tests within the TI2 container:
# From the bbtesting directory
cd ../bbtesting
docker-compose exec ti2 bash -c "cd /ti2-bokun && npm test"Or if you have Node.js installed locally:
npm testEnvironment Setup
For development and testing, you can use Bokun's test environment:
- Test Extranet: https://extranet.bokuntest.com
- Test API: https://api.bokuntest.com/octo/v1
- Test App Store: https://appstore.bokuntest.com
License
GPL-3.0
