oleksyuk/apaleo-bundle
A Symfony bundle for integrating the Apaleo hospitality API into PHP applications. It provides bundle configuration, service container wiring, and convenient clients/services to connect your app with Apaleo property, booking, and rate data.
apaleo-php ^0.1 — it does not add product features, it removes glue code. That makes it a buy-and-absorb decision: adopt the SDK + bundle rather than hand-rolling HTTP plumbing against the apaleo API.ApaleoClient into a service," not "build an API client." Useful for sizing roadmap items in discovery before committing engineering time.cache.app by default, or any PSR-6 pool such as Redis) is an explicit multi-server decision. If the product runs more than one app server, Redis becomes a dependency of the integration — a small but real infra/ops line item to budget.5xx/transport errors for GET/HEAD only, and surfaces 429 as ApaleoRateLimitException instead of sleeping. That last choice is a deliberate product-level stance: backoff and retry budgeting are pushed to our queue/job layer, so any feature that bulk-reads from apaleo needs an explicit throttling story. Get this into the acceptance criteria, not the post-launch incident review.base_uri enables sandbox targeting; FrameworkBundle being optional with an in-memory token cache makes CLI tools and one-off scripts trivial. Supports staging/demo environments without extra configuration work.apaleo.http_client shows up in the Symfony profiler and is tunable via framework.http_client, which lowers the cost of debugging partner-integration issues during pilots.Adopt when all of the following hold:
Look elsewhere — or plan to wrap rather than adopt — when:
Bundle class and config/bundles.php registration. Laravel teams should depend on apaleo-php directly and write a small service provider plus a cache-backed token store. Do not let the "PHP package" framing create a false expectation of drop-in Laravel support.To executives: We evaluated a first public release of oleksyuk/apaleo-bundle, a Symfony integration for the apaleo property-management API. It is a small, focused piece of plumbing — it handles credentials, access-token caching, timeouts, and retry behavior so our engineers don't rebuild that per project. The product-level value is estimate compression on apaleo-backed features and a standardized, observable way to talk to the partner API. Two caveats drive the recommendation: it is v0.1.0 (pre-stable, single maintainer, no support guarantee) and it requires PHP 8.4 and Symfony 8, which is narrower than our current fleet. Recommendation: treat it as an accelerator for Symfony 8 work only, pin the version, and keep our own thin interface in front of it so a fork or replacement stays cheap.
To engineering: No breaking changes to react to — this is the initial release. What matters is the contract it establishes: ApaleoClient is autowired from APALEO_CLIENT_ID/APALEO_CLIENT_SECRET with an optional sandbox base_uri; a dedicated apaleo.http_client enforces a 10 s timeout and retries only GET/HEAD on 5xx/transport errors; 429 is raised as ApaleoRateLimitException rather than silently slept on, so your job and queue code owns backoff; and the token cache defaults to cache.app but should be pointed at Redis (token_cache) for any multi-server deployment. FrameworkBundle is optional and falls back to an in-memory token cache — fine for CLI, wrong for production. Requirements are PHP 8.4+ and Symfony 8, so verify platform readiness before anyone writes an estimate that assumes this is available.
Bottom line for the roadmap: include it as an enabler on the next Symfony 8 + apaleo initiative, not as a standalone line item; revisit the maturity call once a 1.0 or a second maintainer appears.
How can I help you explore Laravel packages today?