PHP code example of kostaschasiotis / octotravel-php
1. Go to this page and download the library: Download kostaschasiotis/octotravel-php library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
kostaschasiotis / octotravel-php example snippets
indlude('/path-to/vendor/autoload.php');
use KostasChasiotis\OctoTravel\Application\ApiClient\OctoClient;
$client = new OctoClient(
baseUri: 'https://www.example.com/api_url/',
headers: [
'Authorization' => 'Bearer YOUR_API_KEY',
'Content-Type' => 'application/json'
]
);
$supplier = $client->getSupplier();
$products = $client->getProducts();
$products = $client->getProduct('PRODUCT_ID');
use KostasChasiotis\OctoTravel\Domain\Entities\AvailabilityUnit;
use KostasChasiotis\OctoTravel\Domain\Entities\AvailabilityUnits;
$availabilityCalendar = $client->availabilityCalendar(
'PRODUCT_ID',
'OPTION_ID',
new DateTimeImmutable('START_DATE'),
new DateTimeImmutable('END_DATE'),
new AvailabilityUnits(
new AvailabilityUnit(AVAILABILITY_
//... AvailabilityUnit Details
),
...
)
);
use KostasChasiotis\OctoTravel\Domain\Entities\AvailabilityUnit;
use KostasChasiotis\OctoTravel\Domain\Entities\AvailabilityUnits;
$availabilityCheck = $client->availabilityCheck(
'PRODUCT_ID',
'OPTION_ID',
new DateTimeImmutable('START_DATE'),
new DateTimeImmutable('END_DATE'),
['AVAILABILITY_ID'],
new AvailabilityUnits(
new AvailabilityUnit(
//... Unit Details
),
...
)
);
use KostasChasiotis\OctoTravel\Domain\Entities\BookingReservationUnitItem;
use KostasChasiotis\OctoTravel\Domain\Entities\BookingReservationUnitItems;
use KostasChasiotis\OctoTravel\Domain\ValueObjects\Uuid;
$bookingReservations = $client->bookingReservation(
new Uuid('UUID'),
'PRODUCT_ID',
'OPTION_ID',
'AVAILABIITY_ID',
EXPIRATION_MINUTES,
'NOTES',
new BookingReservationUnitItems(
new BookingReservationUnitItem(
new Uuid('UUID'),
'UNIT_ID'
),
...
)
);
$bookings = $client->getBookings(
'RESELLER_REFERENCE',
'SUPPLIER_REFERENCE',
new DateTimeImmutable('LOCAL_DATE'),
new DateTimeImmutable('START_DATE'),
new DateTimeImmutable('END_DATE'),
'PRODUCT_ID',
'OPTION_ID'
);
use KostasChasiotis\OctoTravel\Domain\Entities\BookingConfirmationUnitItem;
use KostasChasiotis\OctoTravel\Domain\Entities\BookingConfirmationUnitItems;
use KostasChasiotis\OctoTravel\Domain\ValueObjects\Uuid;
$bookingConfirmation = $client->bookingConfirmation(
new Uuid('UUID'),
EMAIL_RECEIPT_TRUE_FALSE,
'RESELLER_REFERENCE',
new Contact(CONTACT_DETAILS),
new BookingConfirmationUnitItems(
new BookingConfirmationUnitItem(BOOKING_CONFIRMATION_UNIT_ITEM_DETAILS),
...
)
);
use KostasChasiotis\OctoTravel\Domain\ValueObjects\Uuid;
$bookingCancellation = $client->bookingCancellation(
new Uuid('UUID'),
'REASON',
FORCE_TRUE_OR_FALSE
);
use KostasChasiotis\OctoTravel\Domain\ValueObjects\Uuid;
$booking = $client->getBooking(new Uuid('UUID'));
use KostasChasiotis\OctoTravel\Domain\Entities\BookingConfirmationUnitItem;
use KostasChasiotis\OctoTravel\Domain\Entities\BookingConfirmationUnitItems;
use KostasChasiotis\OctoTravel\Domain\Entities\Contact;
use KostasChasiotis\OctoTravel\Domain\ValueObjects\Uuid;
$bookingUpdate = $client->bookingUpdate(
new Uuid('UUID'),
'RESELLER_REFERENCE',
'PRODUCT_ID',
'OPTION_ID',
'AVAILABILITY_ID',
'EXPIRATION_MINUTES',
'NOTES',
SEND_EMAIL_RECEIPT_TRUE_OR_FALSE,
new BookingConfirmationUnitItems(
new BookingConfirmationUnitItem(BOOKING_CONFIRMATION_UNIT_ITEM_DETAILS),
...
),
new Contact(CONTACT_DETAILS)
);
use KostasChasiotis\OctoTravel\Domain\ValueObjects\Uuid;
$bookingUpdate = $client->extendReservation(
new Uuid('UUID'),
EXPIRATION_MINUTES
);
bash
composer
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.