Skip to content

Legacy Laravel Feature Census

Status: Initial migration baseline

The uploaded Laravel application contains administrator/editor, partner/provider, registered-customer and public-user functionality. It is not multi-tenant.

Legacy administrator/provider capability groups

  • users, roles, partner applications and verification;
  • properties/villas;
  • vehicles/cars;
  • hotels and hotel rooms;
  • experiences/tours;
  • spaces;
  • beauty/salon services and agents;
  • availability/custom pricing;
  • orders/bookings/cancellation;
  • payment gateways;
  • currencies, tax and commission;
  • coupons;
  • reviews/comments;
  • partner earnings, wallet and withdrawals;
  • media library;
  • blog/posts/categories/tags/comments;
  • CMS pages;
  • menus/navigation;
  • homepage/theme/appearance configuration;
  • plugin/theme management;
  • languages/translations/RTL;
  • SEO/social metadata/sitemaps/robots/canonical URLs;
  • contact settings;
  • Mapbox/location;
  • reCAPTCHA;
  • SMTP/email/jobs;
  • invoices and iCal plugin support;
  • GDPR/cookie configuration;
  • service-level enable/approval settings;
  • Meta property/vehicle catalog feeds and frontend Meta events;
  • Google conversion/analytics snippets.

Legacy public/customer capabilities

  • public homepage/content/blog/contact;
  • service discovery/search/filter/map/detail pages;
  • availability and dynamic pricing;
  • instant booking, enquiry and combined booking modes;
  • external booking link mode;
  • cart/checkout;
  • guest checkout with automatic account creation;
  • payment flows;
  • booking history/cancellation;
  • wishlist;
  • reviews;
  • user dashboard/profile/verification/wallet/withdrawals;
  • email/password authentication, password reset and social login;
  • partner application/provider dashboard;
  • conversations/chat and notifications;
  • language and currency switching;
  • social sharing;
  • SEO/discoverability.

Migration classification categories

Every legacy feature must be assigned exactly one target decision:

  • PRESERVE — semantics remain substantially unchanged.
  • GENERALIZE — capability survives but becomes reusable across verticals/tenants.
  • REDESIGN — business intent remains; workflow/model changes.
  • REPLACE — new subsystem supersedes legacy implementation.
  • RETIRE — intentionally removed with documented approval.
  • NEW — not present in Laravel.

The detailed parity matrix is maintained under Migration → Laravel Parity Matrix.