Service Catalog & Enhanced Booking API (beta)#
Repairy Partner API now supports a comprehensive service catalog system that lets workshops manage their services with visual icons, color coding, cost ranges, and intelligent booking segregation. This replaces basic service selection with a rich, customizable service management platform.
Service Catalog Features#
Visual Service Management#
Icons & Color Coding: Each service has custom icons and color schemes for easy identification
Rich Descriptions: Detailed service titles with technical specifications and expected outcomes
Cost Management: Set cost ranges with min/max pricing for flexible pricing strategies
Smart Categorization: Automatic service grouping (Maintenance, Tyres, Repair, Others)
Booking Segregation & Daily Limits#
Category-Level Limits: Set daily booking limits per service category
Service-Specific Overrides: Individual services can have custom daily limits
Advanced Scheduling: Granular control over service availability and capacity
Custom Service Support: Full management for workshop-specific services
Service Categories#
| Code | Label | Description |
|---|
service | Maintenance | Basic and logbook services, oil changes, routine maintenance |
tyres | Tyres & Wheels | Tire replacement, wheel alignment, brake services |
repair | Repair Services | Engine diagnostics, transmission, electrical repairs |
others | Other Services | Inspections, AC service, custom workshop services |
API Integration Example#
{
"serviceCategory": "service",
"services": [
{
"catalogId": "68b7bf3f6210580c57363a94",
"catalogCode": "logbook",
"title": "Logbook Service - Full Synthetic Oil Change & 47-Point Inspection",
"category": "service",
"cost": 150,
"maxCost": 200,
"icon": "basic",
"color": "green"
}
]
}
Service Categorization#
The enhanced service selection architecture supports comprehensive service categorization with semantically-enriched descriptive metadata:Maintenance & Compliance Services [maintenance]#
{
"category": "service",
"title": "Comprehensive Logbook Service - Synthetic Oil Exchange, Multi-Stage Filtration & 47-Point Diagnostic Assessment"
}
Tyre & Suspension Systems [tyres]#
{
"category": "tyres",
"title": "Precision Wheel Alignment & Dynamic Balancing - Computer-Guided Adjustment for Optimal Vehicle Dynamics"
}
Diagnostic & Repair Operations [repair]#
{
"category": "repair",
"title": "Advanced Engine Diagnostics - OBD-II Analysis, Component Testing & Performance Restoration"
}
Specialized Service Operations [others]#
{
"category": "others",
"title": "Climate Control System Service - Refrigerant Recovery, Component Replacement & Performance Validation"
}
Service Category Derivation and Precedence Logic:#
Booking containing multiple services from different categories, the API will derive the booking's category based on the highest priority service present:1.
If any service is service category → booking becomes service
2.
Else if any service is tyres category → booking becomes tyres
3.
Else if any service is repair category → booking becomes repair
4.
Else → booking becomes others
This precedence derivation will be applied when there is no serviceCategory in a booking request.Intelligent Service Processing#
The new booking API intelligently handles service category and service selection with smart parsing and fallback mechanisms:Service Category Processing#
Accepts serviceCategory in booking requests (optional)
Validates category against allowed values (service, tyres, repair, others)
Auto-derives category from services if not provided or invalid
Graceful fallback - invalid categories are ignored and correct category is derived
Service Selection Processing#
Catalog Lookup: Services are resolved using catalogId and catalogCode from your service catalog
Service Enrichment: Missing fields (title, category, icon, color) are populated from catalog
Custom Service Support: Services not found in catalog are stored as-is with provided data
Flexible Input: Accepts both catalog references and custom service definitions
Processing Flow#
{
"serviceCategory": "service",
"services": [
{
"catalogId": "68b7bf3f6210580c57363a94",
"catalogCode": "logbook",
"title": "Logbook Service",
"cost": 150
},
{
"title": "Custom Brake Service",
"category": "repair",
"cost": 200
}
]
}
{
"serviceCategory": "service",
"services": [
{
"catalogId": "68b7bf3f6210580c57363a94",
"catalogCode": "logbook",
"title": "Logbook Service - Full Synthetic Oil Change & 47-Point Inspection",
"category": "service",
"icon": "clipboard",
"color": "blue",
"cost": 150,
"maxCost": 200,
"source": "catalog"
},
{
"title": "Custom Brake Service",
"category": "repair",
"cost": 200,
"source": "custom"
}
]
}
Legacy System Compatibility#
The enhanced service selection architecture maintains complete backward compatibility with existing API implementations:1.
Seamless Migration: Existing booking workflows continue operation without modification
2.
Progressive Enhancement: New service requests automatically leverage enhanced descriptive frameworks
3.
Extended Response Schema: API responses incorporate enriched service metadata through the title attribute
Recommended Integration Patterns#
Contemporary booking implementations should leverage the enhanced service catalog architecture:{
"serviceCategory": "service",
"services": [
{
"catalogId": "68b7bf3f6210580c57363a94",
"title": "Premium Synthetic Oil Service - Full Synthetic Exchange, High-Performance Filtration & Comprehensive Vehicle Assessment",
"category": "service",
"cost": 95.00,
"source": "catalog"
}
]
}
Service Source Classification#
The enhanced architecture supports multiple service provisioning sources with distinct operational characteristics:catalog: Standardized service offerings from certified workshop service catalogs
custom: Bespoke workshop-specific services with tailored descriptive specifications
legacy: Migrated service definitions enhanced with structured title frameworks
fallback: Default service configurations for catalog unavailability scenarios
Legacy Supports and Corner Cases#
Using New Version Payload on Legacy Shop#
Shop with legacy services which accidentally receives new service catalog version API payload which includes serviceCategory and services will not be rejected.The booking creation will go through but the Repairy dashboard would not render the booking services list correctly.Hence, We strongly suggest to migrate the shop first to the new version then start using the service catalog APIs afterwards.Using an unknown Catalog ID#
The service item in the new service catalog API can accept a catalogId as reference to the service item configured withing the Repairy Dashboard.This catalogId is unique per service item in the catalog. This parameter in the API is not mandatory so Partner can make use of dynamic and unmapped services in a booking.
Allowing flexible integration while still maintaining data between both parties so the shop would not loose the services information.However, passing an unknown catalogId is not recommended even though it would not make the API request to be failed.
The service item would not be mapped correctly, resulting the Availability feature per service level to work not as expected as well as bad rendering in the Repairy Dashboard.There are 2 recommended approach:1.
Ideal practice, is to make sure to map between Partner services and Repairy Service Catalog. We provides the Service Catalog API to lookup shops' available services.
2.
Do not pass in the catalogId if you cannot afford to do the service mapping.
{
"serviceCategory": "service",
"services": [
{
"catalogId": "68b7bf3f6210580c57363a94",
"catalogCode": "logbook",
"title": "Logbook Service",
"cost": 150
},
{
"title": "Custom Brake Service",
"category": "repair",
"cost": 200
}
]
}
Technical Specifications#
API Version Compatibility: v2.1+
Schema Version: Enhanced Service Selection v1.0
Deployment Status: Production Active
Last Updated: September 30, 2025Modified at 2025-10-20 07:52:21