Skip to main content

Service layer

Services live in app/Models/Services/ and contain the core business logic. Controllers delegate to services — models handle persistence and relationships.

Core services

Payment services

Search & availability services

Review services

Google services

Integration services

Versioning helpers

Caching strategy


Transformers

Transformers live in app/Models/Transformers/v1/ and format model data into API response shapes. They’re called from controllers after services return data.

Available transformers

BookingTransformer detail

The BookingTransformer is the most complex — it assembles data from across the system:
It uses many private helper methods: getLessonInfo(), getReceipt(), getAddress(), getTutorInfo(), getSubjectInfo(), getStudentContactInfo(), getMeeting(), etc.