Official PHP client for the tourware REST API
The tourware PHP SDK provides a clean, consistent, and extensible PHP interface to the tourware REST API.
It simplifies authentication, querying, filtering, pagination, and interaction with all tourware resources such as Travels, Bookings, Customers, and more.
The SDK is designed for modern PHP applications, including Laravel and Symfony, but works with any PSR-4 compatible project.
Install via Composer:
composer require tourware/sdk-phpLoad the package:
require 'vendor/autoload.php';use tourware\Client;
// Create a client for the tourware API (staging by default)
$client = Client::create(
xApiKey: 'YOUR_X_API_KEY'
);
// Production:
$prodClient = Client::create(
xApiKey: 'YOUR_X_API_KEY',
staging: false
);
// Example: Fetch a travel record
$travel = $client->travels()->find('60feacb365f5f1002750c2b2');Each API resource has a dedicated client.
$client->travel()->find('id');
$client->booking()->list();
$client->customer()->create([...]);use tourware\Entities\Travel;
$travel = $client->entity(new Travel)->find('id');$travel = $client->raw('travels')->find('id');The SDK includes a fluent query builder.
$travels = $client
->travel()
->query()
->filter('title')->contains('Kenya')
->filter('price.adult')->gte(1500)
->sort('updatedAt')->desc()
->offset(0)
->limit(20)
->get();$title = $travels->get('records.0.title');
$firstName = $travels->get('records.0.responsibleUser.firstname');$client->travel()->create([
'title' => 'New Travel Package',
]);$client->travel()->find('id');$client->travel()->update('id', [
'title' => 'Updated Title',
]);$client->travel()->delete('id');$client->travel()->list(offset: 0, limit: 50);$response = $client
->custom("/relations/getRelations/travels/bba0b42e4699", method: 'GET')
->call();try {
$travel = $client->travel()->find('id');
} catch (\tourware\Exceptions\ApiException $e) {
echo "API Error: " . $e->getMessage();
} catch (\Exception $e) {
echo "General Error: " . $e->getMessage();
}composer test- Store API keys in environment variables
- Prefer Query Builder over raw endpoints
- Wrap API calls in
try/catch - Log API requests and responses
- Keep SDK updated regularly
Contributions are welcome!
Please check the CONTRIBUTING.md and CODE_OF_CONDUCT.md before submitting a PR.
If you discover a security vulnerability, please email:
Do not create public issues for security topics.
See:
CHANGELOG.md
- Official maintainers from tourware
- Community contributors
Licensed under MIT License.
- Clean & intuitive API
- Fully PSR-4 compliant
- Flexible Query Builder
- Supports all tourware endpoints
- Ideal for Laravel, Symfony & general PHP apps
- Built for tour operators, DMCs and travel platforms
“This SDK gives you a modern, stable, and scalable foundation for any tourware integration — from small tools to full enterprise platforms.”