Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Mindbody Php Api Laravel Package

devincrossman/mindbody-php-api

A PHP client for the Mindbody API with Laravel integration. Query scheduling, class, appointment, client, and staff endpoints through a clean, expressive interface, with configurable authentication and request handling built in.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit. This is not a Laravel package; it is a plain PHP wrapper class around Mindbody's SOAP endpoint. There is no service provider, facade, config file, contract, or test suite implied by the description. In a Laravel codebase it would land as a vendor dependency invoked directly from controllers or jobs, which is a poor architectural fit: no dependency injection boundary, no swap-ability, no framework-native configuration or credential management. It can be made to fit only behind a thin adapter of our own.

Integration feasibility. Technically trivial to install and call — SOAP calls via a WSDL are straightforward from PHP's ext-soap. The friction is not installation, it is everything around it: SOAP envelope/XML handling, WSDL retrieval and caching, authentication (source credentials plus staff user credentials plus site ID), and error semantics that are expressed as SOAP faults rather than HTTP status codes. Mindbody's public API strategy has moved toward a REST/OpenAPI v6 surface; a SOAP wrapper is therefore a legacy-era artifact and its long-term viability is the central question, not its code quality.

Technical risk. High, concentrated in three areas:

  • Maintenance risk: 29 stars, one apparent author, unknown/undisclosed repository, and no evident release cadence. This is a bus-factor-of-one dependency with no security response path.
  • Platform risk: Mindbody's SOAP API is legacy. If Mindbody sunsets or restricts SOAP endpoints, this wrapper stops working with no upstream fix likely.
  • Runtime risk: SOAP requires ext-soap, WSDL fetching can fail or be slow, PHP 8 compatibility is unverified, and there is no typed API surface, so misuse fails late at runtime rather than at analysis time.

Key questions.

  • Is the repository public, and what is the commit history and last release date?
  • Which Mindbody API version does this target, and is SOAP still supported for our specific use cases (bookings, clients, staff, sales)?
  • Does it handle token/session expiry, WSDL caching, retries, and timeouts, or is that on us?
  • What is the license/attribution obligation (MIT — permissive, low risk) and are there transitive dependencies?
  • Has anyone validated PHP 8.x and current Laravel versions against it?

Integration Approach

Stack fit. PHP/Laravel is compatible at the language level; the package offers no Laravel integration. Plan to treat it as an infrastructure detail behind an application-owned interface (e.g., MindbodyClient contract) so the underlying library is replaceable. Bind it through a service provider, move source credentials and site ID into config/services.php and .env, and never call the wrapper class directly from controllers.

Migration path. Do not adopt as-is. Two viable paths:

  1. Wrap-and-contain (short term): fork or vendor the class, add PSR-3 logging, typed exceptions, timeout/retry policy, and WSDL local caching. This buys time but inherits the SOAP legacy risk.
  2. Replace-with-official (preferred): evaluate Mindbody's official SDK or a generated REST client for API v6, and implement the same internal contract. If v6 covers our endpoints, skip this package entirely.

Decide between these in a short spike before committing engineering time.

Compatibility. Verify ext-soap availability across local, CI, and production containers; confirm PHP version support; confirm the package's SOAP client is configured for TLS and does not disable certificate verification. Check that Mindbody's rate limits and request size limits are respected by the wrapper's call patterns.

Sequencing.

  1. Discovery spike against a Mindbody sandbox: authenticate, exercise 3–5 real endpoints, measure latency and error behavior.
  2. Confirm API version and SOAP support horizon with Mindbody (or their docs/account manager).
  3. Build the internal adapter/contract and a fake implementation for tests.
  4. Integrate one low-risk read path (e.g., class schedules or client lookup) behind a feature flag.
  5. Add write paths (bookings, client creation) only after observability and retry semantics are proven.
  6. Reassess replacement with an official client before scale-up.

Operational Impact

Maintenance. Ongoing maintenance will fall to us, not upstream. Budget for owning a fork: dependency pinning, PHP upgrade testing, and eventual replacement. The MIT license is operationally friendly (no copyleft, no commercial terms to track), but a single-maintainer, low-signal project is a supply-chain concern; pin the commit hash and review before any update.

Support. There is no vendor support channel for this wrapper. Mindbody support will not troubleshoot third-party libraries, and SOAP fault messages are often opaque. Expect internal runbooks and a named owner. Community help will be thin given the star count.

Scaling. SOAP is chatty and heavyweight relative to REST. Calls are synchronous, so high-volume flows (syncing large client lists, nightly reconciliation) must go through queued jobs with backoff and rate limiting, plus caching of stable reference data (locations, staff, service catalog). Without an application-level cache and rate limiter, we will hit Mindbody throttling under load. Plan for horizontal workers, but note the bottleneck is external API throughput, not our app tier.

Failure modes.

  • WSDL unreachable or slow at cold start (mitigate with local cached WSDL and a circuit breaker).
  • SOAP fault mapped to an uncaught exception, surfacing as a 500.
  • Credential/session expiry mid-job with no refresh logic.
  • Silent partial success on batch operations.
  • Network timeouts causing duplicate writes on retry (needs idempotency keys or dedupe checks).
  • Schema drift if Mindbody changes the service definition.

Each needs explicit handling: typed exceptions, structured logging with correlation IDs, dead-letter queues, and alerting on error rate.

Ramp-up. Initial ramp-up is low — a developer can call an endpoint in an afternoon. Realistic ramp-up to production quality is one to two weeks, because the hard parts are not in the wrapper: SOAP error semantics, credential lifecycle, retry/idempotency design, observability, and the strategic decision about SOAP versus REST. Documentation is effectively absent, so onboarding depends on the spike output and the internal adapter we write.

Recommendation. Treat this package as a stopgap, not a foundation. Validate SOAP's support horizon first; if REST v6 covers our needs, build on an official client and skip this dependency. If SOAP is unavoidable short-term, contain it behind an internal interface, fork with observability and retry hardening, and schedule a replacement review within two quarters.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log
gregsphotography/site-builder-components
io-digital/clickatell
snowsoft/laravel-admin
oxygen/auth
relicsoftware/barakah-payment-gateway
tobya/work-with-composer
equipc/laravel-email-validator
equipc/laravel-email-database-log
adedsec/nova-translated-labels
wazza/laravel-db-encryption
hokny/laravel-generator
vonsogt/backup
jengo/queues
jeremykenedy/laravel-observability
coleus/frame
thtg88/journalism
filagora/filagora-ai-forums