aenzenith / laravel-elektraweb
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+.
Requires
- php: ^8.1
- ext-json: *
- guzzlehttp/guzzle: ^7.4
- illuminate/contracts: ^9.0|^10.0|^11.0|^12.0|^13.0
- illuminate/http: ^9.0|^10.0|^11.0|^12.0|^13.0
- illuminate/support: ^9.0|^10.0|^11.0|^12.0|^13.0
Requires (Dev)
- larastan/larastan: ^2.9|^3.0
- laravel/pint: ^1.18
- orchestra/testbench: ^7.0|^8.0|^9.0|^10.0|^11.0
- phpunit/phpunit: ^9.6|^10.5|^11.5|^12.0
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
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.
- Kurulum ve yapılandırma
- Kimlik doğrulama
- Fiyat ve müsaitlik
- Rezervasyon işlemleri
- Ödeme tipi
- Misafirin SMS ile iptali
- Otel tanımları ve sabit listeler
- B2E işlemleri
- Önbellek
- Hatalar ve olaylar
- Test
- Düşük seviyeli erişim ve yeni modüller
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.