Search by

aenzenith / laravel-elektraweb

aenzenith

Modern, framework-agnostic-minded Laravel SDK for ElektraWeb APIs. Ships the Booking API module (rates, availability, reservations, guest cancellation, definitions, constants) with typed requests and responses. Laravel 9 through 13, PHP 8.1+.

Package info

github.com/aenzenith/laravel-elektraweb

pkg:composer/aenzenith/laravel-elektraweb

Statistics

Installs: 5

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v1.0.1 2026-09-28 14:06 UTC

This package is auto-updated.

Last update: 2026-09-28 14:11:04 UTC


README

Tests

ElektraWeb API'leri için Laravel istemcisi. Şu an Booking API modülünü içerir.

Booking API dokümanındaki tüm uçlar desteklenir: fiyat ve müsaitlik, rezervasyon oluşturma, güncelleme ve iptal, ekstra hizmet rezervasyonu, misafirin SMS ile iptali, otel tanımları, B2E listeleri ve sistem sabitleri. İstekler Laravel HTTP client üzerinden gider, JWT önbellekte tutulur, referans veriler sağlayıcı erişilemezken önbellekteki son kopyadan sunulur.

Gereksinim Sürüm
PHP 8.1+
Laravel 9, 10, 11, 12, 13

Kurulum

composer require aenzenith/laravel-elektraweb
php artisan vendor:publish --tag=elektraweb-config
ELEKTRAWEB_HOTEL_ID=26780
ELEKTRAWEB_BOOKING_API_KEY=api-anahtariniz

Kullanım

use Aenzenith\ElektraWeb\BookingApi\Enums\PaymentType;
use Aenzenith\ElektraWeb\BookingApi\Requests\Contact;
use Aenzenith\ElektraWeb\BookingApi\Requests\CreateReservation;
use Aenzenith\ElektraWeb\BookingApi\Requests\Guest;
use Aenzenith\ElektraWeb\BookingApi\Requests\PriceSearch;
use Aenzenith\ElektraWeb\Facades\BookingApi;

$hotel = BookingApi::hotel();

$offer = $hotel->rates()
    ->search(PriceSearch::make('2026-07-01', '2026-07-05', adults: 2)->withCurrency('EUR'))
    ->bookable()
    ->cheapest();

$reservation = $hotel->reservations()->create(
    CreateReservation::fromOffer($offer, '2026-07-01', '2026-07-05', nationality: 'TR')
        ->withGuests([Guest::mr('Ahmet', 'Yılmaz'), Guest::ms('Ayşe', 'Yılmaz')])
        ->withContact(Contact::make('Ahmet', 'Yılmaz', 'ahmet.yilmaz@ornek.com', '+90 532 111 22 33'))
        ->withPaymentType(PaymentType::BankTransfer)
);

$reservation->reservationId;

payment-type alanı rezervasyonun ödeme yöntemini belirtir. Değerler ve kendi sanal POS'unuzla ödeme alırken izlenecek sıra Ödeme tipi sayfasında anlatılır.

Dokümantasyon

Tam dokümantasyona docs/ klasöründen ulaşabilirsiniz.

Geliştirme

composer test       # PHPUnit
composer analyse    # PHPStan, seviye 8
composer format     # Pint

CI, PHP 8.1–8.5 ve Laravel 9–13 kombinasyonlarını prefer-lowest ve prefer-stable bağımlılıklarla çalıştırır.

Lisans

MIT. Ayrıntılar için LICENSE.