0ace23de53
- Added service JOIN to /api/portal/appointments to include name, duration,
and price fields in the service sub-object
- Changed API response shape from { upcoming, past } to { appointments: [] }
to match client expectations and simplify data flow
- Updated Appointments, ReportCards, and Dashboard components to transform
the new response format (startTime → date + time) and extract serviceName,
petName, and groomerName from nested sub-objects
Co-Authored-By: Paperclip <noreply@paperclip.ing>