Structs§
- accept_
quote - POST /api/v1/quotes/:id/accept Accept quote (Syndic action - winner)
- compare_
quotes - POST /api/v1/quotes/compare Compare multiple quotes (Belgian professional best practice: 3 quotes minimum) Returns quotes sorted by automatic score (best first)
- count_
building_ quotes - GET /api/v1/buildings/:building_id/quotes/count Count total quotes for building
- count_
quotes_ by_ status - GET /api/v1/buildings/:building_id/quotes/status/:status/count Count quotes by status for building
- create_
quote - POST /api/v1/quotes Create new quote request (Syndic action)
- delete_
quote - DELETE /api/v1/quotes/:id Delete quote
- get_
quote - GET /api/v1/quotes/:id Get quote by ID
- list_
building_ quotes - GET /api/v1/buildings/:building_id/quotes List all quotes for a building
- list_
contractor_ quotes - GET /api/v1/contractors/:contractor_id/quotes List all quotes for a contractor
- list_
quotes_ by_ status - GET /api/v1/buildings/:building_id/quotes/status/:status List quotes by status
- reject_
quote - POST /api/v1/quotes/:id/reject Reject quote (Syndic action)
- start_
review - POST /api/v1/quotes/:id/review Start quote review (Syndic action)
- submit_
quote - POST /api/v1/quotes/:id/submit
Submit quote (Contractor/Syndic action). Body is optional: a quote that
already carries price data (cf.
CreateQuoteDto’s escape hatch) can be submitted bodyless — otherwise pricing is required in the body. - update_
contractor_ rating - PUT /api/v1/quotes/:id/contractor-rating Update contractor rating (for scoring algorithm)
- withdraw_
quote - POST /api/v1/quotes/:id/withdraw Withdraw quote (Contractor action)