List public spaces
GET /api/leisure/public-spaces → GetPublicSpacesUseCase
Public space detail
GET /api/leisure/public-spaces/ → GetPublicSpaceUseCase
Create public space
POST /api/leisure/public-spaces → CreatePublicSpaceUseCase
Update public space
PUT /api/leisure/public-spaces/ → UpdatePublicSpaceUseCase
Delete public space
DELETE /api/leisure/public-spaces/ → DeletePublicSpaceUseCase
List reservable resources
GET /api/leisure/public-spaces//resources → GetReservableResourcesUseCase
Create reservable resource
POST /api/leisure/public-spaces//resources → CreateReservableResourceUseCase
Update reservable resource
PUT /api/leisure/public-spaces//resources/{resourceId} → UpdateReservableResourceUseCase
Delete reservable resource
DELETE /api/leisure/public-spaces//resources/{resourceId} → DeleteReservableResourceUseCase
List resource reservations
GET /api/leisure/public-spaces//resources/{resourceId}/reservations?date=2026-07-25 → GetReservationsUseCase
Create reservation
POST /api/leisure/public-spaces//resources/{resourceId}/reservations → CreateReservationUseCase
Delete reservation
DELETE /api/leisure/public-spaces//resources/{resourceId}/reservations/{reservationId} → DeleteReservationUseCase