roundly-consulting/appointments-for-laravel
Appointments for Laravel adds scheduling and booking to any Laravel app: define services, set availability, and manage appointments with an Eloquent-backed API. Includes migrations, models, and helpers to get booking flows running quickly.
composer require <vendor>/<package> and publish the config/migrations (php artisan vendor:publish --provider="...") before touching any models.php artisan tinker (app(YourModelContract::class)) before writing feature code; mismatches here surface later as confusing "wrong class" bugs.get_class($record) matches your configured model. This is the quickest smoke test that config, container bindings, and factories all agree.setUp()/defineEnvironment(), then let factories and the container do the rest. Reset config in tearDown() or use Laravel's config isolation.->published(), ->forOwner($user)) on top of the shipped factory so future package fixes — including factory/model resolution fixes — flow through automatically.app(PostContract::class) or the package's resolver helper over new Post. Any instanceof check or direct new is a place a host swap silently breaks.$model, policies/gates, and any whereMorphedTo/relation usage. A checklist in your upgrade notes pays for itself.instanceof/policy checks fail.config:cache is the usual culprit. After changing a model mapping, run php artisan config:clear (and optimize:clear in CI) — cached config will keep serving the old class.Relation::enforceMorphMap() before the package boots, or stored/retrieved types won't line up.get_class($factory->make()) and get_class(app(Contract::class)) in tinker will localize a resolution bug to config, container, or factory in seconds.How can I help you explore Laravel packages today?