{ "openapi": "3.0.0", "info": { "title": "Reparee API", "description": "All authenticated API endpoints. Set base_url and auth_token in collection variables.", "version": "1.0.0" }, "servers": [ { "url": "http://{{base_url}}" } ], "components": { "securitySchemes": { "bearerAuth": { "type": "http", "scheme": "bearer" } } }, "security": [ { "bearerAuth": [] } ], "tags": [ { "name": "Auth" }, { "name": "Referral Sources" }, { "name": "Customers" }, { "name": "Customer Types" }, { "name": "Countries & States" }, { "name": "Payment Terms" }, { "name": "Shop Types" }, { "name": "Vehicle Body Types" }, { "name": "Vehicle Fuel Types" }, { "name": "Vehicle Transmissions" }, { "name": "Vehicle Colors" }, { "name": "Vehicles" }, { "name": "Document Types" }, { "name": "Vehicle Documents" }, { "name": "Vehicle Mile and Kms" }, { "name": "Departments" }, { "name": "Employees" }, { "name": "Unit Types" }, { "name": "Inventory Categories" }, { "name": "Labor Rates" }, { "name": "Vendors" }, { "name": "Inspection Categories" }, { "name": "Inspections" }, { "name": "Labels" }, { "name": "Insurance Types" }, { "name": "Estimates" }, { "name": "Quick Remark" }, { "name": "Quick Notes" }, { "name": "Reasons" }, { "name": "Check Point Label" }, { "name": "Inspection Check Points" }, { "name": "Job Cards" }, { "name": "Payment Modes" }, { "name": "Payment Received" }, { "name": "Parts" }, { "name": "Purchase Orders" }, { "name": "Services" }, { "name": "Expense Items" }, { "name": "Bills" }, { "name": "Expenses" }, { "name": "Task Types" }, { "name": "Task Sections" }, { "name": "Tasks" }, { "name": "Appointments" }, { "name": "Invoice Sequences" }, { "name": "Service Groups" }, { "name": "Service Group Details" }, { "name": "Invoice Labels" }, { "name": "Invoices" }, { "name": "Invoice Documents" }, { "name": "Invoice Notes" }, { "name": "Credit Notes" }, { "name": "Payment Mades" }, { "name": "Vendor Credits" }, { "name": "Inventory Adjustments" }, { "name": "Time Sheets" }, { "name": "Shop Timings" }, { "name": "Holiday Years" }, { "name": "Shop Calenders" }, { "name": "Holidays" }, { "name": "Settings" }, { "name": "Taxes" }, { "name": "Configurations" }, { "name": "Make and Models" } ], "paths": { "/api/login": { "post": { "tags": [ "Auth" ], "summary": "Login", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "email": { "type": "string" }, "password": { "type": "string" } } }, "example": { "email": "admin@admin.com", "password": "12345678" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "token": { "type": "string" }, "user": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "email": { "type": "string" } } } } }, "example": { "token": "1|YOUR_SANCTUM_TOKEN", "user": { "id": 1, "name": "Admin", "email": "admin@admin.com" } } } } } } } }, "/api/profile": { "get": { "tags": [ "Auth" ], "summary": "Profile", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "email": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "data": { "id": 1, "name": "Admin", "email": "admin@admin.com", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } } } } } } } }, "/api/logout": { "post": { "tags": [ "Auth" ], "summary": "Logout", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Logged out successfully." } } } } } } }, "/api/home": { "get": { "tags": [ "Auth" ], "summary": "Home Dashboard", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "filters": { "type": "object", "properties": { "period": { "type": "string" }, "start_date": { "type": "string" }, "end_date": { "type": "string" }, "available_periods": { "type": "array", "items": { "type": "string" } } } }, "financial_filters": { "type": "object", "properties": { "period": { "type": "string" }, "start_date": { "type": "string" }, "end_date": { "type": "string" }, "available_periods": { "type": "array", "items": { "type": "string" } } } }, "work_orders_filters": { "type": "object", "properties": { "period": { "type": "string" }, "start_date": { "type": "string" }, "end_date": { "type": "string" }, "available_periods": { "type": "array", "items": { "type": "string" } } } }, "appointments_filters": { "type": "object", "properties": { "period": { "type": "string" }, "start_date": { "type": "string" }, "end_date": { "type": "string" }, "available_periods": { "type": "array", "items": { "type": "string" } } } }, "sales_filters": { "type": "object", "properties": { "period": { "type": "string" }, "start_date": { "type": "string" }, "end_date": { "type": "string" }, "available_periods": { "type": "array", "items": { "type": "string" } } } }, "purchase_filters": { "type": "object", "properties": { "period": { "type": "string" }, "start_date": { "type": "string" }, "end_date": { "type": "string" }, "available_periods": { "type": "array", "items": { "type": "string" } } } }, "chart": { "type": "object", "properties": { "currency": { "type": "string" }, "series": { "type": "array", "items": { "type": "object", "properties": { "date": { "type": "string" }, "income": { "type": "integer" }, "expense": { "type": "integer" } } } } } }, "totals": { "type": "object", "properties": { "currency": { "type": "string" }, "income": { "type": "integer" }, "expense": { "type": "integer" }, "total_income_text": { "type": "string" }, "total_expense_text": { "type": "string" } } }, "financial_summary": { "type": "object", "properties": { "currency": { "type": "string" }, "chart": { "type": "array", "items": { "type": "object", "properties": { "label": { "type": "string" }, "count": { "type": "integer" }, "amount": { "type": "integer" } } } } } }, "work_orders_status": { "type": "object", "properties": { "currency": { "type": "string" }, "cards": { "type": "array", "items": { "type": "object", "properties": { "status": { "type": "string" }, "label": { "type": "string" }, "count": { "type": "integer" }, "orders_text": { "type": "string" }, "amount": { "type": "integer" }, "amount_text": { "type": "string" } } } }, "totals": { "type": "object", "properties": { "orders": { "type": "integer" }, "orders_text": { "type": "string" }, "amount": { "type": "integer" }, "amount_text": { "type": "string" } } } } }, "appointments_summary": { "type": "object", "properties": { "totals": { "type": "object", "properties": { "completed": { "type": "object", "properties": { "count": { "type": "integer" }, "text": { "type": "string" } } }, "no_shows": { "type": "object", "properties": { "count": { "type": "integer" }, "text": { "type": "string" } } }, "no_shows_rate": { "type": "object", "properties": { "value": { "type": "integer" }, "text": { "type": "string" } } }, "cancelled": { "type": "object", "properties": { "count": { "type": "integer" }, "text": { "type": "string" } } } } } } }, "upcoming_appointments": { "type": "object", "properties": { "selected_filter": { "type": "string" }, "pagination": { "type": "object", "properties": { "current_page": { "type": "integer" }, "last_page": { "type": "integer" }, "per_page": { "type": "integer" }, "total": { "type": "integer" }, "from": { "type": "integer" }, "to": { "type": "integer" }, "filter": { "type": "string" } } }, "today": { "type": "object", "properties": { "count": { "type": "integer" }, "text": { "type": "string" }, "date": { "type": "string" }, "details": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "job_card_id": { "type": "integer" }, "title": { "type": "string" }, "date": { "type": "string" }, "from_time": { "type": "string" }, "to_time": { "type": "string" }, "customer_id": { "type": "integer" }, "vehicle_id": { "type": "integer" }, "service_writer_id": { "type": "integer" }, "technician_id": { "type": "integer" }, "department_id": { "type": "integer" }, "status": { "type": "string" }, "notes": { "type": "string" } } } } } }, "tomorrow": { "type": "object", "properties": { "count": { "type": "integer" }, "text": { "type": "string" }, "date": { "type": "string" }, "details": { "type": "array", "items": {} } } }, "this_week": { "type": "object", "properties": { "count": { "type": "integer" }, "text": { "type": "string" }, "start_date": { "type": "string" }, "end_date": { "type": "string" }, "details": { "type": "array", "items": {} } } }, "next_week": { "type": "object", "properties": { "count": { "type": "integer" }, "text": { "type": "string" }, "start_date": { "type": "string" }, "end_date": { "type": "string" }, "details": { "type": "array", "items": {} } } } } }, "items_totals": { "type": "object", "properties": { "parts": { "type": "integer" }, "services": { "type": "integer" }, "service_groups": { "type": "integer" }, "total_items": { "type": "integer" } } }, "customers_totals": { "type": "object", "properties": { "individuals": { "type": "integer" }, "companies": { "type": "integer" }, "fleets": { "type": "integer" }, "insurers": { "type": "integer" }, "total_customers": { "type": "integer" } } }, "body_types_vehicle_totals": { "type": "array", "items": { "type": "object", "properties": { "body_type_id": { "type": "integer" }, "body_type": { "type": "string" }, "vehicles_count": { "type": "integer" } } } }, "make_model_vehicle_totals": { "type": "object", "properties": { "makes": { "type": "array", "items": { "type": "object", "properties": { "make": { "type": "string" }, "vehicles_count": { "type": "integer" } } } }, "models": { "type": "array", "items": { "type": "object", "properties": { "make": { "type": "string" }, "model": { "type": "string" }, "vehicles_count": { "type": "integer" } } } } } }, "sales_totals": { "type": "object", "properties": { "inspections": { "type": "integer" }, "estimates": { "type": "integer" }, "invoices": { "type": "integer" }, "total_sales_documents": { "type": "integer" } } }, "purchase_totals": { "type": "object", "properties": { "purchase_orders": { "type": "integer" }, "bills": { "type": "integer" }, "expenses": { "type": "integer" }, "total_purchase_documents": { "type": "integer" } } } } }, "example": { "filters": { "period": "this_month", "start_date": "2026-03-01", "end_date": "2026-03-30", "available_periods": [ "today", "yesterday", "this_week", "this_month", "last_month", "last_3_months", "last_6_months", "last_year", "year_to_date", "all_time", "custom" ] }, "financial_filters": { "period": "this_month", "start_date": "2026-03-01", "end_date": "2026-03-30", "available_periods": [ "today", "yesterday", "this_week", "this_month", "last_month", "last_3_months", "last_6_months", "last_year", "year_to_date", "all_time", "custom" ] }, "work_orders_filters": { "period": "this_month", "start_date": "2026-03-01", "end_date": "2026-03-30", "available_periods": [ "today", "yesterday", "this_week", "this_month", "last_month", "last_3_months", "last_6_months", "last_year", "year_to_date", "all_time", "custom" ] }, "appointments_filters": { "period": "this_month", "start_date": "2026-03-01", "end_date": "2026-03-30", "available_periods": [ "today", "yesterday", "this_week", "this_month", "last_month", "last_3_months", "last_6_months", "last_year", "year_to_date", "all_time", "custom" ] }, "sales_filters": { "period": "this_month", "start_date": "2026-03-01", "end_date": "2026-03-30", "available_periods": [ "today", "yesterday", "this_week", "this_month", "last_month", "last_3_months", "last_6_months", "last_year", "year_to_date", "all_time", "custom" ] }, "purchase_filters": { "period": "this_month", "start_date": "2026-03-01", "end_date": "2026-03-30", "available_periods": [ "today", "yesterday", "this_week", "this_month", "last_month", "last_3_months", "last_6_months", "last_year", "year_to_date", "all_time", "custom" ] }, "chart": { "currency": "AED", "series": [ { "date": "2026-03-29", "income": 25000, "expense": 0 }, { "date": "2026-03-30", "income": 0, "expense": 0 } ] }, "totals": { "currency": "AED", "income": 25000, "expense": 0, "total_income_text": "AED 25,000.00", "total_expense_text": "AED 0.00" }, "financial_summary": { "currency": "AED", "chart": [ { "label": "Invoices", "count": 1, "amount": 25000 }, { "label": "Expenses", "count": 0, "amount": 0 }, { "label": "Bills", "count": 0, "amount": 0 } ] }, "work_orders_status": { "currency": "AED", "cards": [ { "status": "draft", "label": "Draft", "count": 1, "orders_text": "1 Orders", "amount": 0, "amount_text": "AED 0.00" }, { "status": "check_in", "label": "Check In", "count": 1, "orders_text": "1 Orders", "amount": 0, "amount_text": "AED 0.00" } ], "totals": { "orders": 2, "orders_text": "2 Orders", "amount": 0, "amount_text": "AED 0.00" } }, "appointments_summary": { "totals": { "completed": { "count": 0, "text": "0 Appt." }, "no_shows": { "count": 0, "text": "0 Appt." }, "no_shows_rate": { "value": 0, "text": "0%" }, "cancelled": { "count": 0, "text": "0 Appt." } } }, "upcoming_appointments": { "selected_filter": "today", "pagination": { "current_page": 1, "last_page": 1, "per_page": 10, "total": 1, "from": 1, "to": 1, "filter": "today" }, "today": { "count": 1, "text": "1 Appt.", "date": "2026-03-30", "details": [ { "id": 1, "job_card_id": 1, "title": "Oil Change Appointment", "date": "2026-03-30", "from_time": "10:00:00", "to_time": "11:00:00", "customer_id": 1, "vehicle_id": 1, "service_writer_id": 1, "technician_id": 2, "department_id": 1, "status": "confirmed", "notes": "Customer requested quick service" } ] }, "tomorrow": { "count": 0, "text": "0 Appt.", "date": "2026-03-31", "details": [] }, "this_week": { "count": 1, "text": "1 Appt.", "start_date": "2026-03-30", "end_date": "2026-04-05", "details": [] }, "next_week": { "count": 0, "text": "0 Appt.", "start_date": "2026-04-06", "end_date": "2026-04-12", "details": [] } }, "items_totals": { "parts": 10, "services": 8, "service_groups": 3, "total_items": 21 }, "customers_totals": { "individuals": 5, "companies": 2, "fleets": 1, "insurers": 1, "total_customers": 9 }, "body_types_vehicle_totals": [ { "body_type_id": 1, "body_type": "Sedan", "vehicles_count": 4 } ], "make_model_vehicle_totals": { "makes": [ { "make": "Toyota", "vehicles_count": 3 } ], "models": [ { "make": "Toyota", "model": "Camry", "vehicles_count": 2 } ] }, "sales_totals": { "inspections": 2, "estimates": 1, "invoices": 1, "total_sales_documents": 4 }, "purchase_totals": { "purchase_orders": 1, "bills": 0, "expenses": 0, "total_purchase_documents": 1 } } } } } } } }, "/api/referral-sources": { "get": { "tags": [ "Referral Sources" ], "summary": "List", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "current_page": { "type": "integer" }, "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "is_default": { "type": "boolean" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } }, "first_page_url": { "type": "string" }, "from": { "type": "integer" }, "last_page": { "type": "integer" }, "last_page_url": { "type": "string" }, "links": { "type": "array", "items": {} }, "next_page_url": { "type": "string", "nullable": true }, "path": { "type": "string" }, "per_page": { "type": "integer" }, "prev_page_url": { "type": "string", "nullable": true }, "to": { "type": "integer" }, "total": { "type": "integer" } } } } }, "example": { "data": { "current_page": 1, "data": [ { "id": 1, "name": "Website", "is_default": true, "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } ], "first_page_url": "http://localhost:8000/api/referral-sources?page=1", "from": 1, "last_page": 1, "last_page_url": "http://localhost:8000/api/referral-sources?page=1", "links": [], "next_page_url": null, "path": "http://localhost:8000/api/referral-sources", "per_page": 10, "prev_page_url": null, "to": 1, "total": 1 } } } } } } }, "post": { "tags": [ "Referral Sources" ], "summary": "Create", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "title": { "type": "string" } } }, "example": { "title": "Website" } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "is_default": { "type": "boolean" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Referral source created successfully.", "data": { "id": 2, "name": "Walk-in", "is_default": false, "created_at": "2026-03-23T12:05:00.000000Z", "updated_at": "2026-03-23T12:05:00.000000Z" } } } } } } } }, "/api/referral-sources/{id}": { "put": { "tags": [ "Referral Sources" ], "summary": "Update", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "title": { "type": "string" } } }, "example": { "title": "Website" } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "is_default": { "type": "boolean" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Referral source updated successfully.", "data": { "id": 1, "name": "Website Ads", "is_default": true, "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z" } } } } } } }, "delete": { "tags": [ "Referral Sources" ], "summary": "Delete", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Referral source deleted successfully." } } } } } } }, "/api/set-default-referral-source": { "post": { "tags": [ "Referral Sources" ], "summary": "Set Default", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "integer" } } }, "example": { "id": 1 } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "is_default": { "type": "boolean" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Default referral source updated successfully.", "data": { "id": 1, "name": "Website", "is_default": true, "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:15:00.000000Z" } } } } } } } }, "/api/customers": { "get": { "tags": [ "Customers" ], "summary": "List", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "customer_type_id": { "type": "integer" }, "salutation": { "type": "string" }, "first_name": { "type": "string" }, "last_name": { "type": "string" }, "company_name": { "type": "string" }, "email": { "type": "string" }, "phone": { "type": "string" }, "alternate_phone": { "type": "string" }, "opening_balance": { "type": "integer" }, "credit_limit": { "type": "integer" }, "website": { "type": "string" }, "referral_source_id": { "type": "integer" }, "payment_terms_id": { "type": "integer" }, "address_line_1": { "type": "string" }, "address_line_2": { "type": "string" }, "country_id": { "type": "integer" }, "state_id": { "type": "integer" }, "city": { "type": "string" }, "zip_code": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" }, "customer_type": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" } } }, "referral_source": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" } } }, "payment_term": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" }, "days": { "type": "integer" } } }, "country": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "code": { "type": "string" } } }, "state": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "code": { "type": "string" } } } } } }, "meta": { "type": "object", "properties": { "current_page": { "type": "integer" }, "last_page": { "type": "integer" }, "per_page": { "type": "integer" }, "total": { "type": "integer" }, "from": { "type": "integer" }, "to": { "type": "integer" } } } } }, "example": { "data": [ { "id": 1, "customer_type_id": 1, "salutation": "Mr", "first_name": "John", "last_name": "Doe", "company_name": "Doe Holdings", "email": "john@example.com", "phone": "0501234567", "alternate_phone": "0551234567", "opening_balance": 0, "credit_limit": 5000, "website": "https://example.com", "referral_source_id": 1, "payment_terms_id": 1, "address_line_1": "Street 10", "address_line_2": "Near Central Plaza", "country_id": 1, "state_id": 1, "city": "Dubai", "zip_code": "00000", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z", "customer_type": { "id": 1, "name": "Retail" }, "referral_source": { "id": 1, "name": "Website" }, "payment_term": { "id": 1, "title": "Net 30", "days": 30 }, "country": { "id": 1, "name": "United Arab Emirates", "code": "AE" }, "state": { "id": 1, "name": "Dubai", "code": "DU" } } ], "meta": { "current_page": 1, "last_page": 1, "per_page": 15, "total": 1, "from": 1, "to": 1 } } } } } } }, "post": { "tags": [ "Customers" ], "summary": "Create", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "customer_type_id": { "type": "integer" }, "salutation": { "type": "string" }, "first_name": { "type": "string" }, "last_name": { "type": "string" }, "company_name": { "type": "string" }, "email": { "type": "string" }, "phone": { "type": "string" }, "alternate_phone": { "type": "string" }, "referral_source_id": { "type": "integer" }, "payment_terms_id": { "type": "integer" }, "address_line_1": { "type": "string" }, "address_line_2": { "type": "string" }, "country_id": { "type": "integer" }, "state_id": { "type": "integer" }, "city": { "type": "string" }, "zip_code": { "type": "string" } } }, "example": { "customer_type_id": 1, "salutation": "Mr", "first_name": "John", "last_name": "Doe", "company_name": "Doe Holdings", "email": "john@example.com", "phone": "0501234567", "alternate_phone": "0551234567", "referral_source_id": 1, "payment_terms_id": 1, "address_line_1": "Street 10", "address_line_2": "Near Central Plaza", "country_id": 1, "state_id": 1, "city": "Dubai", "zip_code": "00000" } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "customer_type_id": { "type": "integer" }, "salutation": { "type": "string" }, "first_name": { "type": "string" }, "last_name": { "type": "string" }, "company_name": { "type": "string" }, "email": { "type": "string" }, "phone": { "type": "string" }, "alternate_phone": { "type": "string" }, "opening_balance": { "type": "integer" }, "credit_limit": { "type": "integer" }, "website": { "type": "string" }, "referral_source_id": { "type": "integer" }, "payment_terms_id": { "type": "integer" }, "address_line_1": { "type": "string" }, "address_line_2": { "type": "string" }, "country_id": { "type": "integer" }, "state_id": { "type": "integer" }, "city": { "type": "string" }, "zip_code": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" }, "customer_type": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" } } }, "referral_source": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" } } }, "payment_term": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" }, "days": { "type": "integer" } } }, "country": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "code": { "type": "string" } } }, "state": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "code": { "type": "string" } } } } } } }, "example": { "message": "Customer created successfully.", "data": { "id": 2, "customer_type_id": 1, "salutation": "Mr", "first_name": "John", "last_name": "Doe", "company_name": "Doe Holdings", "email": "john@example.com", "phone": "0501234567", "alternate_phone": "0551234567", "opening_balance": 0, "credit_limit": 5000, "website": "https://example.com", "referral_source_id": 1, "payment_terms_id": 1, "address_line_1": "Street 10", "address_line_2": "Near Central Plaza", "country_id": 1, "state_id": 1, "city": "Dubai", "zip_code": "00000", "created_at": "2026-03-23T12:20:00.000000Z", "updated_at": "2026-03-23T12:20:00.000000Z", "customer_type": { "id": 1, "name": "Retail" }, "referral_source": { "id": 1, "name": "Website" }, "payment_term": { "id": 1, "title": "Net 30", "days": 30 }, "country": { "id": 1, "name": "United Arab Emirates", "code": "AE" }, "state": { "id": 1, "name": "Dubai", "code": "DU" } } } } } } } } }, "/api/customers/{id}": { "get": { "tags": [ "Customers" ], "summary": "Show", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "id": { "type": "integer" }, "customer_type_id": { "type": "integer" }, "salutation": { "type": "string" }, "first_name": { "type": "string" }, "last_name": { "type": "string" }, "company_name": { "type": "string" }, "email": { "type": "string" }, "phone": { "type": "string" }, "alternate_phone": { "type": "string" }, "opening_balance": { "type": "integer" }, "credit_limit": { "type": "integer" }, "website": { "type": "string" }, "referral_source_id": { "type": "integer" }, "payment_terms_id": { "type": "integer" }, "address_line_1": { "type": "string" }, "address_line_2": { "type": "string" }, "country_id": { "type": "integer" }, "state_id": { "type": "integer" }, "city": { "type": "string" }, "zip_code": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" }, "customer_type": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" } } }, "referral_source": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" } } }, "payment_term": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" }, "days": { "type": "integer" } } }, "country": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "code": { "type": "string" } } }, "state": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "code": { "type": "string" } } } } } } }, "example": { "data": { "id": 1, "customer_type_id": 1, "salutation": "Mr", "first_name": "John", "last_name": "Doe", "company_name": "Doe Holdings", "email": "john@example.com", "phone": "0501234567", "alternate_phone": "0551234567", "opening_balance": 0, "credit_limit": 5000, "website": "https://example.com", "referral_source_id": 1, "payment_terms_id": 1, "address_line_1": "Street 10", "address_line_2": "Near Central Plaza", "country_id": 1, "state_id": 1, "city": "Dubai", "zip_code": "00000", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z", "customer_type": { "id": 1, "name": "Retail" }, "referral_source": { "id": 1, "name": "Website" }, "payment_term": { "id": 1, "title": "Net 30", "days": 30 }, "country": { "id": 1, "name": "United Arab Emirates", "code": "AE" }, "state": { "id": 1, "name": "Dubai", "code": "DU" } } } } } } } }, "put": { "tags": [ "Customers" ], "summary": "Update", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "first_name": { "type": "string" }, "last_name": { "type": "string" } } }, "example": { "first_name": "John", "last_name": "Doe" } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "customer_type_id": { "type": "integer" }, "salutation": { "type": "string" }, "first_name": { "type": "string" }, "last_name": { "type": "string" }, "company_name": { "type": "string" }, "email": { "type": "string" }, "phone": { "type": "string" }, "alternate_phone": { "type": "string" }, "opening_balance": { "type": "integer" }, "credit_limit": { "type": "integer" }, "website": { "type": "string" }, "referral_source_id": { "type": "integer" }, "payment_terms_id": { "type": "integer" }, "address_line_1": { "type": "string" }, "address_line_2": { "type": "string" }, "country_id": { "type": "integer" }, "state_id": { "type": "integer" }, "city": { "type": "string" }, "zip_code": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" }, "customer_type": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" } } }, "referral_source": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" } } }, "payment_term": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" }, "days": { "type": "integer" } } }, "country": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "code": { "type": "string" } } }, "state": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "code": { "type": "string" } } } } } } }, "example": { "message": "Customer updated successfully.", "data": { "id": 1, "customer_type_id": 1, "salutation": "Mr", "first_name": "John", "last_name": "Doe", "company_name": "Doe Holdings", "email": "john@example.com", "phone": "0501234567", "alternate_phone": "0551234567", "opening_balance": 0, "credit_limit": 5000, "website": "https://example.com", "referral_source_id": 1, "payment_terms_id": 1, "address_line_1": "Street 10", "address_line_2": "Near Central Plaza", "country_id": 1, "state_id": 1, "city": "Dubai", "zip_code": "00000", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:30:00.000000Z", "customer_type": { "id": 1, "name": "Retail" }, "referral_source": { "id": 1, "name": "Website" }, "payment_term": { "id": 1, "title": "Net 30", "days": 30 }, "country": { "id": 1, "name": "United Arab Emirates", "code": "AE" }, "state": { "id": 1, "name": "Dubai", "code": "DU" } } } } } } } }, "delete": { "tags": [ "Customers" ], "summary": "Delete", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Customer deleted successfully." } } } } } } }, "/api/customers/export": { "get": { "tags": [ "Customers" ], "summary": "Export", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "file_name": { "type": "string" } } } } }, "example": { "message": "Customers export generated successfully.", "data": { "file_name": "customers-2026-03-23-123000.xlsx" } } } } } } } }, "/api/customers/import": { "post": { "tags": [ "Customers" ], "summary": "Import", "requestBody": { "content": { "multipart/form-data": { "schema": { "type": "object", "properties": { "file": { "type": "string", "format": "binary" } } } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "imported_count": { "type": "integer" }, "failed_count": { "type": "integer" }, "failed_rows": { "type": "array", "items": { "type": "object", "properties": { "row": { "type": "integer" }, "errors": { "type": "array", "items": { "type": "string" } }, "values": { "type": "object", "properties": { "email": { "type": "string" } } } } } } } } } }, "example": { "message": "Customer import completed successfully.", "data": { "imported_count": 10, "failed_count": 1, "failed_rows": [ { "row": 4, "errors": [ "The email has already been taken." ], "values": { "email": "dup@example.com" } } ] } } } } } } } }, "/api/customers/{id}/add-note": { "post": { "tags": [ "Customers" ], "summary": "Add Note", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "note": { "type": "string" } } }, "example": { "note": "Customer prefers afternoon appointments." } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "customer_id": { "type": "integer" }, "note": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Customer note added successfully.", "data": { "id": 1, "customer_id": 1, "note": "Customer prefers afternoon appointments.", "created_at": "2026-03-27T15:00:00.000000Z", "updated_at": "2026-03-27T15:00:00.000000Z" } } } } } } } }, "/api/customers/{id}/delete-note": { "delete": { "tags": [ "Customers" ], "summary": "Delete Note", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "note_id": { "type": "integer" } } }, "example": { "note_id": 1 } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Customer note deleted successfully." } } } } } } }, "/api/customers/{id}/update-permissions": { "post": { "tags": [ "Customers" ], "summary": "Update Permissions", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "can_view_customers": { "type": "boolean" }, "can_create_customers": { "type": "boolean" }, "can_update_customers": { "type": "boolean" }, "can_delete_customers": { "type": "boolean" }, "can_view_invoices": { "type": "boolean" }, "can_create_invoices": { "type": "boolean" } } }, "example": { "can_view_customers": true, "can_create_customers": false, "can_update_customers": true, "can_delete_customers": false, "can_view_invoices": true, "can_create_invoices": false } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "first_name": { "type": "string" }, "last_name": { "type": "string" }, "email": { "type": "string" }, "can_view_customers": { "type": "boolean" }, "can_create_customers": { "type": "boolean" }, "can_update_customers": { "type": "boolean" }, "can_delete_customers": { "type": "boolean" }, "can_view_invoices": { "type": "boolean" }, "can_create_invoices": { "type": "boolean" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Customer permissions updated successfully.", "data": { "id": 1, "first_name": "John", "last_name": "Doe", "email": "john@example.com", "can_view_customers": true, "can_create_customers": false, "can_update_customers": true, "can_delete_customers": false, "can_view_invoices": true, "can_create_invoices": false, "updated_at": "2026-03-27T16:00:00.000000Z" } } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "errors": { "type": "object", "properties": { "permissions": { "type": "array", "items": { "type": "string" } } } } } }, "example": { "message": "Validation failed.", "errors": { "permissions": [ "At least one permission field (can_*) is required." ] } } } } } } } }, "/api/customer-types": { "get": { "tags": [ "Customer Types" ], "summary": "List", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" } } } } } }, "example": { "data": [ { "id": 1, "name": "Retail" } ] } } } } } } }, "/api/countries": { "get": { "tags": [ "Countries & States" ], "summary": "Countries", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "code": { "type": "string" } } } } } }, "example": { "data": [ { "id": 1, "name": "United Arab Emirates", "code": "AE" }, { "id": 2, "name": "Saudi Arabia", "code": "SA" } ] } } } } } } }, "/api/states": { "get": { "tags": [ "Countries & States" ], "summary": "States", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "country_id": { "type": "integer" }, "name": { "type": "string" }, "code": { "type": "string" }, "country": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "code": { "type": "string" } } } } } } } }, "example": { "data": [ { "id": 1, "country_id": 1, "name": "Dubai", "code": "DU", "country": { "id": 1, "name": "United Arab Emirates", "code": "AE" } }, { "id": 2, "country_id": 1, "name": "Abu Dhabi", "code": "AZ", "country": { "id": 1, "name": "United Arab Emirates", "code": "AE" } } ] } } } } } } }, "/api/payment-terms": { "get": { "tags": [ "Payment Terms" ], "summary": "List", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "shop_type_id": { "type": "integer" }, "vehicle_body_type_id": { "type": "integer" }, "vehicle_fuel_type_id": { "type": "integer" }, "vehicle_transmission_id": { "type": "integer" }, "vehicle_color_id": { "type": "integer" }, "image": { "type": "string", "nullable": true }, "image_url": { "type": "string", "nullable": true }, "make": { "type": "string" }, "model": { "type": "string" }, "year": { "type": "string" }, "sub_model": { "type": "string" }, "license_plate": { "type": "string" }, "vin_number": { "type": "string" }, "engine_number": { "type": "string", "nullable": true }, "engine_size": { "type": "string" }, "drivetrain": { "type": "string" }, "reg_date": { "type": "string", "nullable": true }, "mfg_date": { "type": "string", "nullable": true }, "parked_at": { "type": "string", "nullable": true }, "mileage": { "type": "string" }, "owners_number": { "type": "string" }, "front_tire_size": { "type": "string", "nullable": true }, "rear_tire_size": { "type": "string", "nullable": true }, "note": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" }, "shop_type": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" } } }, "vehicle_body_type": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" } } }, "vehicle_fuel_type": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" } } }, "vehicle_transmission": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" } } }, "vehicle_color": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" }, "code": { "type": "string" } } } } } }, "meta": { "type": "object", "properties": { "current_page": { "type": "integer" }, "last_page": { "type": "integer" }, "per_page": { "type": "integer" }, "total": { "type": "integer" }, "from": { "type": "integer" }, "to": { "type": "integer" } } } } }, "example": { "data": [ { "id": 1, "shop_type_id": 1, "vehicle_body_type_id": 1, "vehicle_fuel_type_id": 1, "vehicle_transmission_id": 1, "vehicle_color_id": 1, "image": null, "image_url": null, "make": "Toyota", "model": "Camry", "year": "2024", "sub_model": "LE", "license_plate": "ABC-123", "vin_number": "1HGBH41JXMN109186", "engine_number": null, "engine_size": "2.5L", "drivetrain": "FWD", "reg_date": null, "mfg_date": null, "parked_at": null, "mileage": "10000", "owners_number": "1", "front_tire_size": null, "rear_tire_size": null, "note": "New vehicle", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z", "shop_type": { "id": 1, "title": "Main Workshop" }, "vehicle_body_type": { "id": 1, "title": "Sedan" }, "vehicle_fuel_type": { "id": 1, "title": "Petrol" }, "vehicle_transmission": { "id": 1, "title": "Automatic" }, "vehicle_color": { "id": 1, "title": "Red", "code": "RD" } } ], "meta": { "current_page": 1, "last_page": 1, "per_page": 15, "total": 1, "from": 1, "to": 1 } } } } } } }, "post": { "tags": [ "Payment Terms" ], "summary": "Create", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "title": { "type": "string" } } }, "example": { "title": "Net 30" } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Created successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } } } } } } } }, "/api/payment-terms/{id}": { "put": { "tags": [ "Payment Terms" ], "summary": "Update", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "title": { "type": "string" } } }, "example": { "title": "Net 30" } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Updated successfully.", "data": { "id": 1, "title": "Black", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z" } } } } } } }, "delete": { "tags": [ "Payment Terms" ], "summary": "Delete", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Deleted successfully." } } } } } } }, "/api/set-default-payment-term": { "post": { "tags": [ "Payment Terms" ], "summary": "Set Default", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "integer" } } }, "example": { "id": 1 } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Updated successfully.", "data": { "id": 1, "title": "Black", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z" } } } } } } } }, "/api/shop-types": { "get": { "tags": [ "Shop Types" ], "summary": "List", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" }, "shop_type": { "type": "string" }, "note": { "type": "string" }, "inspection": { "type": "string" }, "image": { "type": "string" }, "is_default": { "type": "boolean" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } } }, "example": { "data": [ { "id": 1, "title": "Main Workshop", "shop_type": "Car", "note": "General automotive services", "inspection": "shop_types/inspection/inspection-template.pdf", "image": "shop_types/image/shop-type-car.jpg", "is_default": true, "created_at": "2026-03-24T12:00:00.000000Z", "updated_at": "2026-03-24T12:00:00.000000Z" } ] } } } } } }, "post": { "tags": [ "Shop Types" ], "summary": "Create", "requestBody": { "content": { "multipart/form-data": { "schema": { "type": "object", "properties": { "title": { "type": "string" }, "shop_type": { "type": "string" }, "note": { "type": "string" }, "is_default": { "type": "string" }, "inspection": { "type": "string", "format": "binary" }, "image": { "type": "string", "format": "binary" } } } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" }, "shop_type": { "type": "string" }, "note": { "type": "string" }, "inspection": { "type": "string" }, "image": { "type": "string" }, "is_default": { "type": "boolean" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Shop type created successfully.", "data": { "id": 1, "title": "Main Workshop", "shop_type": "Car", "note": "General automotive services", "inspection": "shop_types/inspection/inspection-template.pdf", "image": "shop_types/image/shop-type-car.jpg", "is_default": true, "created_at": "2026-03-24T12:00:00.000000Z", "updated_at": "2026-03-24T12:00:00.000000Z" } } } } } } } }, "/api/shop-types/{id}": { "post": { "tags": [ "Shop Types" ], "summary": "Update", "requestBody": { "content": { "multipart/form-data": { "schema": { "type": "object", "properties": { "_method": { "type": "string" }, "title": { "type": "string" }, "shop_type": { "type": "string" }, "note": { "type": "string" }, "is_default": { "type": "string" }, "inspection": { "type": "string", "format": "binary" }, "image": { "type": "string", "format": "binary" } } } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" }, "shop_type": { "type": "string" }, "note": { "type": "string" }, "inspection": { "type": "string" }, "image": { "type": "string" }, "is_default": { "type": "boolean" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Shop type updated successfully.", "data": { "id": 1, "title": "Main Workshop Updated", "shop_type": "Car", "note": "Updated note", "inspection": "shop_types/inspection/inspection-template-v2.pdf", "image": "shop_types/image/shop-type-car-v2.jpg", "is_default": false, "created_at": "2026-03-24T12:00:00.000000Z", "updated_at": "2026-03-24T12:10:00.000000Z" } } } } } } }, "delete": { "tags": [ "Shop Types" ], "summary": "Delete", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Shop type deleted successfully." } } } } } } }, "/api/vehicle-body-types": { "get": { "tags": [ "Vehicle Body Types" ], "summary": "List", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "shop_type_id": { "type": "integer" }, "category_id": { "type": "integer" }, "labor_name": { "type": "string" }, "service_code": { "type": "string" }, "unit_type_id": { "type": "integer" }, "labor_matrix": { "type": "string" }, "description": { "type": "string" }, "department_id": { "type": "integer" }, "sales_information": { "type": "boolean" }, "rate_type": { "type": "string", "nullable": true }, "labor_rate_id": { "type": "string", "nullable": true }, "labor_hours": { "type": "string", "nullable": true }, "sales_chart_of_account": { "type": "string", "nullable": true }, "selling_price": { "type": "string" }, "purchase_information": { "type": "boolean" }, "purchase_chart_of_account": { "type": "string", "nullable": true }, "purchase_preferred_vendor_id": { "type": "string", "nullable": true }, "purchase_price": { "type": "string", "nullable": true }, "is_active": { "type": "boolean" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" }, "shop_type": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" } } }, "category": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" } } }, "unit_type": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" } } }, "department": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" } } }, "labor_rate": { "type": "string", "nullable": true } } } } } }, "example": { "data": [ { "id": 1, "shop_type_id": 1, "category_id": 1, "labor_name": "Oil Change", "service_code": "SVC-001", "unit_type_id": 1, "labor_matrix": "Standard", "description": "Full synthetic oil change", "department_id": 1, "sales_information": false, "rate_type": null, "labor_rate_id": null, "labor_hours": null, "sales_chart_of_account": null, "selling_price": "75.00", "purchase_information": false, "purchase_chart_of_account": null, "purchase_preferred_vendor_id": null, "purchase_price": null, "is_active": true, "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z", "shop_type": { "id": 1, "title": "Main Workshop" }, "category": { "id": 1, "title": "Oil & Maintenance" }, "unit_type": { "id": 1, "title": "Hour" }, "department": { "id": 1, "name": "Service Department" }, "labor_rate": null } ] } } } } } }, "post": { "tags": [ "Vehicle Body Types" ], "summary": "Create", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "title": { "type": "string" } } }, "example": { "title": "Sedan" } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "shop_type_id": { "type": "integer" }, "category_id": { "type": "integer" }, "labor_name": { "type": "string" }, "service_code": { "type": "string" }, "unit_type_id": { "type": "integer" }, "labor_matrix": { "type": "string" }, "description": { "type": "string" }, "department_id": { "type": "integer" }, "sales_information": { "type": "boolean" }, "rate_type": { "type": "string", "nullable": true }, "labor_rate_id": { "type": "string", "nullable": true }, "labor_hours": { "type": "string", "nullable": true }, "sales_chart_of_account": { "type": "string", "nullable": true }, "selling_price": { "type": "string" }, "purchase_information": { "type": "boolean" }, "purchase_chart_of_account": { "type": "string", "nullable": true }, "purchase_preferred_vendor_id": { "type": "string", "nullable": true }, "purchase_price": { "type": "string", "nullable": true }, "is_active": { "type": "boolean" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" }, "shop_type": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" } } }, "category": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" } } }, "unit_type": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" } } }, "department": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" } } }, "labor_rate": { "type": "string", "nullable": true } } } } }, "example": { "message": "Created successfully.", "data": { "id": 1, "shop_type_id": 1, "category_id": 1, "labor_name": "Oil Change", "service_code": "SVC-001", "unit_type_id": 1, "labor_matrix": "Standard", "description": "Full synthetic oil change", "department_id": 1, "sales_information": false, "rate_type": null, "labor_rate_id": null, "labor_hours": null, "sales_chart_of_account": null, "selling_price": "75.00", "purchase_information": false, "purchase_chart_of_account": null, "purchase_preferred_vendor_id": null, "purchase_price": null, "is_active": true, "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z", "shop_type": { "id": 1, "title": "Main Workshop" }, "category": { "id": 1, "title": "Oil & Maintenance" }, "unit_type": { "id": 1, "title": "Hour" }, "department": { "id": 1, "name": "Service Department" }, "labor_rate": null } } } } } } } }, "/api/vehicle-body-types/{id}": { "put": { "tags": [ "Vehicle Body Types" ], "summary": "Update", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "title": { "type": "string" } } }, "example": { "title": "Sedan" } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "shop_type_id": { "type": "integer" }, "category_id": { "type": "integer" }, "labor_name": { "type": "string" }, "service_code": { "type": "string" }, "unit_type_id": { "type": "integer" }, "labor_matrix": { "type": "string" }, "description": { "type": "string" }, "department_id": { "type": "integer" }, "sales_information": { "type": "boolean" }, "rate_type": { "type": "string", "nullable": true }, "labor_rate_id": { "type": "string", "nullable": true }, "labor_hours": { "type": "string", "nullable": true }, "sales_chart_of_account": { "type": "string", "nullable": true }, "selling_price": { "type": "string" }, "purchase_information": { "type": "boolean" }, "purchase_chart_of_account": { "type": "string", "nullable": true }, "purchase_preferred_vendor_id": { "type": "string", "nullable": true }, "purchase_price": { "type": "string", "nullable": true }, "is_active": { "type": "boolean" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" }, "shop_type": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" } } }, "category": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" } } }, "unit_type": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" } } }, "department": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" } } }, "labor_rate": { "type": "string", "nullable": true } } } } }, "example": { "message": "Updated successfully.", "data": { "id": 1, "shop_type_id": 1, "category_id": 1, "labor_name": "Oil Change Premium", "service_code": "SVC-001", "unit_type_id": 1, "labor_matrix": "Standard", "description": "Full synthetic oil change", "department_id": 1, "sales_information": false, "rate_type": null, "labor_rate_id": null, "labor_hours": null, "sales_chart_of_account": null, "selling_price": "85.00", "purchase_information": false, "purchase_chart_of_account": null, "purchase_preferred_vendor_id": null, "purchase_price": null, "is_active": true, "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z", "shop_type": { "id": 1, "title": "Main Workshop" }, "category": { "id": 1, "title": "Oil & Maintenance" }, "unit_type": { "id": 1, "title": "Hour" }, "department": { "id": 1, "name": "Service Department" }, "labor_rate": null } } } } } } }, "delete": { "tags": [ "Vehicle Body Types" ], "summary": "Delete", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Deleted successfully." } } } } } } }, "/api/vehicle-fuel-types": { "get": { "tags": [ "Vehicle Fuel Types" ], "summary": "List", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } } }, "example": { "data": [ { "id": 1, "title": "Gasoline", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } ] } } } } } }, "post": { "tags": [ "Vehicle Fuel Types" ], "summary": "Create", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "title": { "type": "string" } } }, "example": { "title": "Gasoline" } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Created successfully.", "data": { "id": 1, "title": "Gasoline", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } } } } } } } }, "/api/vehicle-fuel-types/{id}": { "put": { "tags": [ "Vehicle Fuel Types" ], "summary": "Update", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "title": { "type": "string" } } }, "example": { "title": "Gasoline" } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Updated successfully.", "data": { "id": 1, "title": "Gasoline", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z" } } } } } } }, "delete": { "tags": [ "Vehicle Fuel Types" ], "summary": "Delete", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Deleted successfully." } } } } } } }, "/api/vehicle-transmissions": { "get": { "tags": [ "Vehicle Transmissions" ], "summary": "List", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } }, "meta": { "type": "object", "properties": { "current_page": { "type": "integer" }, "last_page": { "type": "integer" }, "per_page": { "type": "integer" }, "total": { "type": "integer" }, "from": { "type": "integer" }, "to": { "type": "integer" } } } } }, "example": { "data": [ { "id": 1, "title": "Automatic", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } ], "meta": { "current_page": 1, "last_page": 1, "per_page": 15, "total": 1, "from": 1, "to": 1 } } } } } } }, "post": { "tags": [ "Vehicle Transmissions" ], "summary": "Create", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "title": { "type": "string" } } }, "example": { "title": "Automatic" } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Created successfully.", "data": { "id": 1, "title": "Automatic", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } } } } } } } }, "/api/vehicle-transmissions/{id}": { "put": { "tags": [ "Vehicle Transmissions" ], "summary": "Update", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "title": { "type": "string" } } }, "example": { "title": "Automatic" } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Updated successfully.", "data": { "id": 1, "title": "Automatic", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z" } } } } } } }, "delete": { "tags": [ "Vehicle Transmissions" ], "summary": "Delete", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Deleted successfully." } } } } } } }, "/api/vehicle-colors": { "get": { "tags": [ "Vehicle Colors" ], "summary": "List", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } }, "meta": { "type": "object", "properties": { "current_page": { "type": "integer" }, "last_page": { "type": "integer" }, "per_page": { "type": "integer" }, "total": { "type": "integer" }, "from": { "type": "integer" }, "to": { "type": "integer" } } } } }, "example": { "data": [ { "id": 1, "title": "Black", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } ], "meta": { "current_page": 1, "last_page": 1, "per_page": 15, "total": 1, "from": 1, "to": 1 } } } } } } }, "post": { "tags": [ "Vehicle Colors" ], "summary": "Create", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "title": { "type": "string" } } }, "example": { "title": "Black" } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Created successfully.", "data": { "id": 1, "title": "Black", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } } } } } } } }, "/api/vehicle-colors/{id}": { "put": { "tags": [ "Vehicle Colors" ], "summary": "Update", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "title": { "type": "string" } } }, "example": { "title": "Black" } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Updated successfully.", "data": { "id": 1, "title": "Black", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z" } } } } } } }, "delete": { "tags": [ "Vehicle Colors" ], "summary": "Delete", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Deleted successfully." } } } } } } }, "/api/vehicles": { "get": { "tags": [ "Vehicles" ], "summary": "List", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" }, "customer_id": { "type": "integer" }, "vehicle_id": { "type": "integer" }, "sales_person_id": { "type": "integer" }, "status": { "type": "string" }, "department_id": { "type": "integer" }, "check_in_date": { "type": "string" }, "km_in": { "type": "integer" }, "tax_inclusive": { "type": "string" }, "discount_type": { "type": "string" }, "discount_at": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" }, "labels": { "type": "array", "items": {} }, "documents": { "type": "array", "items": {} }, "purchase_orders_count": { "type": "integer" }, "bills_count": { "type": "integer" }, "expenses_count": { "type": "integer" }, "tasks_count": { "type": "integer" }, "appointments_count": { "type": "integer" } } } }, "meta": { "type": "object", "properties": { "current_page": { "type": "integer" }, "last_page": { "type": "integer" }, "per_page": { "type": "integer" }, "total": { "type": "integer" }, "from": { "type": "integer" }, "to": { "type": "integer" } } } } }, "example": { "data": [ { "id": 1, "title": "Job Card 001", "customer_id": 1, "vehicle_id": 1, "sales_person_id": 1, "status": "draft", "department_id": 1, "check_in_date": "2026-03-18", "km_in": 50000, "tax_inclusive": "Tax Inclusive", "discount_type": "no", "discount_at": "inclusive_of_tax", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z", "labels": [], "documents": [], "purchase_orders_count": 0, "bills_count": 0, "expenses_count": 0, "tasks_count": 0, "appointments_count": 0 } ], "meta": { "current_page": 1, "last_page": 1, "per_page": 15, "total": 1, "from": 1, "to": 1 } } } } } } }, "post": { "tags": [ "Vehicles" ], "summary": "Create", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "shop_type_id": { "type": "integer" }, "vehicle_body_type_id": { "type": "integer" }, "vehicle_fuel_type_id": { "type": "integer" }, "vehicle_transmission_id": { "type": "integer" }, "vehicle_color_id": { "type": "integer" }, "make": { "type": "string" }, "model": { "type": "string" }, "year": { "type": "string" }, "sub_model": { "type": "string" }, "license_plate": { "type": "string" }, "vin_number": { "type": "string" }, "engine_size": { "type": "string" }, "drivetrain": { "type": "string" }, "mileage": { "type": "string" }, "owners_number": { "type": "string" }, "note": { "type": "string" } } }, "example": { "shop_type_id": 1, "vehicle_body_type_id": 1, "vehicle_fuel_type_id": 1, "vehicle_transmission_id": 1, "vehicle_color_id": 1, "make": "Toyota", "model": "Camry", "year": "2024", "sub_model": "LE", "license_plate": "ABC-123", "vin_number": "1HGBH41JXMN109186", "engine_size": "2.5L", "drivetrain": "FWD", "mileage": "10000", "owners_number": "1", "note": "New vehicle" } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "shop_type_id": { "type": "integer" }, "vehicle_body_type_id": { "type": "integer" }, "vehicle_fuel_type_id": { "type": "integer" }, "vehicle_transmission_id": { "type": "integer" }, "vehicle_color_id": { "type": "integer" }, "image": { "type": "string", "nullable": true }, "image_url": { "type": "string", "nullable": true }, "make": { "type": "string" }, "model": { "type": "string" }, "year": { "type": "string" }, "sub_model": { "type": "string" }, "license_plate": { "type": "string" }, "vin_number": { "type": "string" }, "engine_number": { "type": "string", "nullable": true }, "engine_size": { "type": "string" }, "drivetrain": { "type": "string" }, "reg_date": { "type": "string", "nullable": true }, "mfg_date": { "type": "string", "nullable": true }, "parked_at": { "type": "string", "nullable": true }, "mileage": { "type": "string" }, "owners_number": { "type": "string" }, "front_tire_size": { "type": "string", "nullable": true }, "rear_tire_size": { "type": "string", "nullable": true }, "note": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" }, "shop_type": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" } } }, "vehicle_body_type": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" } } }, "vehicle_fuel_type": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" } } }, "vehicle_transmission": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" } } }, "vehicle_color": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" }, "code": { "type": "string" } } } } } } }, "example": { "message": "Created successfully.", "data": { "id": 1, "shop_type_id": 1, "vehicle_body_type_id": 1, "vehicle_fuel_type_id": 1, "vehicle_transmission_id": 1, "vehicle_color_id": 1, "image": null, "image_url": null, "make": "Toyota", "model": "Camry", "year": "2024", "sub_model": "LE", "license_plate": "ABC-123", "vin_number": "1HGBH41JXMN109186", "engine_number": null, "engine_size": "2.5L", "drivetrain": "FWD", "reg_date": null, "mfg_date": null, "parked_at": null, "mileage": "10000", "owners_number": "1", "front_tire_size": null, "rear_tire_size": null, "note": "New vehicle", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z", "shop_type": { "id": 1, "title": "Main Workshop" }, "vehicle_body_type": { "id": 1, "title": "Sedan" }, "vehicle_fuel_type": { "id": 1, "title": "Petrol" }, "vehicle_transmission": { "id": 1, "title": "Automatic" }, "vehicle_color": { "id": 1, "title": "Red", "code": "RD" } } } } } } } } }, "/api/vehicles/{id}": { "get": { "tags": [ "Vehicles" ], "summary": "Show", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "id": { "type": "integer" }, "shop_type_id": { "type": "integer" }, "vehicle_body_type_id": { "type": "integer" }, "vehicle_fuel_type_id": { "type": "integer" }, "vehicle_transmission_id": { "type": "integer" }, "vehicle_color_id": { "type": "integer" }, "image": { "type": "string", "nullable": true }, "image_url": { "type": "string", "nullable": true }, "make": { "type": "string" }, "model": { "type": "string" }, "year": { "type": "string" }, "sub_model": { "type": "string" }, "license_plate": { "type": "string" }, "vin_number": { "type": "string" }, "engine_number": { "type": "string", "nullable": true }, "engine_size": { "type": "string" }, "drivetrain": { "type": "string" }, "reg_date": { "type": "string", "nullable": true }, "mfg_date": { "type": "string", "nullable": true }, "parked_at": { "type": "string", "nullable": true }, "mileage": { "type": "string" }, "owners_number": { "type": "string" }, "front_tire_size": { "type": "string", "nullable": true }, "rear_tire_size": { "type": "string", "nullable": true }, "note": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" }, "shop_type": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" } } }, "vehicle_body_type": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" } } }, "vehicle_fuel_type": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" } } }, "vehicle_transmission": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" } } }, "vehicle_color": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" }, "code": { "type": "string" } } } } } } }, "example": { "data": { "id": 1, "shop_type_id": 1, "vehicle_body_type_id": 1, "vehicle_fuel_type_id": 1, "vehicle_transmission_id": 1, "vehicle_color_id": 1, "image": null, "image_url": null, "make": "Toyota", "model": "Camry", "year": "2024", "sub_model": "LE", "license_plate": "ABC-123", "vin_number": "1HGBH41JXMN109186", "engine_number": null, "engine_size": "2.5L", "drivetrain": "FWD", "reg_date": null, "mfg_date": null, "parked_at": null, "mileage": "10000", "owners_number": "1", "front_tire_size": null, "rear_tire_size": null, "note": "New vehicle", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z", "shop_type": { "id": 1, "title": "Main Workshop" }, "vehicle_body_type": { "id": 1, "title": "Sedan" }, "vehicle_fuel_type": { "id": 1, "title": "Petrol" }, "vehicle_transmission": { "id": 1, "title": "Automatic" }, "vehicle_color": { "id": 1, "title": "Red", "code": "RD" } } } } } } } }, "put": { "tags": [ "Vehicles" ], "summary": "Update", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "mileage": { "type": "string" }, "license_plate": { "type": "string" }, "drivetrain": { "type": "string" } } }, "example": { "mileage": "12000", "license_plate": "ABC-123", "drivetrain": "FWD" } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "shop_type_id": { "type": "integer" }, "vehicle_body_type_id": { "type": "integer" }, "vehicle_fuel_type_id": { "type": "integer" }, "vehicle_transmission_id": { "type": "integer" }, "vehicle_color_id": { "type": "integer" }, "image": { "type": "string", "nullable": true }, "image_url": { "type": "string", "nullable": true }, "make": { "type": "string" }, "model": { "type": "string" }, "year": { "type": "string" }, "sub_model": { "type": "string" }, "license_plate": { "type": "string" }, "vin_number": { "type": "string" }, "engine_number": { "type": "string", "nullable": true }, "engine_size": { "type": "string" }, "drivetrain": { "type": "string" }, "reg_date": { "type": "string", "nullable": true }, "mfg_date": { "type": "string", "nullable": true }, "parked_at": { "type": "string", "nullable": true }, "mileage": { "type": "string" }, "owners_number": { "type": "string" }, "front_tire_size": { "type": "string", "nullable": true }, "rear_tire_size": { "type": "string", "nullable": true }, "note": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" }, "shop_type": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" } } }, "vehicle_body_type": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" } } }, "vehicle_fuel_type": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" } } }, "vehicle_transmission": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" } } }, "vehicle_color": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" }, "code": { "type": "string" } } } } } } }, "example": { "message": "Updated successfully.", "data": { "id": 1, "shop_type_id": 1, "vehicle_body_type_id": 1, "vehicle_fuel_type_id": 1, "vehicle_transmission_id": 1, "vehicle_color_id": 1, "image": null, "image_url": null, "make": "Toyota", "model": "Camry", "year": "2024", "sub_model": "LE", "license_plate": "ABC-123", "vin_number": "1HGBH41JXMN109186", "engine_number": null, "engine_size": "2.5L", "drivetrain": "FWD", "reg_date": null, "mfg_date": null, "parked_at": null, "mileage": "12000", "owners_number": "1", "front_tire_size": null, "rear_tire_size": null, "note": "New vehicle", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z", "shop_type": { "id": 1, "title": "Main Workshop" }, "vehicle_body_type": { "id": 1, "title": "Sedan" }, "vehicle_fuel_type": { "id": 1, "title": "Petrol" }, "vehicle_transmission": { "id": 1, "title": "Automatic" }, "vehicle_color": { "id": 1, "title": "Red", "code": "RD" } } } } } } } }, "delete": { "tags": [ "Vehicles" ], "summary": "Delete", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Deleted successfully." } } } } } } }, "/api/vehicles/export": { "get": { "tags": [ "Vehicles" ], "summary": "Export", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "customer_type_id": { "type": "integer" }, "salutation": { "type": "string" }, "first_name": { "type": "string" }, "last_name": { "type": "string" }, "email": { "type": "string" }, "phone": { "type": "string" }, "alternate_phone": { "type": "string" }, "address_line_1": { "type": "string" }, "address_line_2": { "type": "string" }, "country_id": { "type": "integer" }, "state_id": { "type": "integer" }, "city": { "type": "string" }, "zip_code": { "type": "string" } } } }, "pagination": { "type": "object", "properties": { "current_page": { "type": "integer" }, "first_page_url": { "type": "string" }, "from": { "type": "integer" }, "last_page_url": { "type": "string" }, "next_page_url": { "type": "string", "nullable": true }, "path": { "type": "string" }, "per_page": { "type": "integer" }, "prev_page_url": { "type": "string", "nullable": true }, "to": { "type": "integer" }, "total": { "type": "integer" } } } } }, "example": { "data": [ { "id": 1, "customer_type_id": 1, "salutation": "Mr", "first_name": "John", "last_name": "Doe", "email": "john@example.com", "phone": "0501234567", "alternate_phone": "0551234567", "address_line_1": "Street 10", "address_line_2": "Near Central Plaza", "country_id": 1, "state_id": 1, "city": "Dubai", "zip_code": "00000" } ], "pagination": { "current_page": 1, "first_page_url": "{{base_url}}/api/get-vehicle-owners?page=1", "from": 1, "last_page_url": "{{base_url}}/api/get-vehicle-owners?page=1", "next_page_url": null, "path": "{{base_url}}/api/get-vehicle-owners", "per_page": 10, "prev_page_url": null, "to": 1, "total": 1 } } } } } } } }, "/api/vehicles/import": { "post": { "tags": [ "Vehicles" ], "summary": "Import", "requestBody": { "content": { "multipart/form-data": { "schema": { "type": "object", "properties": { "file": { "type": "string", "format": "binary" } } } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "imported_count": { "type": "integer" }, "failed_count": { "type": "integer" }, "failed_rows": { "type": "array", "items": { "type": "object", "properties": { "row": { "type": "integer" }, "errors": { "type": "array", "items": { "type": "string" } }, "values": { "type": "object", "properties": { "service_code": { "type": "string" } } } } } } } } } }, "example": { "message": "Import completed successfully.", "data": { "imported_count": 10, "failed_count": 1, "failed_rows": [ { "row": 4, "errors": [ "The service code has already been taken." ], "values": { "service_code": "SVC-001" } } ] } } } } } } } }, "/api/get-makes": { "get": { "tags": [ "Vehicles" ], "summary": "Get Makes", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "string" } } } }, "example": { "data": [ "Toyota", "Honda" ] } } } } } } }, "/api/get-models": { "get": { "tags": [ "Vehicles" ], "summary": "Get Models", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "string" } } } }, "example": { "data": [ "Camry", "Corolla" ] } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "errors": { "type": "object", "properties": { "make": { "type": "array", "items": { "type": "string" } } } } } }, "example": { "message": "Validation failed.", "errors": { "make": [ "The make field is required." ] } } } } } } } }, "/api/get-vehicle-owners": { "get": { "tags": [ "Vehicles" ], "summary": "Get Vehicle Owners", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } }, "meta": { "type": "object", "properties": { "current_page": { "type": "integer" }, "last_page": { "type": "integer" }, "per_page": { "type": "integer" }, "total": { "type": "integer" }, "from": { "type": "integer" }, "to": { "type": "integer" } } } } }, "example": { "data": [ { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } ], "meta": { "current_page": 1, "last_page": 1, "per_page": 15, "total": 1, "from": 1, "to": 1 } } } } } } } }, "/api/link-customer-to-vehicle": { "post": { "tags": [ "Vehicles" ], "summary": "Link Customer to Vehicle", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "customer_id": { "type": "integer" }, "vehicle_id": { "type": "integer" } } }, "example": { "customer_id": 1, "vehicle_id": 1 } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "shop_type_id": { "type": "integer" }, "vehicle_body_type_id": { "type": "integer" }, "vehicle_fuel_type_id": { "type": "integer" }, "vehicle_transmission_id": { "type": "integer" }, "vehicle_color_id": { "type": "integer" }, "image": { "type": "string", "nullable": true }, "image_url": { "type": "string", "nullable": true }, "make": { "type": "string" }, "model": { "type": "string" }, "year": { "type": "string" }, "sub_model": { "type": "string" }, "license_plate": { "type": "string" }, "vin_number": { "type": "string" }, "engine_size": { "type": "string" }, "drivetrain": { "type": "string" }, "mileage": { "type": "string" }, "note": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" }, "customers": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "first_name": { "type": "string" }, "last_name": { "type": "string" }, "email": { "type": "string" } } } } } } } }, "example": { "message": "Created successfully.", "data": { "id": 1, "shop_type_id": 1, "vehicle_body_type_id": 1, "vehicle_fuel_type_id": 1, "vehicle_transmission_id": 1, "vehicle_color_id": 1, "image": null, "image_url": null, "make": "Toyota", "model": "Camry", "year": "2024", "sub_model": "LE", "license_plate": "ABC-123", "vin_number": "1HGBH41JXMN109186", "engine_size": "2.5L", "drivetrain": "FWD", "mileage": "10000", "note": "New vehicle", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z", "customers": [ { "id": 1, "first_name": "John", "last_name": "Doe", "email": "john@example.com" } ] } } } } } } } }, "/api/unlink-customer-from-vehicle": { "post": { "tags": [ "Vehicles" ], "summary": "Unlink Customer from Vehicle", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "customer_id": { "type": "integer" }, "vehicle_id": { "type": "integer" } } }, "example": { "customer_id": 1, "vehicle_id": 1 } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "shop_type_id": { "type": "integer" }, "vehicle_body_type_id": { "type": "integer" }, "vehicle_fuel_type_id": { "type": "integer" }, "vehicle_transmission_id": { "type": "integer" }, "vehicle_color_id": { "type": "integer" }, "image": { "type": "string", "nullable": true }, "image_url": { "type": "string", "nullable": true }, "make": { "type": "string" }, "model": { "type": "string" }, "year": { "type": "string" }, "sub_model": { "type": "string" }, "license_plate": { "type": "string" }, "vin_number": { "type": "string" }, "engine_size": { "type": "string" }, "drivetrain": { "type": "string" }, "mileage": { "type": "string" }, "note": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" }, "customers": { "type": "array", "items": {} } } } } }, "example": { "message": "Removed successfully.", "data": { "id": 1, "shop_type_id": 1, "vehicle_body_type_id": 1, "vehicle_fuel_type_id": 1, "vehicle_transmission_id": 1, "vehicle_color_id": 1, "image": null, "image_url": null, "make": "Toyota", "model": "Camry", "year": "2024", "sub_model": "LE", "license_plate": "ABC-123", "vin_number": "1HGBH41JXMN109186", "engine_size": "2.5L", "drivetrain": "FWD", "mileage": "10000", "note": "New vehicle", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z", "customers": [] } } } } } } } }, "/api/document-types": { "get": { "tags": [ "Document Types" ], "summary": "List", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } }, "meta": { "type": "object", "properties": { "current_page": { "type": "integer" }, "last_page": { "type": "integer" }, "per_page": { "type": "integer" }, "total": { "type": "integer" }, "from": { "type": "integer" }, "to": { "type": "integer" } } } } }, "example": { "data": [ { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } ], "meta": { "current_page": 1, "last_page": 1, "per_page": 15, "total": 1, "from": 1, "to": 1 } } } } } } }, "post": { "tags": [ "Document Types" ], "summary": "Create", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "title": { "type": "string" } } }, "example": { "title": "Registration" } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" }, "customer_remarks": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "job_card_id": { "type": "integer" }, "remark": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } } } } }, "example": { "message": "Customer remark updated successfully.", "data": { "id": 1, "title": "Job Card 001", "customer_remarks": [ { "id": 1, "job_card_id": 1, "remark": "Updated remark", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z" } ] } } } } } } } }, "/api/document-types/{id}": { "put": { "tags": [ "Document Types" ], "summary": "Update", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "title": { "type": "string" } } }, "example": { "title": "Registration" } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Updated successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z" } } } } } } }, "delete": { "tags": [ "Document Types" ], "summary": "Delete", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" }, "customer_remarks": { "type": "array", "items": {} } } } } }, "example": { "message": "Customer remark deleted successfully.", "data": { "id": 1, "title": "Job Card 001", "customer_remarks": [] } } } } } } } }, "/api/vehicle-documents": { "get": { "tags": [ "Vehicle Documents" ], "summary": "List", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } }, "meta": { "type": "object", "properties": { "current_page": { "type": "integer" }, "last_page": { "type": "integer" }, "per_page": { "type": "integer" }, "total": { "type": "integer" }, "from": { "type": "integer" }, "to": { "type": "integer" } } } } }, "example": { "data": [ { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } ], "meta": { "current_page": 1, "last_page": 1, "per_page": 15, "total": 1, "from": 1, "to": 1 } } } } } } }, "post": { "tags": [ "Vehicle Documents" ], "summary": "Create", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "vehicle_id": { "type": "integer" }, "document_type_id": { "type": "integer" } } }, "example": { "vehicle_id": 1, "document_type_id": 1 } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" }, "shop_recommendations": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "job_card_id": { "type": "integer" }, "recommendation": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } } } } }, "example": { "message": "Shop recommendation added successfully.", "data": { "id": 1, "title": "Job Card 001", "shop_recommendations": [ { "id": 1, "job_card_id": 1, "recommendation": "Replace brake pads", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } ] } } } } } } } }, "/api/vehicle-documents/{id}": { "put": { "tags": [ "Vehicle Documents" ], "summary": "Update", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": {} }, "example": {} } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Updated successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z" } } } } } } }, "delete": { "tags": [ "Vehicle Documents" ], "summary": "Delete", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Deleted successfully." } } } } } } }, "/api/vehicle-mile-and-kms": { "get": { "tags": [ "Vehicle Mile and Kms" ], "summary": "List", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } }, "meta": { "type": "object", "properties": { "current_page": { "type": "integer" }, "last_page": { "type": "integer" }, "per_page": { "type": "integer" }, "total": { "type": "integer" }, "from": { "type": "integer" }, "to": { "type": "integer" } } } } }, "example": { "data": [ { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } ], "meta": { "current_page": 1, "last_page": 1, "per_page": 15, "total": 1, "from": 1, "to": 1 } } } } } } }, "post": { "tags": [ "Vehicle Mile and Kms" ], "summary": "Create", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "vehicle_id": { "type": "integer" }, "mileage": { "type": "integer" } } }, "example": { "vehicle_id": 1, "mileage": 50000 } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" }, "shop_recommendations": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "job_card_id": { "type": "integer" }, "recommendation": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } } } } }, "example": { "message": "Shop recommendation updated successfully.", "data": { "id": 1, "title": "Job Card 001", "shop_recommendations": [ { "id": 1, "job_card_id": 1, "recommendation": "Updated recommendation", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z" } ] } } } } } } } }, "/api/vehicle-mile-and-kms/{id}": { "put": { "tags": [ "Vehicle Mile and Kms" ], "summary": "Update", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "mileage": { "type": "integer" } } }, "example": { "mileage": 51000 } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Updated successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z" } } } } } } }, "delete": { "tags": [ "Vehicle Mile and Kms" ], "summary": "Delete", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" }, "shop_recommendations": { "type": "array", "items": {} } } } } }, "example": { "message": "Shop recommendation deleted successfully.", "data": { "id": 1, "title": "Job Card 001", "shop_recommendations": [] } } } } } } } }, "/api/departments": { "get": { "tags": [ "Departments" ], "summary": "List", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } }, "meta": { "type": "object", "properties": { "current_page": { "type": "integer" }, "last_page": { "type": "integer" }, "per_page": { "type": "integer" }, "total": { "type": "integer" }, "from": { "type": "integer" }, "to": { "type": "integer" } } } } }, "example": { "data": [ { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } ], "meta": { "current_page": 1, "last_page": 1, "per_page": 15, "total": 1, "from": 1, "to": 1 } } } } } } }, "post": { "tags": [ "Departments" ], "summary": "Create", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string" }, "assignment_type": { "type": "string" } } }, "example": { "name": "Mechanical", "assignment_type": "bays" } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" }, "customer_remarks": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "job_card_id": { "type": "integer" }, "remark": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } } } } }, "example": { "message": "Customer remark added successfully.", "data": { "id": 1, "title": "Job Card 001", "customer_remarks": [ { "id": 1, "job_card_id": 1, "remark": "Customer requested wash", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } ] } } } } } } } }, "/api/departments/{id}": { "put": { "tags": [ "Departments" ], "summary": "Update", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string" } } }, "example": { "name": "Mechanical" } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Updated successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z" } } } } } } }, "delete": { "tags": [ "Departments" ], "summary": "Delete", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Deleted successfully." } } } } } } }, "/api/set-favorite-department": { "post": { "tags": [ "Departments" ], "summary": "Set Favorite", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "integer" } } }, "example": { "id": 1 } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Updated successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z" } } } } } } } }, "/api/remove-favorite-department": { "post": { "tags": [ "Departments" ], "summary": "Remove Favorite", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "integer" } } }, "example": { "id": 1 } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Removed successfully." } } } } } } }, "/api/employees": { "get": { "tags": [ "Employees" ], "summary": "List", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "first_name": { "type": "string" }, "last_name": { "type": "string" }, "email": { "type": "string" }, "phone": { "type": "string" }, "department_id": { "type": "integer" }, "position": { "type": "string" }, "status": { "type": "string" }, "type": { "type": "string" }, "track_attendance": { "type": "boolean" }, "notify_owner_when_punch_in_out": { "type": "boolean" }, "shop_calender_id": { "type": "integer" }, "shop_timing_id": { "type": "integer" }, "geo_fence_radius": { "type": "integer" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" }, "department": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" } } }, "shop_calender": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" } } }, "shop_timing": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" } } }, "has_active_time_sheet": { "type": "boolean" }, "active_time_sheet": { "type": "string", "nullable": true } } } }, "meta": { "type": "object", "properties": { "current_page": { "type": "integer" }, "last_page": { "type": "integer" }, "per_page": { "type": "integer" }, "total": { "type": "integer" }, "from": { "type": "integer" }, "to": { "type": "integer" } } } } }, "example": { "data": [ { "id": 1, "first_name": "Jane", "last_name": "Smith", "email": "jane@example.com", "phone": "0501234567", "department_id": 1, "position": "Technician", "status": "active", "type": "employee", "track_attendance": true, "notify_owner_when_punch_in_out": false, "shop_calender_id": 1, "shop_timing_id": 1, "geo_fence_radius": 100, "created_at": "2026-03-24T12:00:00.000000Z", "updated_at": "2026-03-24T12:00:00.000000Z", "department": { "id": 1, "name": "Mechanical" }, "shop_calender": { "id": 1, "title": "Default Calendar" }, "shop_timing": { "id": 1, "title": "Regular Shift" }, "has_active_time_sheet": false, "active_time_sheet": null } ], "meta": { "current_page": 1, "last_page": 1, "per_page": 15, "total": 1, "from": 1, "to": 1 } } } } } } }, "post": { "tags": [ "Employees" ], "summary": "Create", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "first_name": { "type": "string" }, "last_name": { "type": "string" }, "email": { "type": "string" }, "phone": { "type": "string" }, "department_id": { "type": "integer" }, "position": { "type": "string" }, "status": { "type": "string" }, "type": { "type": "string" }, "track_attendance": { "type": "boolean" }, "notify_owner_when_punch_in_out": { "type": "boolean" }, "shop_calender_id": { "type": "integer" }, "shop_timing_id": { "type": "integer" }, "geo_fence_radius": { "type": "integer" } } }, "example": { "first_name": "Jane", "last_name": "Smith", "email": "jane@example.com", "phone": "0501234567", "department_id": 1, "position": "Technician", "status": "active", "type": "employee", "track_attendance": true, "notify_owner_when_punch_in_out": false, "shop_calender_id": 1, "shop_timing_id": 1, "geo_fence_radius": 100 } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "first_name": { "type": "string" }, "last_name": { "type": "string" }, "email": { "type": "string" }, "phone": { "type": "string" }, "department_id": { "type": "integer" }, "position": { "type": "string" }, "status": { "type": "string" }, "type": { "type": "string" }, "track_attendance": { "type": "boolean" }, "notify_owner_when_punch_in_out": { "type": "boolean" }, "shop_calender_id": { "type": "integer" }, "shop_timing_id": { "type": "integer" }, "geo_fence_radius": { "type": "integer" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" }, "department": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" } } }, "has_active_time_sheet": { "type": "boolean" }, "active_time_sheet": { "type": "string", "nullable": true } } } } }, "example": { "message": "Employee created successfully.", "data": { "id": 1, "first_name": "Jane", "last_name": "Smith", "email": "jane@example.com", "phone": "0501234567", "department_id": 1, "position": "Technician", "status": "active", "type": "employee", "track_attendance": true, "notify_owner_when_punch_in_out": false, "shop_calender_id": 1, "shop_timing_id": 1, "geo_fence_radius": 100, "created_at": "2026-03-24T12:00:00.000000Z", "updated_at": "2026-03-24T12:00:00.000000Z", "department": { "id": 1, "name": "Mechanical" }, "has_active_time_sheet": false, "active_time_sheet": null } } } } } } } }, "/api/employees/{id}": { "get": { "tags": [ "Employees" ], "summary": "Show", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "id": { "type": "integer" }, "first_name": { "type": "string" }, "last_name": { "type": "string" }, "email": { "type": "string" }, "phone": { "type": "string" }, "department_id": { "type": "integer" }, "position": { "type": "string" }, "status": { "type": "string" }, "type": { "type": "string" }, "track_attendance": { "type": "boolean" }, "notify_owner_when_punch_in_out": { "type": "boolean" }, "shop_calender_id": { "type": "integer" }, "shop_timing_id": { "type": "integer" }, "geo_fence_radius": { "type": "integer" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" }, "department": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" } } }, "shop_calender": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" } } }, "shop_timing": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" } } } } } } }, "example": { "data": { "id": 1, "first_name": "Jane", "last_name": "Smith", "email": "jane@example.com", "phone": "0501234567", "department_id": 1, "position": "Technician", "status": "active", "type": "employee", "track_attendance": true, "notify_owner_when_punch_in_out": false, "shop_calender_id": 1, "shop_timing_id": 1, "geo_fence_radius": 100, "created_at": "2026-03-24T12:00:00.000000Z", "updated_at": "2026-03-24T12:00:00.000000Z", "department": { "id": 1, "name": "Mechanical" }, "shop_calender": { "id": 1, "title": "Default Calender" }, "shop_timing": { "id": 1, "title": "Default Shift" } } } } } } } }, "put": { "tags": [ "Employees" ], "summary": "Update", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "first_name": { "type": "string" }, "last_name": { "type": "string" }, "status": { "type": "string" }, "position": { "type": "string" }, "shop_timing_id": { "type": "integer" } } }, "example": { "first_name": "Jane", "last_name": "Smith", "status": "inactive", "position": "Senior Technician", "shop_timing_id": 2 } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "first_name": { "type": "string" }, "last_name": { "type": "string" }, "email": { "type": "string" }, "phone": { "type": "string" }, "department_id": { "type": "integer" }, "position": { "type": "string" }, "status": { "type": "string" }, "type": { "type": "string" }, "track_attendance": { "type": "boolean" }, "notify_owner_when_punch_in_out": { "type": "boolean" }, "shop_calender_id": { "type": "integer" }, "shop_timing_id": { "type": "integer" }, "geo_fence_radius": { "type": "integer" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" }, "has_active_time_sheet": { "type": "boolean" }, "active_time_sheet": { "type": "string", "nullable": true } } } } }, "example": { "message": "Employee updated successfully.", "data": { "id": 1, "first_name": "Jane", "last_name": "Smith", "email": "jane@example.com", "phone": "0501234567", "department_id": 1, "position": "Senior Technician", "status": "inactive", "type": "employee", "track_attendance": true, "notify_owner_when_punch_in_out": false, "shop_calender_id": 1, "shop_timing_id": 2, "geo_fence_radius": 100, "created_at": "2026-03-24T12:00:00.000000Z", "updated_at": "2026-03-24T12:10:00.000000Z", "has_active_time_sheet": false, "active_time_sheet": null } } } } } } }, "delete": { "tags": [ "Employees" ], "summary": "Delete", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Employee deleted successfully." } } } } } } }, "/api/unit-types": { "get": { "tags": [ "Unit Types" ], "summary": "List", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } }, "meta": { "type": "object", "properties": { "current_page": { "type": "integer" }, "last_page": { "type": "integer" }, "per_page": { "type": "integer" }, "total": { "type": "integer" }, "from": { "type": "integer" }, "to": { "type": "integer" } } } } }, "example": { "data": [ { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } ], "meta": { "current_page": 1, "last_page": 1, "per_page": 15, "total": 1, "from": 1, "to": 1 } } } } } } }, "post": { "tags": [ "Unit Types" ], "summary": "Create", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "title": { "type": "string" } } }, "example": { "title": "Hour" } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" }, "customer_remarks": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "job_card_id": { "type": "integer" }, "remark": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } } } } }, "example": { "message": "Customer remark updated successfully.", "data": { "id": 1, "title": "Job Card 001", "customer_remarks": [ { "id": 1, "job_card_id": 1, "remark": "Updated remark", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z" } ] } } } } } } } }, "/api/unit-types/{id}": { "put": { "tags": [ "Unit Types" ], "summary": "Update", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "title": { "type": "string" } } }, "example": { "title": "Hour" } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Updated successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z" } } } } } } }, "delete": { "tags": [ "Unit Types" ], "summary": "Delete", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" }, "customer_remarks": { "type": "array", "items": {} } } } } }, "example": { "message": "Customer remark deleted successfully.", "data": { "id": 1, "title": "Job Card 001", "customer_remarks": [] } } } } } } } }, "/api/set-favorite-unit-type": { "post": { "tags": [ "Unit Types" ], "summary": "Set Favorite", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "integer" } } }, "example": { "id": 1 } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Updated successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z" } } } } } } } }, "/api/remove-favorite-unit-type": { "post": { "tags": [ "Unit Types" ], "summary": "Remove Favorite", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "integer" } } }, "example": { "id": 1 } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Removed successfully." } } } } } } }, "/api/inventory-categories": { "get": { "tags": [ "Inventory Categories" ], "summary": "List", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } }, "meta": { "type": "object", "properties": { "current_page": { "type": "integer" }, "last_page": { "type": "integer" }, "per_page": { "type": "integer" }, "total": { "type": "integer" }, "from": { "type": "integer" }, "to": { "type": "integer" } } } } }, "example": { "data": [ { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } ], "meta": { "current_page": 1, "last_page": 1, "per_page": 15, "total": 1, "from": 1, "to": 1 } } } } } } }, "post": { "tags": [ "Inventory Categories" ], "summary": "Create", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "title": { "type": "string" }, "shop_type_id": { "type": "integer" } } }, "example": { "title": "Parts", "shop_type_id": 1 } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" }, "shop_recommendations": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "job_card_id": { "type": "integer" }, "recommendation": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } } } } }, "example": { "message": "Shop recommendation added successfully.", "data": { "id": 1, "title": "Job Card 001", "shop_recommendations": [ { "id": 1, "job_card_id": 1, "recommendation": "Replace brake pads", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } ] } } } } } } } }, "/api/inventory-categories/{id}": { "put": { "tags": [ "Inventory Categories" ], "summary": "Update", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "title": { "type": "string" } } }, "example": { "title": "Parts" } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Updated successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z" } } } } } } }, "delete": { "tags": [ "Inventory Categories" ], "summary": "Delete", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Deleted successfully." } } } } } } }, "/api/set-favorite-inventory-category": { "post": { "tags": [ "Inventory Categories" ], "summary": "Set Favorite", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "integer" } } }, "example": { "id": 1 } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Updated successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z" } } } } } } } }, "/api/remove-favorite-inventory-category": { "post": { "tags": [ "Inventory Categories" ], "summary": "Remove Favorite", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "integer" } } }, "example": { "id": 1 } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Removed successfully." } } } } } } }, "/api/labor-rates": { "get": { "tags": [ "Labor Rates" ], "summary": "List", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } }, "meta": { "type": "object", "properties": { "current_page": { "type": "integer" }, "last_page": { "type": "integer" }, "per_page": { "type": "integer" }, "total": { "type": "integer" }, "from": { "type": "integer" }, "to": { "type": "integer" } } } } }, "example": { "data": [ { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } ], "meta": { "current_page": 1, "last_page": 1, "per_page": 15, "total": 1, "from": 1, "to": 1 } } } } } } }, "post": { "tags": [ "Labor Rates" ], "summary": "Create", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "title": { "type": "string" }, "rate": { "type": "integer" } } }, "example": { "title": "Standard", "rate": 75 } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" }, "shop_recommendations": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "job_card_id": { "type": "integer" }, "recommendation": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } } } } }, "example": { "message": "Shop recommendation updated successfully.", "data": { "id": 1, "title": "Job Card 001", "shop_recommendations": [ { "id": 1, "job_card_id": 1, "recommendation": "Updated recommendation", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z" } ] } } } } } } } }, "/api/labor-rates/{id}": { "put": { "tags": [ "Labor Rates" ], "summary": "Update", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "title": { "type": "string" }, "rate": { "type": "integer" } } }, "example": { "title": "Standard", "rate": 80 } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Updated successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z" } } } } } } }, "delete": { "tags": [ "Labor Rates" ], "summary": "Delete", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" }, "shop_recommendations": { "type": "array", "items": {} } } } } }, "example": { "message": "Shop recommendation deleted successfully.", "data": { "id": 1, "title": "Job Card 001", "shop_recommendations": [] } } } } } } } }, "/api/set-favorite-labor-rate": { "post": { "tags": [ "Labor Rates" ], "summary": "Set Favorite", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "integer" } } }, "example": { "id": 1 } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Updated successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z" } } } } } } } }, "/api/remove-favorite-labor-rate": { "post": { "tags": [ "Labor Rates" ], "summary": "Remove Favorite", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "integer" } } }, "example": { "id": 1 } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Removed successfully." } } } } } } }, "/api/vendors": { "get": { "tags": [ "Vendors" ], "summary": "List", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } }, "meta": { "type": "object", "properties": { "current_page": { "type": "integer" }, "last_page": { "type": "integer" }, "per_page": { "type": "integer" }, "total": { "type": "integer" }, "from": { "type": "integer" }, "to": { "type": "integer" } } } } }, "example": { "data": [ { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } ], "meta": { "current_page": 1, "last_page": 1, "per_page": 15, "total": 1, "from": 1, "to": 1 } } } } } } }, "post": { "tags": [ "Vendors" ], "summary": "Create", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "first_name": { "type": "string" }, "last_name": { "type": "string" }, "company_name": { "type": "string" }, "email": { "type": "string" } } }, "example": { "first_name": "Vendor", "last_name": "Name", "company_name": "ACME", "email": "vendor@example.com" } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Created successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } } } } } } } }, "/api/vendors/{id}": { "put": { "tags": [ "Vendors" ], "summary": "Update", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "company_name": { "type": "string" } } }, "example": { "company_name": "ACME Inc" } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Updated successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z" } } } } } } }, "delete": { "tags": [ "Vendors" ], "summary": "Delete", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Deleted successfully." } } } } } } }, "/api/toggle-vendor-status": { "post": { "tags": [ "Vendors" ], "summary": "Toggle Status", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "integer" } } }, "example": { "id": 1 } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Updated successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z" } } } } } } } }, "/api/create-vendor-address": { "post": { "tags": [ "Vendors" ], "summary": "Create Vendor Address", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "vendor_id": { "type": "integer" }, "address_line_1": { "type": "string" }, "address_line_2": { "type": "string" }, "country_id": { "type": "integer" }, "state_id": { "type": "integer" }, "city": { "type": "string" }, "zip_code": { "type": "string" }, "phone_number": { "type": "string" }, "title": { "type": "string" } } }, "example": { "vendor_id": 1, "address_line_1": "123 Main St", "address_line_2": "Suite 100", "country_id": 1, "state_id": 1, "city": "New York", "zip_code": "10001", "phone_number": "555-1234", "title": "Main Office" } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Created successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } } } } } } } }, "/api/vendor-address/{id}": { "get": { "tags": [ "Vendors" ], "summary": "Get Vendor Address", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } } } } } } } }, "/api/inspection-categories": { "get": { "tags": [ "Inspection Categories" ], "summary": "List", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } }, "meta": { "type": "object", "properties": { "current_page": { "type": "integer" }, "last_page": { "type": "integer" }, "per_page": { "type": "integer" }, "total": { "type": "integer" }, "from": { "type": "integer" }, "to": { "type": "integer" } } } } }, "example": { "data": [ { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } ], "meta": { "current_page": 1, "last_page": 1, "per_page": 15, "total": 1, "from": 1, "to": 1 } } } } } } }, "post": { "tags": [ "Inspection Categories" ], "summary": "Create", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "inspection_name": { "type": "string" } } }, "example": { "inspection_name": "Brake Check" } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Created successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } } } } } } } }, "/api/inspection-categories/{id}": { "put": { "tags": [ "Inspection Categories" ], "summary": "Update", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "inspection_name": { "type": "string" } } }, "example": { "inspection_name": "Brake Check" } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Updated successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z" } } } } } } }, "delete": { "tags": [ "Inspection Categories" ], "summary": "Delete", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Deleted successfully." } } } } } } }, "/api/inspections": { "get": { "tags": [ "Inspections" ], "summary": "List", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } }, "meta": { "type": "object", "properties": { "current_page": { "type": "integer" }, "last_page": { "type": "integer" }, "per_page": { "type": "integer" }, "total": { "type": "integer" }, "from": { "type": "integer" }, "to": { "type": "integer" } } } } }, "example": { "data": [ { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } ], "meta": { "current_page": 1, "last_page": 1, "per_page": 15, "total": 1, "from": 1, "to": 1 } } } } } } }, "post": { "tags": [ "Inspections" ], "summary": "Create", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "title": { "type": "string" }, "customer_id": { "type": "integer" }, "vehicle_id": { "type": "integer" }, "department_id": { "type": "integer" }, "inspection_category_id": { "type": "integer" }, "employee_id": { "type": "integer" }, "order_number": { "type": "string" }, "date": { "type": "string" }, "time": { "type": "string" } } }, "example": { "title": "Pre-purchase", "customer_id": 1, "vehicle_id": 1, "department_id": 1, "inspection_category_id": 1, "employee_id": 1, "order_number": "ORD-001", "date": "2026-03-16", "time": "10:00:00" } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Created successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } } } } } } } }, "/api/inspections/{id}": { "put": { "tags": [ "Inspections" ], "summary": "Update", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "title": { "type": "string" }, "note": { "type": "string" } } }, "example": { "title": "Pre-purchase", "note": "Updated note" } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Updated successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z" } } } } } } }, "delete": { "tags": [ "Inspections" ], "summary": "Delete", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Deleted successfully." } } } } } } }, "/api/change-inspection-status": { "post": { "tags": [ "Inspections" ], "summary": "Change Inspection Status", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "integer" }, "status": { "type": "string" } } }, "example": { "id": 1, "status": "completed" } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Updated successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z" } } } } } } } }, "/api/labels": { "get": { "tags": [ "Labels" ], "summary": "List", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } }, "meta": { "type": "object", "properties": { "current_page": { "type": "integer" }, "last_page": { "type": "integer" }, "per_page": { "type": "integer" }, "total": { "type": "integer" }, "from": { "type": "integer" }, "to": { "type": "integer" } } } } }, "example": { "data": [ { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } ], "meta": { "current_page": 1, "last_page": 1, "per_page": 15, "total": 1, "from": 1, "to": 1 } } } } } } }, "post": { "tags": [ "Labels" ], "summary": "Create", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "title": { "type": "string" }, "color_code": { "type": "string" } } }, "example": { "title": "Urgent", "color_code": "#FF0000" } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Created successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } } } } } } } }, "/api/labels/{id}": { "put": { "tags": [ "Labels" ], "summary": "Update", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "title": { "type": "string" }, "color_code": { "type": "string" } } }, "example": { "title": "Urgent", "color_code": "#FF0000" } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Updated successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z" } } } } } } }, "delete": { "tags": [ "Labels" ], "summary": "Delete", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Deleted successfully." } } } } } } }, "/api/insurance-types": { "get": { "tags": [ "Insurance Types" ], "summary": "List", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } }, "meta": { "type": "object", "properties": { "current_page": { "type": "integer" }, "last_page": { "type": "integer" }, "per_page": { "type": "integer" }, "total": { "type": "integer" }, "from": { "type": "integer" }, "to": { "type": "integer" } } } } }, "example": { "data": [ { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } ], "meta": { "current_page": 1, "last_page": 1, "per_page": 15, "total": 1, "from": 1, "to": 1 } } } } } } }, "post": { "tags": [ "Insurance Types" ], "summary": "Create", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "title": { "type": "string" } } }, "example": { "title": "Comprehensive" } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Created successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } } } } } } } }, "/api/insurance-types/{id}": { "put": { "tags": [ "Insurance Types" ], "summary": "Update", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "title": { "type": "string" } } }, "example": { "title": "Comprehensive" } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Updated successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z" } } } } } } }, "delete": { "tags": [ "Insurance Types" ], "summary": "Delete", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Deleted successfully." } } } } } } }, "/api/estimates": { "get": { "tags": [ "Estimates" ], "summary": "List", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } }, "meta": { "type": "object", "properties": { "current_page": { "type": "integer" }, "last_page": { "type": "integer" }, "per_page": { "type": "integer" }, "total": { "type": "integer" }, "from": { "type": "integer" }, "to": { "type": "integer" } } } } }, "example": { "data": [ { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } ], "meta": { "current_page": 1, "last_page": 1, "per_page": 15, "total": 1, "from": 1, "to": 1 } } } } } } }, "post": { "tags": [ "Estimates" ], "summary": "Create", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "title": { "type": "string" }, "customer_id": { "type": "integer" }, "vehicle_id": { "type": "integer" }, "department_id": { "type": "integer" }, "estimate_number": { "type": "string" }, "date": { "type": "string" }, "has_insurance": { "type": "boolean" }, "label_ids": { "type": "array", "items": { "type": "integer" } }, "remarks": { "type": "array", "items": { "type": "string" } } } }, "example": { "title": "Estimate 001", "customer_id": 1, "vehicle_id": 1, "department_id": 1, "estimate_number": "EST-001", "date": "2026-03-16", "has_insurance": false, "label_ids": [ 1 ], "remarks": [ "Customer note" ] } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Created successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } } } } } } } }, "/api/estimates/{id}": { "put": { "tags": [ "Estimates" ], "summary": "Update", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "title": { "type": "string" }, "label_ids": { "type": "array", "items": { "type": "integer" } }, "remarks": { "type": "array", "items": { "type": "string" } } } }, "example": { "title": "Estimate 001", "label_ids": [ 1, 2 ], "remarks": [ "Updated note" ] } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Updated successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z" } } } } } } }, "delete": { "tags": [ "Estimates" ], "summary": "Delete", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Deleted successfully." } } } } } } }, "/api/quick-remark": { "get": { "tags": [ "Quick Remark" ], "summary": "List", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } }, "meta": { "type": "object", "properties": { "current_page": { "type": "integer" }, "last_page": { "type": "integer" }, "per_page": { "type": "integer" }, "total": { "type": "integer" }, "from": { "type": "integer" }, "to": { "type": "integer" } } } } }, "example": { "data": [ { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } ], "meta": { "current_page": 1, "last_page": 1, "per_page": 15, "total": 1, "from": 1, "to": 1 } } } } } } }, "post": { "tags": [ "Quick Remark" ], "summary": "Create", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "description": { "type": "string" } } }, "example": { "description": "Needs follow-up" } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Created successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } } } } } } } }, "/api/quick-remark/{id}": { "put": { "tags": [ "Quick Remark" ], "summary": "Update", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "description": { "type": "string" } } }, "example": { "description": "Needs follow-up" } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Updated successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z" } } } } } } }, "delete": { "tags": [ "Quick Remark" ], "summary": "Delete", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Deleted successfully." } } } } } } }, "/api/quick-notes": { "get": { "tags": [ "Quick Notes" ], "summary": "List", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } }, "meta": { "type": "object", "properties": { "current_page": { "type": "integer" }, "last_page": { "type": "integer" }, "per_page": { "type": "integer" }, "total": { "type": "integer" }, "from": { "type": "integer" }, "to": { "type": "integer" } } } } }, "example": { "data": [ { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } ], "meta": { "current_page": 1, "last_page": 1, "per_page": 15, "total": 1, "from": 1, "to": 1 } } } } } } }, "post": { "tags": [ "Quick Notes" ], "summary": "Create", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "description": { "type": "string" } } }, "example": { "description": "Quick note text" } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Created successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } } } } } } } }, "/api/quick-notes/{id}": { "put": { "tags": [ "Quick Notes" ], "summary": "Update", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "description": { "type": "string" } } }, "example": { "description": "Updated note" } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Updated successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z" } } } } } } }, "delete": { "tags": [ "Quick Notes" ], "summary": "Delete", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Deleted successfully." } } } } } } }, "/api/reasons": { "get": { "tags": [ "Reasons" ], "summary": "List", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } } }, "example": { "data": [ { "id": 1, "title": "Customer request", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } ] } } } } } }, "post": { "tags": [ "Reasons" ], "summary": "Create", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "title": { "type": "string" } } }, "example": { "title": "Customer request" } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Reason created successfully.", "data": { "id": 1, "title": "Customer request", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } } } } } } } }, "/api/reasons/{id}": { "put": { "tags": [ "Reasons" ], "summary": "Update", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "title": { "type": "string" } } }, "example": { "title": "Updated reason title" } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Reason updated successfully.", "data": { "id": 1, "title": "Updated reason title", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z" } } } } } } }, "delete": { "tags": [ "Reasons" ], "summary": "Delete", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Reason deleted successfully." } } } } } } }, "/api/check-point-label": { "get": { "tags": [ "Check Point Label" ], "summary": "List", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } }, "meta": { "type": "object", "properties": { "current_page": { "type": "integer" }, "last_page": { "type": "integer" }, "per_page": { "type": "integer" }, "total": { "type": "integer" }, "from": { "type": "integer" }, "to": { "type": "integer" } } } } }, "example": { "data": [ { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } ], "meta": { "current_page": 1, "last_page": 1, "per_page": 15, "total": 1, "from": 1, "to": 1 } } } } } } }, "post": { "tags": [ "Check Point Label" ], "summary": "Create", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "title": { "type": "string" }, "color_code": { "type": "string" } } }, "example": { "title": "Pass", "color_code": "#00FF00" } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Created successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } } } } } } } }, "/api/check-point-label/{id}": { "put": { "tags": [ "Check Point Label" ], "summary": "Update", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "title": { "type": "string" }, "color_code": { "type": "string" } } }, "example": { "title": "Pass", "color_code": "#00FF00" } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Updated successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z" } } } } } } }, "delete": { "tags": [ "Check Point Label" ], "summary": "Delete", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Deleted successfully." } } } } } } }, "/api/inspection-check-points": { "get": { "tags": [ "Inspection Check Points" ], "summary": "List", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } }, "meta": { "type": "object", "properties": { "current_page": { "type": "integer" }, "last_page": { "type": "integer" }, "per_page": { "type": "integer" }, "total": { "type": "integer" }, "from": { "type": "integer" }, "to": { "type": "integer" } } } } }, "example": { "data": [ { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } ], "meta": { "current_page": 1, "last_page": 1, "per_page": 15, "total": 1, "from": 1, "to": 1 } } } } } } }, "post": { "tags": [ "Inspection Check Points" ], "summary": "Create", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "inspection_id": { "type": "integer" }, "name": { "type": "string" }, "description": { "type": "string" }, "record_type": { "type": "string" }, "condition_rate": { "type": "integer" } } }, "example": { "inspection_id": 1, "name": "Brake pads", "description": "Check thickness", "record_type": "record_conditions", "condition_rate": 85 } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Created successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } } } } } } } }, "/api/inspection-check-points/{id}": { "put": { "tags": [ "Inspection Check Points" ], "summary": "Update", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string" }, "record_type": { "type": "string" }, "condition_rate": { "type": "integer" }, "file": { "type": "string", "nullable": true } } }, "example": { "name": "Brake pads", "record_type": "record_conditions", "condition_rate": 90, "file": null } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Updated successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z" } } } } } } }, "delete": { "tags": [ "Inspection Check Points" ], "summary": "Delete", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Deleted successfully." } } } } } } }, "/api/toggle-label-to-checkpoint": { "post": { "tags": [ "Inspection Check Points" ], "summary": "Toggle Label to Checkpoint", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "inspection_check_point_id": { "type": "integer" }, "check_point_label_id": { "type": "integer" } } }, "example": { "inspection_check_point_id": 1, "check_point_label_id": 1 } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Updated successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z" } } } } } } } }, "/api/inspection-check-points/change-status": { "post": { "tags": [ "Inspection Check Points" ], "summary": "Change Status", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "inspection_check_point_id": { "type": "integer" }, "status": { "type": "string" } } }, "example": { "inspection_check_point_id": 1, "status": "passed" } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Updated successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z" } } } } } } } }, "/api/inspection-check-points/add-attachment": { "post": { "tags": [ "Inspection Check Points" ], "summary": "Add Attachment", "requestBody": { "content": { "multipart/form-data": { "schema": { "type": "object", "properties": { "inspection_check_point_id": { "type": "string" }, "attachment": { "type": "string", "format": "binary" } } } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Updated successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z" } } } } } } } }, "/api/inspection-check-points/{id}/upload-media": { "post": { "tags": [ "Inspection Check Points" ], "summary": "Upload Media", "requestBody": { "content": { "multipart/form-data": { "schema": { "type": "object", "properties": { "file": { "type": "string", "format": "binary" } } } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Created successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } } } } } } } }, "/api/inspection-check-points/{id}/media": { "delete": { "tags": [ "Inspection Check Points" ], "summary": "Remove Media", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Deleted successfully." } } } } } } }, "/api/job-cards": { "get": { "tags": [ "Job Cards" ], "summary": "List", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" }, "customer_id": { "type": "integer" }, "vehicle_id": { "type": "integer" }, "sales_person_id": { "type": "integer" }, "status": { "type": "string" }, "department_id": { "type": "integer" }, "check_in_date": { "type": "string" }, "km_in": { "type": "integer" }, "tax_inclusive": { "type": "string" }, "discount_type": { "type": "string" }, "discount_at": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" }, "labels": { "type": "array", "items": {} }, "documents": { "type": "array", "items": {} }, "purchase_orders_count": { "type": "integer" }, "bills_count": { "type": "integer" }, "expenses_count": { "type": "integer" }, "tasks_count": { "type": "integer" }, "appointments_count": { "type": "integer" } } } }, "meta": { "type": "object", "properties": { "current_page": { "type": "integer" }, "last_page": { "type": "integer" }, "per_page": { "type": "integer" }, "total": { "type": "integer" }, "from": { "type": "integer" }, "to": { "type": "integer" } } } } }, "example": { "data": [ { "id": 1, "title": "Job Card 001", "customer_id": 1, "vehicle_id": 1, "sales_person_id": 1, "status": "draft", "department_id": 1, "check_in_date": "2026-03-18", "km_in": 50000, "tax_inclusive": "Tax Inclusive", "discount_type": "no", "discount_at": "inclusive_of_tax", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z", "labels": [], "documents": [], "purchase_orders_count": 0, "bills_count": 0, "expenses_count": 0, "tasks_count": 0, "appointments_count": 0 } ], "meta": { "current_page": 1, "last_page": 1, "per_page": 15, "total": 1, "from": 1, "to": 1 } } } } } } }, "post": { "tags": [ "Job Cards" ], "summary": "Create", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "title": { "type": "string" }, "customer_id": { "type": "integer" }, "vehicle_id": { "type": "integer" }, "status": { "type": "string" }, "tax_inclusive": { "type": "string" }, "discount_type": { "type": "string" }, "discount_at": { "type": "string" } } }, "example": { "title": "Job Card 001", "customer_id": 1, "vehicle_id": 1, "status": "draft", "tax_inclusive": "Tax Inclusive", "discount_type": "no", "discount_at": "inclusive_of_tax" } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" }, "customer_id": { "type": "integer" }, "vehicle_id": { "type": "integer" }, "sales_person_id": { "type": "integer" }, "status": { "type": "string" }, "department_id": { "type": "string", "nullable": true }, "check_in_date": { "type": "string", "nullable": true }, "km_in": { "type": "string", "nullable": true }, "tax_inclusive": { "type": "string" }, "discount_type": { "type": "string" }, "discount_at": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Created successfully.", "data": { "id": 1, "title": "Job Card 001", "customer_id": 1, "vehicle_id": 1, "sales_person_id": 1, "status": "draft", "department_id": null, "check_in_date": null, "km_in": null, "tax_inclusive": "Tax Inclusive", "discount_type": "no", "discount_at": "inclusive_of_tax", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } } } } } } } }, "/api/job-cards/{id}": { "put": { "tags": [ "Job Cards" ], "summary": "Update", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "title": { "type": "string" }, "status": { "type": "string" }, "department_id": { "type": "integer" }, "check_in_date": { "type": "string" }, "km_in": { "type": "integer" }, "label_ids": { "type": "array", "items": { "type": "integer" } }, "tax_inclusive": { "type": "string" }, "discount_type": { "type": "string" }, "discount_at": { "type": "string" } } }, "example": { "title": "Job Card 001 Updated", "status": "check_in", "department_id": 1, "check_in_date": "2026-03-18", "km_in": 50000, "label_ids": [ 1 ], "tax_inclusive": "Tax Exclusive", "discount_type": "transaction_level", "discount_at": "exclusive_of_tax" } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" }, "customer_id": { "type": "integer" }, "vehicle_id": { "type": "integer" }, "sales_person_id": { "type": "integer" }, "status": { "type": "string" }, "department_id": { "type": "integer" }, "check_in_date": { "type": "string" }, "km_in": { "type": "integer" }, "tax_inclusive": { "type": "string" }, "discount_type": { "type": "string" }, "discount_at": { "type": "string" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Updated successfully.", "data": { "id": 1, "title": "Job Card 001 Updated", "customer_id": 1, "vehicle_id": 1, "sales_person_id": 1, "status": "check_in", "department_id": 1, "check_in_date": "2026-03-18", "km_in": 50000, "tax_inclusive": "Tax Exclusive", "discount_type": "transaction_level", "discount_at": "exclusive_of_tax", "updated_at": "2026-03-23T12:10:00.000000Z" } } } } } } }, "delete": { "tags": [ "Job Cards" ], "summary": "Delete", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Deleted successfully." } } } } } } }, "/api/job-cards/{id}/change-date": { "post": { "tags": [ "Job Cards" ], "summary": "Change Date", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "order_date": { "type": "string" } } }, "example": { "order_date": "2026-03-18" } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" }, "order_date": { "type": "string" }, "status": { "type": "string" }, "tax_inclusive": { "type": "string" }, "discount_type": { "type": "string" }, "discount_at": { "type": "string" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Updated successfully.", "data": { "id": 1, "title": "Job Card 001", "order_date": "2026-03-18", "status": "draft", "tax_inclusive": "Tax Inclusive", "discount_type": "no", "discount_at": "inclusive_of_tax", "updated_at": "2026-03-23T12:10:00.000000Z" } } } } } } } }, "/api/job-cards/{id}/change-status": { "post": { "tags": [ "Job Cards" ], "summary": "Change Status", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string" } } }, "example": { "status": "in_progress" } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" }, "status": { "type": "string" }, "tax_inclusive": { "type": "string" }, "discount_type": { "type": "string" }, "discount_at": { "type": "string" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Updated successfully.", "data": { "id": 1, "title": "Job Card 001", "status": "in_progress", "tax_inclusive": "Tax Inclusive", "discount_type": "no", "discount_at": "inclusive_of_tax", "updated_at": "2026-03-23T12:10:00.000000Z" } } } } } } } }, "/api/job-cards/{id}/add-customer-remark": { "post": { "tags": [ "Job Cards" ], "summary": "Add Customer Remark", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "remark": { "type": "string" } } }, "example": { "remark": "Customer requested wash" } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" }, "customer_remarks": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "job_card_id": { "type": "integer" }, "remark": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } } } } }, "example": { "message": "Customer remark added successfully.", "data": { "id": 1, "title": "Job Card 001", "customer_remarks": [ { "id": 1, "job_card_id": 1, "remark": "Customer requested wash", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } ] } } } } } } } }, "/api/job-cards/{id}/edit-customer-remark": { "post": { "tags": [ "Job Cards" ], "summary": "Edit Customer Remark", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "customer_remark_id": { "type": "integer" }, "remark": { "type": "string" } } }, "example": { "customer_remark_id": 1, "remark": "Updated remark" } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" }, "customer_remarks": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "job_card_id": { "type": "integer" }, "remark": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } } } } }, "example": { "message": "Customer remark updated successfully.", "data": { "id": 1, "title": "Job Card 001", "customer_remarks": [ { "id": 1, "job_card_id": 1, "remark": "Updated remark", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z" } ] } } } } } } } }, "/api/job-cards/{id}/delete-customer-remark": { "delete": { "tags": [ "Job Cards" ], "summary": "Delete Customer Remark", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" }, "customer_remarks": { "type": "array", "items": {} } } } } }, "example": { "message": "Customer remark deleted successfully.", "data": { "id": 1, "title": "Job Card 001", "customer_remarks": [] } } } } } } } }, "/api/job-cards/{id}/add-shop-recommendation": { "post": { "tags": [ "Job Cards" ], "summary": "Add Shop Recommendation", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "recommendation": { "type": "string" } } }, "example": { "recommendation": "Replace brake pads" } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" }, "shop_recommendations": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "job_card_id": { "type": "integer" }, "recommendation": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } } } } }, "example": { "message": "Shop recommendation added successfully.", "data": { "id": 1, "title": "Job Card 001", "shop_recommendations": [ { "id": 1, "job_card_id": 1, "recommendation": "Replace brake pads", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } ] } } } } } } } }, "/api/job-cards/{id}/edit-shop-recommendation": { "post": { "tags": [ "Job Cards" ], "summary": "Edit Shop Recommendation", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "shop_recommendation_id": { "type": "integer" }, "recommendation": { "type": "string" } } }, "example": { "shop_recommendation_id": 1, "recommendation": "Updated recommendation" } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" }, "shop_recommendations": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "job_card_id": { "type": "integer" }, "recommendation": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } } } } }, "example": { "message": "Shop recommendation updated successfully.", "data": { "id": 1, "title": "Job Card 001", "shop_recommendations": [ { "id": 1, "job_card_id": 1, "recommendation": "Updated recommendation", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z" } ] } } } } } } } }, "/api/job-cards/{id}/delete-shop-recommendation": { "delete": { "tags": [ "Job Cards" ], "summary": "Delete Shop Recommendation", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" }, "shop_recommendations": { "type": "array", "items": {} } } } } }, "example": { "message": "Shop recommendation deleted successfully.", "data": { "id": 1, "title": "Job Card 001", "shop_recommendations": [] } } } } } } } }, "/api/job-cards/{id}/add-attachment": { "post": { "tags": [ "Job Cards" ], "summary": "Add Attachment", "requestBody": { "content": { "multipart/form-data": { "schema": { "type": "object", "properties": { "attachments[]": { "type": "string", "format": "binary" } } } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" }, "attachments": { "type": "string" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Updated successfully.", "data": { "id": 1, "title": "Job Card 001", "attachments": "[\"job_card_attachments/file1.jpg\"]", "updated_at": "2026-03-23T12:10:00.000000Z" } } } } } } } }, "/api/job-cards/{id}/delete-attachment": { "post": { "tags": [ "Job Cards" ], "summary": "Delete Attachment", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "attachment_id": { "type": "integer" } } }, "example": { "attachment_id": 1 } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Removed successfully." } } } } } } }, "/api/job-cards/{id}/change-service-writer-id": { "post": { "tags": [ "Job Cards" ], "summary": "Change Service Writer", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "service_writer_id": { "type": "integer" } } }, "example": { "service_writer_id": 1 } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" }, "service_writer_id": { "type": "integer" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Updated successfully.", "data": { "id": 1, "title": "Job Card 001", "service_writer_id": 1, "updated_at": "2026-03-23T12:10:00.000000Z" } } } } } } } }, "/api/job-cards/{id}/change-sales-person-id": { "post": { "tags": [ "Job Cards" ], "summary": "Change Sales Person", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "sales_person_id": { "type": "integer" } } }, "example": { "sales_person_id": 1 } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" }, "sales_person_id": { "type": "integer" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Updated successfully.", "data": { "id": 1, "title": "Job Card 001", "sales_person_id": 1, "updated_at": "2026-03-23T12:10:00.000000Z" } } } } } } } }, "/api/payment-mode": { "get": { "tags": [ "Payment Modes" ], "summary": "List", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } }, "meta": { "type": "object", "properties": { "current_page": { "type": "integer" }, "last_page": { "type": "integer" }, "per_page": { "type": "integer" }, "total": { "type": "integer" }, "from": { "type": "integer" }, "to": { "type": "integer" } } } } }, "example": { "data": [ { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } ], "meta": { "current_page": 1, "last_page": 1, "per_page": 15, "total": 1, "from": 1, "to": 1 } } } } } } }, "post": { "tags": [ "Payment Modes" ], "summary": "Create", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "title": { "type": "string" }, "is_default": { "type": "boolean" } } }, "example": { "title": "Cash", "is_default": true } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Created successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } } } } } } } }, "/api/payment-mode/{id}": { "put": { "tags": [ "Payment Modes" ], "summary": "Update", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "title": { "type": "string" }, "is_default": { "type": "boolean" } } }, "example": { "title": "Bank Transfer", "is_default": false } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Updated successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z" } } } } } } }, "delete": { "tags": [ "Payment Modes" ], "summary": "Delete", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Deleted successfully." } } } } } } }, "/api/payment-recieved": { "get": { "tags": [ "Payment Received" ], "summary": "List", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } }, "meta": { "type": "object", "properties": { "current_page": { "type": "integer" }, "last_page": { "type": "integer" }, "per_page": { "type": "integer" }, "total": { "type": "integer" }, "from": { "type": "integer" }, "to": { "type": "integer" } } } } }, "example": { "data": [ { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } ], "meta": { "current_page": 1, "last_page": 1, "per_page": 15, "total": 1, "from": 1, "to": 1 } } } } } } }, "post": { "tags": [ "Payment Received" ], "summary": "Create", "requestBody": { "content": { "multipart/form-data": { "schema": { "type": "object", "properties": { "job_card_id": { "type": "string" }, "payment_mode_id": { "type": "string" }, "customer_id": { "type": "string" }, "amount_received": { "type": "string" }, "payment_number": { "type": "string" }, "payment_date": { "type": "string" }, "note": { "type": "string" }, "attachment_files[]": { "type": "string", "format": "binary" } } } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Created successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } } } } } } } }, "/api/payment-recieved/{id}": { "post": { "tags": [ "Payment Received" ], "summary": "Update", "requestBody": { "content": { "multipart/form-data": { "schema": { "type": "object", "properties": { "_method": { "type": "string" }, "amount_received": { "type": "string" }, "note": { "type": "string" }, "delete_attachment_ids[]": { "type": "string" }, "attachment_files[]": { "type": "string", "format": "binary" } } } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Updated successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z" } } } } } } }, "delete": { "tags": [ "Payment Received" ], "summary": "Delete", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Deleted successfully." } } } } } } }, "/api/parts": { "get": { "tags": [ "Parts" ], "summary": "List", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "shop_type_id": { "type": "integer" }, "category_id": { "type": "integer" }, "title": { "type": "string" }, "sku": { "type": "string" }, "part_number": { "type": "string" }, "unit_type_id": { "type": "integer" }, "manufactured_by": { "type": "string" }, "description": { "type": "string" }, "location": { "type": "string" }, "pricing_matrix": { "type": "string" }, "department_id": { "type": "integer" }, "sales_information": { "type": "boolean" }, "selling_price": { "type": "string" }, "sales_chart_of_account": { "type": "integer" }, "purchase_information": { "type": "boolean" }, "purchase_chart_of_account": { "type": "integer" }, "purchase_preferred_vendor_id": { "type": "integer" }, "purchase_price": { "type": "string" }, "track_inventory": { "type": "boolean" }, "opening_stock": { "type": "integer" }, "as_on_date": { "type": "string" }, "min_stock": { "type": "integer" }, "max_stock": { "type": "integer" }, "inventory_chart_of_account": { "type": "integer" }, "tracking_type": { "type": "integer" }, "inventory_purchase_price": { "type": "string" }, "is_active": { "type": "boolean" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } } }, "example": { "data": [ { "id": 1, "shop_type_id": 1, "category_id": 1, "title": "Brake Pad", "sku": "BP-001", "part_number": "BP-001-A", "unit_type_id": 1, "manufactured_by": "Bosch", "description": "Front brake pad set", "location": "Rack A-3", "pricing_matrix": "Standard", "department_id": 1, "sales_information": true, "selling_price": "45.00", "sales_chart_of_account": 4000, "purchase_information": true, "purchase_chart_of_account": 5000, "purchase_preferred_vendor_id": 1, "purchase_price": "25.00", "track_inventory": true, "opening_stock": 10, "as_on_date": "2026-03-20", "min_stock": 2, "max_stock": 50, "inventory_chart_of_account": 3000, "tracking_type": 1, "inventory_purchase_price": "24.00", "is_active": true, "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } ] } } } } } }, "post": { "tags": [ "Parts" ], "summary": "Create", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "shop_type_id": { "type": "integer" }, "category_id": { "type": "integer" }, "title": { "type": "string" }, "sku": { "type": "string" }, "unit_type_id": { "type": "integer" }, "department_id": { "type": "integer" }, "description": { "type": "string" }, "selling_price": { "type": "integer" }, "purchase_price": { "type": "integer" } } }, "example": { "shop_type_id": 1, "category_id": 1, "title": "Brake Pad", "sku": "BP-001", "unit_type_id": 1, "department_id": 1, "description": "Front brake pad set", "selling_price": 45, "purchase_price": 25 } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "shop_type_id": { "type": "integer" }, "category_id": { "type": "integer" }, "title": { "type": "string" }, "sku": { "type": "string" }, "part_number": { "type": "string" }, "unit_type_id": { "type": "integer" }, "manufactured_by": { "type": "string" }, "description": { "type": "string" }, "location": { "type": "string" }, "pricing_matrix": { "type": "string" }, "department_id": { "type": "integer" }, "sales_information": { "type": "boolean" }, "selling_price": { "type": "string" }, "sales_chart_of_account": { "type": "integer" }, "purchase_information": { "type": "boolean" }, "purchase_chart_of_account": { "type": "integer" }, "purchase_preferred_vendor_id": { "type": "integer" }, "purchase_price": { "type": "string" }, "track_inventory": { "type": "boolean" }, "opening_stock": { "type": "integer" }, "as_on_date": { "type": "string" }, "min_stock": { "type": "integer" }, "max_stock": { "type": "integer" }, "inventory_chart_of_account": { "type": "integer" }, "tracking_type": { "type": "integer" }, "inventory_purchase_price": { "type": "string" }, "is_active": { "type": "boolean" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Created successfully.", "data": { "id": 1, "shop_type_id": 1, "category_id": 1, "title": "Brake Pad", "sku": "BP-001", "part_number": "BP-001-A", "unit_type_id": 1, "manufactured_by": "Bosch", "description": "Front brake pad set", "location": "Rack A-3", "pricing_matrix": "Standard", "department_id": 1, "sales_information": true, "selling_price": "45.00", "sales_chart_of_account": 4000, "purchase_information": true, "purchase_chart_of_account": 5000, "purchase_preferred_vendor_id": 1, "purchase_price": "25.00", "track_inventory": true, "opening_stock": 10, "as_on_date": "2026-03-20", "min_stock": 2, "max_stock": 50, "inventory_chart_of_account": 3000, "tracking_type": 1, "inventory_purchase_price": "24.00", "is_active": true, "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } } } } } } } }, "/api/parts/{id}": { "get": { "tags": [ "Parts" ], "summary": "Show", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "id": { "type": "integer" }, "shop_type_id": { "type": "integer" }, "category_id": { "type": "integer" }, "title": { "type": "string" }, "sku": { "type": "string" }, "part_number": { "type": "string" }, "unit_type_id": { "type": "integer" }, "manufactured_by": { "type": "string" }, "description": { "type": "string" }, "location": { "type": "string" }, "pricing_matrix": { "type": "string" }, "department_id": { "type": "integer" }, "sales_information": { "type": "boolean" }, "selling_price": { "type": "string" }, "sales_chart_of_account": { "type": "integer" }, "purchase_information": { "type": "boolean" }, "purchase_chart_of_account": { "type": "integer" }, "purchase_preferred_vendor_id": { "type": "integer" }, "purchase_price": { "type": "string" }, "track_inventory": { "type": "boolean" }, "opening_stock": { "type": "integer" }, "as_on_date": { "type": "string" }, "min_stock": { "type": "integer" }, "max_stock": { "type": "integer" }, "inventory_chart_of_account": { "type": "integer" }, "tracking_type": { "type": "integer" }, "inventory_purchase_price": { "type": "string" }, "is_active": { "type": "boolean" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "data": { "id": 1, "shop_type_id": 1, "category_id": 1, "title": "Brake Pad", "sku": "BP-001", "part_number": "BP-001-A", "unit_type_id": 1, "manufactured_by": "Bosch", "description": "Front brake pad set", "location": "Rack A-3", "pricing_matrix": "Standard", "department_id": 1, "sales_information": true, "selling_price": "45.00", "sales_chart_of_account": 4000, "purchase_information": true, "purchase_chart_of_account": 5000, "purchase_preferred_vendor_id": 1, "purchase_price": "25.00", "track_inventory": true, "opening_stock": 10, "as_on_date": "2026-03-20", "min_stock": 2, "max_stock": 50, "inventory_chart_of_account": 3000, "tracking_type": 1, "inventory_purchase_price": "24.00", "is_active": true, "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } } } } } } }, "put": { "tags": [ "Parts" ], "summary": "Update", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "title": { "type": "string" }, "selling_price": { "type": "integer" } } }, "example": { "title": "Brake Pad Updated", "selling_price": 50 } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "shop_type_id": { "type": "integer" }, "category_id": { "type": "integer" }, "title": { "type": "string" }, "sku": { "type": "string" }, "part_number": { "type": "string" }, "unit_type_id": { "type": "integer" }, "manufactured_by": { "type": "string" }, "description": { "type": "string" }, "location": { "type": "string" }, "pricing_matrix": { "type": "string" }, "department_id": { "type": "integer" }, "sales_information": { "type": "boolean" }, "selling_price": { "type": "string" }, "sales_chart_of_account": { "type": "integer" }, "purchase_information": { "type": "boolean" }, "purchase_chart_of_account": { "type": "integer" }, "purchase_preferred_vendor_id": { "type": "integer" }, "purchase_price": { "type": "string" }, "track_inventory": { "type": "boolean" }, "opening_stock": { "type": "integer" }, "as_on_date": { "type": "string" }, "min_stock": { "type": "integer" }, "max_stock": { "type": "integer" }, "inventory_chart_of_account": { "type": "integer" }, "tracking_type": { "type": "integer" }, "inventory_purchase_price": { "type": "string" }, "is_active": { "type": "boolean" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Updated successfully.", "data": { "id": 1, "shop_type_id": 1, "category_id": 1, "title": "Brake Pad Updated", "sku": "BP-001", "part_number": "BP-001-A", "unit_type_id": 1, "manufactured_by": "Bosch", "description": "Front brake pad set", "location": "Rack A-3", "pricing_matrix": "Standard", "department_id": 1, "sales_information": true, "selling_price": "50.00", "sales_chart_of_account": 4000, "purchase_information": true, "purchase_chart_of_account": 5000, "purchase_preferred_vendor_id": 1, "purchase_price": "25.00", "track_inventory": true, "opening_stock": 10, "as_on_date": "2026-03-20", "min_stock": 2, "max_stock": 50, "inventory_chart_of_account": 3000, "tracking_type": 1, "inventory_purchase_price": "24.00", "is_active": true, "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z" } } } } } } }, "delete": { "tags": [ "Parts" ], "summary": "Delete", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Deleted successfully." } } } } } } }, "/api/import-parts": { "post": { "tags": [ "Parts" ], "summary": "Import", "requestBody": { "content": { "multipart/form-data": { "schema": { "type": "object", "properties": { "file": { "type": "string", "format": "binary" } } } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "imported_count": { "type": "integer" }, "failed_count": { "type": "integer" }, "failed_rows": { "type": "array", "items": { "type": "object", "properties": { "row": { "type": "integer" }, "errors": { "type": "array", "items": { "type": "string" } }, "values": { "type": "object", "properties": { "sku": { "type": "string" } } } } } } } } } }, "example": { "message": "Import completed successfully.", "data": { "imported_count": 8, "failed_count": 1, "failed_rows": [ { "row": 4, "errors": [ "The sku has already been taken." ], "values": { "sku": "BP-001" } } ] } } } } } } } }, "/api/export-parts": { "post": { "tags": [ "Parts" ], "summary": "Export", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "search": { "type": "string" }, "shop_type_id": { "type": "string", "nullable": true }, "category_id": { "type": "string", "nullable": true }, "department_id": { "type": "string", "nullable": true } } }, "example": { "search": "", "shop_type_id": null, "category_id": null, "department_id": null } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Export generated successfully." } } } } } } }, "/api/toggle-part-status": { "post": { "tags": [ "Parts" ], "summary": "Toggle Status", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "integer" } } }, "example": { "id": 1 } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Status updated successfully." } } } } } } }, "/api/purchase-orders": { "get": { "tags": [ "Purchase Orders" ], "summary": "List", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "service_name": { "type": "string" }, "shop_type_id": { "type": "integer" }, "code": { "type": "string" }, "inventory_category_id": { "type": "integer" }, "unit_type_id": { "type": "integer" }, "department_id": { "type": "integer" }, "service_description": { "type": "string" }, "show_as_lump_sum": { "type": "boolean" }, "mark_as_recommended": { "type": "boolean" }, "set_packaged_pricing": { "type": "boolean" }, "selling_price": { "type": "string" }, "selling_chart_of_account": { "type": "string" }, "is_active": { "type": "boolean" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" }, "shop_type": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" } } }, "inventory_category": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" } } }, "unit_type": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" } } }, "department": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" } } } } } } } }, "example": { "data": [ { "id": 1, "service_name": "Engine Service Group", "shop_type_id": 1, "code": "SG-001", "inventory_category_id": 1, "unit_type_id": 1, "department_id": 1, "service_description": "Common engine services", "show_as_lump_sum": false, "mark_as_recommended": true, "set_packaged_pricing": false, "selling_price": "100.00", "selling_chart_of_account": "4000", "is_active": true, "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z", "shop_type": { "id": 1, "title": "Main Workshop" }, "inventory_category": { "id": 1, "title": "Engine" }, "unit_type": { "id": 1, "name": "Hour" }, "department": { "id": 1, "name": "Service Department" } } ] } } } } } }, "post": { "tags": [ "Purchase Orders" ], "summary": "Create", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "job_card_id": { "type": "integer" }, "vendor_id": { "type": "integer" }, "title": { "type": "string" }, "order_number": { "type": "string" }, "order_date": { "type": "string" }, "delivery_date": { "type": "string" }, "department_id": { "type": "integer" }, "notes": { "type": "string" }, "label_ids": { "type": "array", "items": { "type": "integer" } }, "items": { "type": "array", "items": { "type": "object", "properties": { "part_id": { "type": "integer" }, "quantity": { "type": "integer" }, "rate": { "type": "integer" }, "description": { "type": "string" } } } } } }, "example": { "job_card_id": 1, "vendor_id": 1, "title": "PO-001", "order_number": "PO-2026-001", "order_date": "2026-03-19", "delivery_date": "2026-03-25", "department_id": 1, "notes": "Urgent order", "label_ids": [ 1 ], "items": [ { "part_id": 1, "quantity": 5, "rate": 25, "description": "Brake pads" } ] } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "service_name": { "type": "string" }, "shop_type_id": { "type": "integer" }, "code": { "type": "string" }, "inventory_category_id": { "type": "integer" }, "unit_type_id": { "type": "integer" }, "department_id": { "type": "integer" }, "service_description": { "type": "string" }, "show_as_lump_sum": { "type": "boolean" }, "mark_as_recommended": { "type": "boolean" }, "set_packaged_pricing": { "type": "boolean" }, "selling_price": { "type": "string" }, "selling_chart_of_account": { "type": "string" }, "is_active": { "type": "boolean" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" }, "shop_type": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" } } }, "inventory_category": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" } } }, "unit_type": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" } } }, "department": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" } } } } } } }, "example": { "message": "Service group created successfully.", "data": { "id": 1, "service_name": "Engine Service Group", "shop_type_id": 1, "code": "SG-001", "inventory_category_id": 1, "unit_type_id": 1, "department_id": 1, "service_description": "Common engine services", "show_as_lump_sum": false, "mark_as_recommended": true, "set_packaged_pricing": false, "selling_price": "100.00", "selling_chart_of_account": "4000", "is_active": true, "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z", "shop_type": { "id": 1, "title": "Main Workshop" }, "inventory_category": { "id": 1, "title": "Engine" }, "unit_type": { "id": 1, "name": "Hour" }, "department": { "id": 1, "name": "Service Department" } } } } } } } } }, "/api/purchase-orders/{id}": { "put": { "tags": [ "Purchase Orders" ], "summary": "Update", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "title": { "type": "string" }, "notes": { "type": "string" }, "label_ids": { "type": "array", "items": { "type": "integer" } }, "items": { "type": "array", "items": { "type": "object", "properties": { "part_id": { "type": "integer" }, "quantity": { "type": "integer" }, "rate": { "type": "integer" }, "description": { "type": "string" } } } } } }, "example": { "title": "PO-001 Updated", "notes": "Updated notes", "label_ids": [ 1, 2 ], "items": [ { "part_id": 1, "quantity": 10, "rate": 22, "description": "Brake pads bulk" } ] } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "service_name": { "type": "string" }, "shop_type_id": { "type": "integer" }, "code": { "type": "string" }, "inventory_category_id": { "type": "integer" }, "unit_type_id": { "type": "integer" }, "department_id": { "type": "integer" }, "service_description": { "type": "string" }, "show_as_lump_sum": { "type": "boolean" }, "mark_as_recommended": { "type": "boolean" }, "set_packaged_pricing": { "type": "boolean" }, "selling_price": { "type": "string" }, "selling_chart_of_account": { "type": "string" }, "is_active": { "type": "boolean" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" }, "shop_type": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" } } }, "inventory_category": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" } } }, "unit_type": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" } } }, "department": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" } } } } } } }, "example": { "message": "Service group updated successfully.", "data": { "id": 1, "service_name": "Engine Service Group Updated", "shop_type_id": 1, "code": "SG-001", "inventory_category_id": 1, "unit_type_id": 1, "department_id": 1, "service_description": "Common engine services", "show_as_lump_sum": false, "mark_as_recommended": true, "set_packaged_pricing": false, "selling_price": "125.00", "selling_chart_of_account": "4000", "is_active": true, "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z", "shop_type": { "id": 1, "title": "Main Workshop" }, "inventory_category": { "id": 1, "title": "Engine" }, "unit_type": { "id": 1, "name": "Hour" }, "department": { "id": 1, "name": "Service Department" } } } } } } } }, "delete": { "tags": [ "Purchase Orders" ], "summary": "Delete", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Service group deleted successfully." } } } } } } }, "/api/services": { "get": { "tags": [ "Services" ], "summary": "List", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } }, "meta": { "type": "object", "properties": { "current_page": { "type": "integer" }, "last_page": { "type": "integer" }, "per_page": { "type": "integer" }, "total": { "type": "integer" }, "from": { "type": "integer" }, "to": { "type": "integer" } } } } }, "example": { "data": [ { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } ], "meta": { "current_page": 1, "last_page": 1, "per_page": 15, "total": 1, "from": 1, "to": 1 } } } } } } }, "post": { "tags": [ "Services" ], "summary": "Create", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "shop_type_id": { "type": "integer" }, "category_id": { "type": "integer" }, "labor_name": { "type": "string" }, "service_code": { "type": "string" }, "unit_type_id": { "type": "integer" }, "labor_matrix": { "type": "string" }, "department_id": { "type": "integer" }, "description": { "type": "string" }, "selling_price": { "type": "integer" } } }, "example": { "shop_type_id": 1, "category_id": 1, "labor_name": "Oil Change", "service_code": "SVC-001", "unit_type_id": 1, "labor_matrix": "Standard", "department_id": 1, "description": "Full synthetic oil change", "selling_price": 75 } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Created successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } } } } } } } }, "/api/services/{id}": { "get": { "tags": [ "Services" ], "summary": "Show", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "id": { "type": "integer" }, "shop_type_id": { "type": "integer" }, "category_id": { "type": "integer" }, "labor_name": { "type": "string" }, "service_code": { "type": "string" }, "unit_type_id": { "type": "integer" }, "labor_matrix": { "type": "string" }, "description": { "type": "string" }, "department_id": { "type": "integer" }, "sales_information": { "type": "boolean" }, "rate_type": { "type": "string" }, "labor_rate_id": { "type": "integer" }, "labor_hours": { "type": "string" }, "sales_chart_of_account": { "type": "integer" }, "selling_price": { "type": "string" }, "purchase_information": { "type": "boolean" }, "purchase_chart_of_account": { "type": "string", "nullable": true }, "purchase_preferred_vendor_id": { "type": "string", "nullable": true }, "purchase_price": { "type": "string", "nullable": true }, "is_active": { "type": "boolean" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "data": { "id": 1, "shop_type_id": 1, "category_id": 1, "labor_name": "Oil Change", "service_code": "SVC-001", "unit_type_id": 1, "labor_matrix": "Standard", "description": "Full synthetic oil change", "department_id": 1, "sales_information": true, "rate_type": "hourly", "labor_rate_id": 1, "labor_hours": "1.00", "sales_chart_of_account": 4000, "selling_price": "75.00", "purchase_information": false, "purchase_chart_of_account": null, "purchase_preferred_vendor_id": null, "purchase_price": null, "is_active": true, "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } } } } } } }, "put": { "tags": [ "Services" ], "summary": "Update", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "labor_name": { "type": "string" }, "selling_price": { "type": "integer" } } }, "example": { "labor_name": "Oil Change Premium", "selling_price": 85 } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Updated successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z" } } } } } } }, "delete": { "tags": [ "Services" ], "summary": "Delete", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Deleted successfully." } } } } } } }, "/api/import-services": { "post": { "tags": [ "Services" ], "summary": "Import", "requestBody": { "content": { "multipart/form-data": { "schema": { "type": "object", "properties": { "file": { "type": "string", "format": "binary" } } } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Import completed successfully." } } } } } } }, "/api/export-services": { "post": { "tags": [ "Services" ], "summary": "Export", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "search": { "type": "string" }, "shop_type_id": { "type": "string", "nullable": true }, "category_id": { "type": "string", "nullable": true }, "department_id": { "type": "string", "nullable": true } } }, "example": { "search": "", "shop_type_id": null, "category_id": null, "department_id": null } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Export generated successfully." } } } } } } }, "/api/expense-items": { "get": { "tags": [ "Expense Items" ], "summary": "List", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } }, "meta": { "type": "object", "properties": { "current_page": { "type": "integer" }, "last_page": { "type": "integer" }, "per_page": { "type": "integer" }, "total": { "type": "integer" }, "from": { "type": "integer" }, "to": { "type": "integer" } } } } }, "example": { "data": [ { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } ], "meta": { "current_page": 1, "last_page": 1, "per_page": 15, "total": 1, "from": 1, "to": 1 } } } } } } }, "post": { "tags": [ "Expense Items" ], "summary": "Create", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "item_type": { "type": "string" }, "category_id": { "type": "integer" }, "item_name": { "type": "string" }, "sku": { "type": "string" }, "unit_type_id": { "type": "integer" }, "department_id": { "type": "integer" }, "description": { "type": "string" }, "selling_price": { "type": "integer" }, "purchase_price": { "type": "integer" } } }, "example": { "item_type": "Office Supply", "category_id": 1, "item_name": "Printer Paper", "sku": "EXP-001", "unit_type_id": 1, "department_id": 1, "description": "A4 printer paper", "selling_price": 15, "purchase_price": 10 } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Created successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } } } } } } } }, "/api/expense-items/{id}": { "put": { "tags": [ "Expense Items" ], "summary": "Update", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "item_name": { "type": "string" }, "selling_price": { "type": "integer" } } }, "example": { "item_name": "Printer Paper A4", "selling_price": 18 } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Updated successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z" } } } } } } }, "delete": { "tags": [ "Expense Items" ], "summary": "Delete", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Deleted successfully." } } } } } } }, "/api/toggle-expense-item-status": { "post": { "tags": [ "Expense Items" ], "summary": "Toggle Status", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "integer" } } }, "example": { "id": 1 } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Updated successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z" } } } } } } } }, "/api/bills": { "get": { "tags": [ "Bills" ], "summary": "List", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } }, "meta": { "type": "object", "properties": { "current_page": { "type": "integer" }, "last_page": { "type": "integer" }, "per_page": { "type": "integer" }, "total": { "type": "integer" }, "from": { "type": "integer" }, "to": { "type": "integer" } } } } }, "example": { "data": [ { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } ], "meta": { "current_page": 1, "last_page": 1, "per_page": 15, "total": 1, "from": 1, "to": 1 } } } } } } }, "post": { "tags": [ "Bills" ], "summary": "Create", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "title": { "type": "string" }, "job_card_id": { "type": "integer" }, "vendor_id": { "type": "integer" }, "vendor_address_id": { "type": "integer" }, "bill_date": { "type": "string" }, "bill_due_date": { "type": "string" }, "payment_terms_id": { "type": "integer" }, "department_id": { "type": "integer" }, "notes": { "type": "string" }, "label_ids": { "type": "array", "items": { "type": "integer" } }, "items": { "type": "array", "items": { "type": "object", "properties": { "part_id": { "type": "integer" }, "quantity": { "type": "integer" }, "rate": { "type": "integer" }, "chart_of_account": { "type": "string", "nullable": true }, "description": { "type": "string" } } } } } }, "example": { "title": "Bill 001", "job_card_id": 1, "vendor_id": 1, "vendor_address_id": 1, "bill_date": "2026-03-19", "bill_due_date": "2026-04-19", "payment_terms_id": 1, "department_id": 1, "notes": "Monthly bill", "label_ids": [ 1 ], "items": [ { "part_id": 1, "quantity": 3, "rate": 25, "chart_of_account": null, "description": "Brake pads" } ] } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Created successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } } } } } } } }, "/api/bills/{id}": { "put": { "tags": [ "Bills" ], "summary": "Update", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "title": { "type": "string" }, "notes": { "type": "string" }, "label_ids": { "type": "array", "items": { "type": "integer" } }, "items": { "type": "array", "items": { "type": "object", "properties": { "part_id": { "type": "integer" }, "quantity": { "type": "integer" }, "rate": { "type": "integer" }, "description": { "type": "string" } } } } } }, "example": { "title": "Bill 001 Updated", "notes": "Updated notes", "label_ids": [ 1, 2 ], "items": [ { "part_id": 1, "quantity": 5, "rate": 22, "description": "Brake pads bulk" } ] } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Updated successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z" } } } } } } }, "delete": { "tags": [ "Bills" ], "summary": "Delete", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Deleted successfully." } } } } } } }, "/api/expenses": { "get": { "tags": [ "Expenses" ], "summary": "List", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } }, "meta": { "type": "object", "properties": { "current_page": { "type": "integer" }, "last_page": { "type": "integer" }, "per_page": { "type": "integer" }, "total": { "type": "integer" }, "from": { "type": "integer" }, "to": { "type": "integer" } } } } }, "example": { "data": [ { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } ], "meta": { "current_page": 1, "last_page": 1, "per_page": 15, "total": 1, "from": 1, "to": 1 } } } } } } }, "post": { "tags": [ "Expenses" ], "summary": "Create", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "job_card_id": { "type": "integer" }, "title": { "type": "string" }, "category_id": { "type": "integer" }, "vendor_id": { "type": "integer" }, "invoice_number": { "type": "string" }, "expense_date": { "type": "string" }, "department_id": { "type": "integer" }, "notes": { "type": "string" }, "status": { "type": "string" }, "label_ids": { "type": "array", "items": { "type": "integer" } }, "items": { "type": "array", "items": { "type": "object", "properties": { "expense_item_id": { "type": "integer" }, "quantity": { "type": "integer" }, "rate": { "type": "integer" }, "chart_of_account": { "type": "string", "nullable": true }, "description": { "type": "string" } } } } } }, "example": { "job_card_id": 1, "title": "Office Supplies", "category_id": 1, "vendor_id": 1, "invoice_number": "INV-001", "expense_date": "2026-03-19", "department_id": 1, "notes": "Monthly office expense", "status": "open", "label_ids": [ 1 ], "items": [ { "expense_item_id": 1, "quantity": 2, "rate": 15, "chart_of_account": null, "description": "Printer paper" } ] } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Created successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } } } } } } } }, "/api/expenses/{id}": { "put": { "tags": [ "Expenses" ], "summary": "Update", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "title": { "type": "string" }, "status": { "type": "string" }, "label_ids": { "type": "array", "items": { "type": "integer" } }, "items": { "type": "array", "items": { "type": "object", "properties": { "expense_item_id": { "type": "integer" }, "quantity": { "type": "integer" }, "rate": { "type": "integer" }, "description": { "type": "string" } } } } } }, "example": { "title": "Office Supplies Updated", "status": "paid", "label_ids": [ 1, 2 ], "items": [ { "expense_item_id": 1, "quantity": 5, "rate": 12, "description": "Printer paper bulk" } ] } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Updated successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z" } } } } } } }, "delete": { "tags": [ "Expenses" ], "summary": "Delete", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Deleted successfully." } } } } } } }, "/api/task-types": { "get": { "tags": [ "Task Types" ], "summary": "List", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } }, "meta": { "type": "object", "properties": { "current_page": { "type": "integer" }, "last_page": { "type": "integer" }, "per_page": { "type": "integer" }, "total": { "type": "integer" }, "from": { "type": "integer" }, "to": { "type": "integer" } } } } }, "example": { "data": [ { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } ], "meta": { "current_page": 1, "last_page": 1, "per_page": 15, "total": 1, "from": 1, "to": 1 } } } } } } }, "post": { "tags": [ "Task Types" ], "summary": "Create", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "title": { "type": "string" }, "is_default": { "type": "boolean" } } }, "example": { "title": "Maintenance", "is_default": false } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Created successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } } } } } } } }, "/api/task-types/{id}": { "put": { "tags": [ "Task Types" ], "summary": "Update", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "title": { "type": "string" } } }, "example": { "title": "Maintenance Updated" } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Updated successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z" } } } } } } }, "delete": { "tags": [ "Task Types" ], "summary": "Delete", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Deleted successfully." } } } } } } }, "/api/set-default-task-type": { "post": { "tags": [ "Task Types" ], "summary": "Set Default", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "integer" } } }, "example": { "id": 1 } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Updated successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z" } } } } } } } }, "/api/remove-default-task-type": { "post": { "tags": [ "Task Types" ], "summary": "Remove Default", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "integer" } } }, "example": { "id": 1 } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Removed successfully." } } } } } } }, "/api/task-sections": { "get": { "tags": [ "Task Sections" ], "summary": "List", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } }, "meta": { "type": "object", "properties": { "current_page": { "type": "integer" }, "last_page": { "type": "integer" }, "per_page": { "type": "integer" }, "total": { "type": "integer" }, "from": { "type": "integer" }, "to": { "type": "integer" } } } } }, "example": { "data": [ { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } ], "meta": { "current_page": 1, "last_page": 1, "per_page": 15, "total": 1, "from": 1, "to": 1 } } } } } } }, "post": { "tags": [ "Task Sections" ], "summary": "Create", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "title": { "type": "string" }, "arrangement": { "type": "integer" }, "is_default": { "type": "boolean" } } }, "example": { "title": "To Do", "arrangement": 1, "is_default": false } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Created successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } } } } } } } }, "/api/task-sections/{id}": { "put": { "tags": [ "Task Sections" ], "summary": "Update", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "title": { "type": "string" } } }, "example": { "title": "To Do Updated" } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Updated successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z" } } } } } } }, "delete": { "tags": [ "Task Sections" ], "summary": "Delete", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Deleted successfully." } } } } } } }, "/api/set-default-task-section": { "post": { "tags": [ "Task Sections" ], "summary": "Set Default", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "integer" } } }, "example": { "id": 1 } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Updated successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z" } } } } } } } }, "/api/remove-default-task-section": { "post": { "tags": [ "Task Sections" ], "summary": "Remove Default", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "integer" } } }, "example": { "id": 1 } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Removed successfully." } } } } } } }, "/api/change-task-section-arrangement": { "post": { "tags": [ "Task Sections" ], "summary": "Change Arrangement", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "integer" }, "arrangement": { "type": "integer" } } }, "example": { "id": 1, "arrangement": 3 } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Updated successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z" } } } } } } } }, "/api/tasks": { "get": { "tags": [ "Tasks" ], "summary": "List", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } }, "meta": { "type": "object", "properties": { "current_page": { "type": "integer" }, "last_page": { "type": "integer" }, "per_page": { "type": "integer" }, "total": { "type": "integer" }, "from": { "type": "integer" }, "to": { "type": "integer" } } } } }, "example": { "data": [ { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } ], "meta": { "current_page": 1, "last_page": 1, "per_page": 15, "total": 1, "from": 1, "to": 1 } } } } } } }, "post": { "tags": [ "Tasks" ], "summary": "Create", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "task_type_id": { "type": "integer" }, "task_section_id": { "type": "integer" }, "job_card_id": { "type": "integer" }, "subject": { "type": "string" }, "description": { "type": "string" }, "owner_id": { "type": "integer" }, "department_id": { "type": "integer" }, "priority": { "type": "integer" }, "due_date": { "type": "string" }, "task_number": { "type": "string" }, "status": { "type": "string" } } }, "example": { "task_type_id": 1, "task_section_id": 1, "job_card_id": 1, "subject": "Replace brake pads", "description": "Front and rear brake pads need replacement", "owner_id": 1, "department_id": 1, "priority": 2, "due_date": "2026-03-25", "task_number": "TSK-001", "status": "pending" } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Created successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } } } } } } } }, "/api/tasks/{id}": { "put": { "tags": [ "Tasks" ], "summary": "Update", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "subject": { "type": "string" }, "priority": { "type": "integer" }, "due_date": { "type": "string" } } }, "example": { "subject": "Replace brake pads - Updated", "priority": 3, "due_date": "2026-03-28" } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Updated successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z" } } } } } } }, "delete": { "tags": [ "Tasks" ], "summary": "Delete", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Deleted successfully." } } } } } } }, "/api/tasks/{id}/complete": { "post": { "tags": [ "Tasks" ], "summary": "Complete", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Updated successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z" } } } } } } } }, "/api/appointments": { "get": { "tags": [ "Appointments" ], "summary": "List", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } }, "meta": { "type": "object", "properties": { "current_page": { "type": "integer" }, "last_page": { "type": "integer" }, "per_page": { "type": "integer" }, "total": { "type": "integer" }, "from": { "type": "integer" }, "to": { "type": "integer" } } } } }, "example": { "data": [ { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } ], "meta": { "current_page": 1, "last_page": 1, "per_page": 15, "total": 1, "from": 1, "to": 1 } } } } } } }, "post": { "tags": [ "Appointments" ], "summary": "Create", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "title": { "type": "string" }, "date": { "type": "string" }, "from_time": { "type": "string" }, "to_time": { "type": "string" }, "customer_id": { "type": "integer" }, "vehicle_id": { "type": "integer" }, "service_writer_id": { "type": "integer" }, "technician_id": { "type": "integer" }, "department_id": { "type": "integer" }, "job_card_id": { "type": "integer" }, "notes": { "type": "string" }, "label_ids": { "type": "array", "items": { "type": "integer" } } } }, "example": { "title": "Brake Inspection", "date": "2026-03-25", "from_time": "09:00", "to_time": "10:00", "customer_id": 1, "vehicle_id": 1, "service_writer_id": 1, "technician_id": 1, "department_id": 1, "job_card_id": 1, "notes": "Customer requested morning slot", "label_ids": [ 1 ] } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Created successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } } } } } } } }, "/api/appointments/{id}": { "put": { "tags": [ "Appointments" ], "summary": "Update", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "title": { "type": "string" }, "date": { "type": "string" }, "from_time": { "type": "string" }, "to_time": { "type": "string" }, "label_ids": { "type": "array", "items": { "type": "integer" } } } }, "example": { "title": "Brake Inspection Updated", "date": "2026-03-26", "from_time": "14:00", "to_time": "15:00", "label_ids": [ 1, 2 ] } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Updated successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z" } } } } } } }, "delete": { "tags": [ "Appointments" ], "summary": "Delete", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Deleted successfully." } } } } } } }, "/api/appointments/{id}/un-link-job-card": { "post": { "tags": [ "Appointments" ], "summary": "Unlink Job Card", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Removed successfully." } } } } } } }, "/api/invoice-sequences": { "get": { "tags": [ "Invoice Sequences" ], "summary": "List", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } }, "meta": { "type": "object", "properties": { "current_page": { "type": "integer" }, "last_page": { "type": "integer" }, "per_page": { "type": "integer" }, "total": { "type": "integer" }, "from": { "type": "integer" }, "to": { "type": "integer" } } } } }, "example": { "data": [ { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } ], "meta": { "current_page": 1, "last_page": 1, "per_page": 15, "total": 1, "from": 1, "to": 1 } } } } } } }, "post": { "tags": [ "Invoice Sequences" ], "summary": "Create", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "title": { "type": "string" }, "sequence_title": { "type": "string" }, "is_default": { "type": "boolean" }, "auto_generate": { "type": "boolean" }, "prefix": { "type": "string" }, "start_number": { "type": "integer" }, "department_id": { "type": "integer" } } }, "example": { "title": "Default Invoice Sequence", "sequence_title": "INV 2026", "is_default": true, "auto_generate": true, "prefix": "INV-", "start_number": 1, "department_id": 1 } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Created successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } } } } } } } }, "/api/invoice-sequences/{id}": { "put": { "tags": [ "Invoice Sequences" ], "summary": "Update", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "title": { "type": "string" }, "prefix": { "type": "string" }, "start_number": { "type": "integer" } } }, "example": { "title": "Updated Sequence", "prefix": "INV-2026-", "start_number": 100 } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Updated successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z" } } } } } } }, "delete": { "tags": [ "Invoice Sequences" ], "summary": "Delete", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Deleted successfully." } } } } } } }, "/api/set-default-invoice-sequence": { "post": { "tags": [ "Invoice Sequences" ], "summary": "Set Default", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "integer" } } }, "example": { "id": 1 } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Updated successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z" } } } } } } } }, "/api/remove-default-invoice-sequence": { "post": { "tags": [ "Invoice Sequences" ], "summary": "Remove Default", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "integer" } } }, "example": { "id": 1 } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Removed successfully." } } } } } } }, "/api/service-groups": { "get": { "tags": [ "Service Groups" ], "summary": "List", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } }, "meta": { "type": "object", "properties": { "current_page": { "type": "integer" }, "last_page": { "type": "integer" }, "per_page": { "type": "integer" }, "total": { "type": "integer" }, "from": { "type": "integer" }, "to": { "type": "integer" } } } } }, "example": { "data": [ { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } ], "meta": { "current_page": 1, "last_page": 1, "per_page": 15, "total": 1, "from": 1, "to": 1 } } } } } } }, "post": { "tags": [ "Service Groups" ], "summary": "Create", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "service_name": { "type": "string" }, "shop_type_id": { "type": "integer" }, "code": { "type": "string" }, "inventory_category_id": { "type": "integer" }, "unit_type_id": { "type": "integer" }, "department_id": { "type": "integer" }, "service_description": { "type": "string" }, "show_as_lump_sum": { "type": "boolean" }, "mark_as_recommended": { "type": "boolean" }, "set_packaged_pricing": { "type": "boolean" }, "selling_price": { "type": "integer" }, "selling_chart_of_account": { "type": "string" }, "is_active": { "type": "boolean" } } }, "example": { "service_name": "Engine Service Group", "shop_type_id": 1, "code": "SG-001", "inventory_category_id": 1, "unit_type_id": 1, "department_id": 1, "service_description": "Common engine services", "show_as_lump_sum": false, "mark_as_recommended": true, "set_packaged_pricing": false, "selling_price": 100, "selling_chart_of_account": "4000", "is_active": true } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Created successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } } } } } } } }, "/api/service-groups/{id}": { "get": { "tags": [ "Service Groups" ], "summary": "Show", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "id": { "type": "integer" }, "service_name": { "type": "string" }, "shop_type_id": { "type": "integer" }, "code": { "type": "string" }, "inventory_category_id": { "type": "integer" }, "unit_type_id": { "type": "integer" }, "department_id": { "type": "integer" }, "service_description": { "type": "string" }, "show_as_lump_sum": { "type": "boolean" }, "mark_as_recommended": { "type": "boolean" }, "set_packaged_pricing": { "type": "boolean" }, "selling_price": { "type": "string" }, "selling_chart_of_account": { "type": "string" }, "is_active": { "type": "boolean" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" }, "shop_type": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" } } }, "inventory_category": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" } } }, "unit_type": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" } } }, "department": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" } } }, "labels": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" }, "color_code": { "type": "string" } } } } } } } }, "example": { "data": { "id": 1, "service_name": "Engine Service Group", "shop_type_id": 1, "code": "SG-001", "inventory_category_id": 1, "unit_type_id": 1, "department_id": 1, "service_description": "Common engine services", "show_as_lump_sum": false, "mark_as_recommended": true, "set_packaged_pricing": false, "selling_price": "100.00", "selling_chart_of_account": "4000", "is_active": true, "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z", "shop_type": { "id": 1, "title": "Main Workshop" }, "inventory_category": { "id": 1, "title": "Engine" }, "unit_type": { "id": 1, "title": "Hour" }, "department": { "id": 1, "name": "Service Department" }, "labels": [ { "id": 1, "title": "Recommended", "color_code": "#00AAFF" } ] } } } } } } }, "put": { "tags": [ "Service Groups" ], "summary": "Update", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "service_name": { "type": "string" }, "selling_price": { "type": "integer" }, "is_active": { "type": "boolean" } } }, "example": { "service_name": "Engine Service Group Updated", "selling_price": 125, "is_active": true } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Updated successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z" } } } } } } }, "delete": { "tags": [ "Service Groups" ], "summary": "Delete", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Deleted successfully." } } } } } } }, "/api/service-groups/{id}/toggle-status": { "post": { "tags": [ "Service Groups" ], "summary": "Toggle Status", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": {} }, "example": {} } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "is_active": { "type": "boolean" } } } } }, "example": { "message": "Service group status updated successfully.", "data": { "id": 1, "is_active": false } } } } } } } }, "/api/service-groups/{id}/add-label": { "post": { "tags": [ "Service Group Details" ], "summary": "Add Label", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "label_id": { "type": "integer" } } }, "example": { "label_id": 1 } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "service_name": { "type": "string" }, "labels": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" }, "color_code": { "type": "string" } } } } } } } }, "example": { "message": "Label added to service group successfully.", "data": { "id": 1, "service_name": "Engine Service Group", "labels": [ { "id": 1, "title": "Recommended", "color_code": "#00AAFF" } ] } } } } } } } }, "/api/service-groups/{id}/delete-label": { "delete": { "tags": [ "Service Group Details" ], "summary": "Delete Label", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "label_id": { "type": "integer" } } }, "example": { "label_id": 1 } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "service_name": { "type": "string" }, "labels": { "type": "array", "items": {} } } } } }, "example": { "message": "Label removed from service group successfully.", "data": { "id": 1, "service_name": "Engine Service Group", "labels": [] } } } } } } } }, "/api/service-group-includes": { "get": { "tags": [ "Service Group Details" ], "summary": "Includes List", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "service_group_id": { "type": "integer" }, "title": { "type": "string" }, "arrangement": { "type": "integer" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" }, "service_group": { "type": "object", "properties": { "id": { "type": "integer" }, "service_name": { "type": "string" } } } } } }, "meta": { "type": "object", "properties": { "current_page": { "type": "integer" }, "last_page": { "type": "integer" }, "per_page": { "type": "integer" }, "total": { "type": "integer" }, "from": { "type": "integer" }, "to": { "type": "integer" } } } } }, "example": { "data": [ { "id": 1, "service_group_id": 1, "title": "Basic inspection", "arrangement": 1, "created_at": "2026-03-26T18:40:00.000000Z", "updated_at": "2026-03-26T18:40:00.000000Z", "service_group": { "id": 1, "service_name": "Engine Service Group" } } ], "meta": { "current_page": 1, "last_page": 1, "per_page": 15, "total": 1, "from": 1, "to": 1 } } } } } } }, "post": { "tags": [ "Service Group Details" ], "summary": "Includes Create", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "service_group_id": { "type": "integer" }, "title": { "type": "string" }, "arrangement": { "type": "integer" } } }, "example": { "service_group_id": 1, "title": "Basic inspection", "arrangement": 1 } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "service_group_id": { "type": "integer" }, "title": { "type": "string" }, "arrangement": { "type": "integer" } } } } }, "example": { "message": "Service group include created successfully.", "data": { "id": 1, "service_group_id": 1, "title": "Basic inspection", "arrangement": 1 } } } } } } } }, "/api/service-group-includes/{id}": { "put": { "tags": [ "Service Group Details" ], "summary": "Includes Update", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "title": { "type": "string" } } }, "example": { "title": "Basic inspection updated" } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "service_group_id": { "type": "integer" }, "title": { "type": "string" }, "arrangement": { "type": "integer" } } } } }, "example": { "message": "Service group include updated successfully.", "data": { "id": 1, "service_group_id": 1, "title": "Basic inspection updated", "arrangement": 1 } } } } } } }, "delete": { "tags": [ "Service Group Details" ], "summary": "Includes Delete", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Service group include deleted successfully." } } } } } } }, "/api/service-group-includes/{id}/change-arrangement": { "post": { "tags": [ "Service Group Details" ], "summary": "Includes Change Arrangement", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "arrangement": { "type": "integer" } } }, "example": { "arrangement": 2 } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "service_group_id": { "type": "integer" }, "title": { "type": "string" }, "arrangement": { "type": "integer" } } } } }, "example": { "message": "Service group include arrangement updated successfully.", "data": { "id": 1, "service_group_id": 1, "title": "Basic inspection", "arrangement": 2 } } } } } } } }, "/api/service-group-pricings": { "get": { "tags": [ "Service Group Details" ], "summary": "Pricings List", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "service_group_id": { "type": "integer" }, "shop_type_id": { "type": "integer" }, "make": { "type": "string" }, "model": { "type": "string" }, "fuel_type_id": { "type": "integer" }, "body_type_id": { "type": "integer" }, "rate_type": { "type": "string" }, "labor_rate_id": { "type": "integer" }, "labor_hours": { "type": "string" }, "selling_price": { "type": "string" } } } }, "meta": { "type": "object", "properties": { "current_page": { "type": "integer" }, "last_page": { "type": "integer" }, "per_page": { "type": "integer" }, "total": { "type": "integer" }, "from": { "type": "integer" }, "to": { "type": "integer" } } } } }, "example": { "data": [ { "id": 1, "service_group_id": 1, "shop_type_id": 1, "make": "Toyota", "model": "Camry", "fuel_type_id": 1, "body_type_id": 1, "rate_type": "hourly", "labor_rate_id": 1, "labor_hours": "2.00", "selling_price": "120.00" } ], "meta": { "current_page": 1, "last_page": 1, "per_page": 15, "total": 1, "from": 1, "to": 1 } } } } } } }, "post": { "tags": [ "Service Group Details" ], "summary": "Pricings Create", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "service_group_id": { "type": "integer" }, "shop_type_id": { "type": "integer" }, "make": { "type": "string" }, "model": { "type": "string" }, "fuel_type_id": { "type": "integer" }, "body_type_id": { "type": "integer" }, "rate_type": { "type": "string" }, "labor_rate_id": { "type": "integer" }, "labor_hours": { "type": "integer" }, "selling_price": { "type": "integer" } } }, "example": { "service_group_id": 1, "shop_type_id": 1, "make": "Toyota", "model": "Camry", "fuel_type_id": 1, "body_type_id": 1, "rate_type": "hourly", "labor_rate_id": 1, "labor_hours": 2, "selling_price": 120 } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "service_group_id": { "type": "integer" }, "shop_type_id": { "type": "integer" }, "make": { "type": "string" }, "model": { "type": "string" }, "fuel_type_id": { "type": "integer" }, "body_type_id": { "type": "integer" }, "rate_type": { "type": "string" }, "labor_rate_id": { "type": "integer" }, "labor_hours": { "type": "string" }, "selling_price": { "type": "string" } } } } }, "example": { "message": "Service group pricing created successfully.", "data": { "id": 1, "service_group_id": 1, "shop_type_id": 1, "make": "Toyota", "model": "Camry", "fuel_type_id": 1, "body_type_id": 1, "rate_type": "hourly", "labor_rate_id": 1, "labor_hours": "2.00", "selling_price": "120.00" } } } } } } } }, "/api/service-group-pricings/{id}": { "put": { "tags": [ "Service Group Details" ], "summary": "Pricings Update", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "selling_price": { "type": "integer" } } }, "example": { "selling_price": 150 } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "service_group_id": { "type": "integer" }, "selling_price": { "type": "string" } } } } }, "example": { "message": "Service group pricing updated successfully.", "data": { "id": 1, "service_group_id": 1, "selling_price": "150.00" } } } } } } }, "delete": { "tags": [ "Service Group Details" ], "summary": "Pricings Delete", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Service group pricing deleted successfully." } } } } } } }, "/api/service-group-services": { "get": { "tags": [ "Service Group Details" ], "summary": "Services List", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "service_group_id": { "type": "integer" }, "service_id": { "type": "integer" }, "rate_type": { "type": "string" }, "labor_rate_id": { "type": "integer" }, "rate": { "type": "string" }, "hours": { "type": "string" }, "tax_id": { "type": "integer" }, "chart_of_account": { "type": "string" }, "description": { "type": "string" } } } }, "meta": { "type": "object", "properties": { "current_page": { "type": "integer" }, "last_page": { "type": "integer" }, "per_page": { "type": "integer" }, "total": { "type": "integer" }, "from": { "type": "integer" }, "to": { "type": "integer" } } } } }, "example": { "data": [ { "id": 1, "service_group_id": 1, "service_id": 1, "rate_type": "hourly", "labor_rate_id": 1, "rate": "100.00", "hours": "1.50", "tax_id": 1, "chart_of_account": "4000", "description": "Labor line" } ], "meta": { "current_page": 1, "last_page": 1, "per_page": 15, "total": 1, "from": 1, "to": 1 } } } } } } }, "post": { "tags": [ "Service Group Details" ], "summary": "Services Create", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "service_group_id": { "type": "integer" }, "service_id": { "type": "integer" }, "rate_type": { "type": "string" }, "labor_rate_id": { "type": "integer" }, "rate": { "type": "integer" }, "hours": { "type": "number" }, "tax_id": { "type": "integer" }, "chart_of_account": { "type": "string" }, "description": { "type": "string" } } }, "example": { "service_group_id": 1, "service_id": 1, "rate_type": "hourly", "labor_rate_id": 1, "rate": 100, "hours": 1.5, "tax_id": 1, "chart_of_account": "4000", "description": "Labor line" } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "service_group_id": { "type": "integer" }, "service_id": { "type": "integer" }, "rate_type": { "type": "string" }, "labor_rate_id": { "type": "integer" }, "rate": { "type": "string" }, "hours": { "type": "string" }, "tax_id": { "type": "integer" }, "chart_of_account": { "type": "string" }, "description": { "type": "string" } } } } }, "example": { "message": "Service group service created successfully.", "data": { "id": 1, "service_group_id": 1, "service_id": 1, "rate_type": "hourly", "labor_rate_id": 1, "rate": "100.00", "hours": "1.50", "tax_id": 1, "chart_of_account": "4000", "description": "Labor line" } } } } } } } }, "/api/service-group-services/{id}": { "put": { "tags": [ "Service Group Details" ], "summary": "Services Update", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "rate": { "type": "integer" }, "hours": { "type": "integer" } } }, "example": { "rate": 120, "hours": 2 } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "rate": { "type": "string" }, "hours": { "type": "string" } } } } }, "example": { "message": "Service group service updated successfully.", "data": { "id": 1, "rate": "120.00", "hours": "2.00" } } } } } } }, "delete": { "tags": [ "Service Group Details" ], "summary": "Services Delete", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Service group service deleted successfully." } } } } } } }, "/api/service-group-parts": { "get": { "tags": [ "Service Group Details" ], "summary": "Parts List", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "service_group_id": { "type": "integer" }, "part_id": { "type": "integer" }, "quantity": { "type": "string" }, "rate": { "type": "string" }, "tax_id": { "type": "integer" }, "chart_of_account": { "type": "string" }, "description": { "type": "string" } } } }, "meta": { "type": "object", "properties": { "current_page": { "type": "integer" }, "last_page": { "type": "integer" }, "per_page": { "type": "integer" }, "total": { "type": "integer" }, "from": { "type": "integer" }, "to": { "type": "integer" } } } } }, "example": { "data": [ { "id": 1, "service_group_id": 1, "part_id": 1, "quantity": "2.00", "rate": "50.00", "tax_id": 1, "chart_of_account": "5000", "description": "Parts line" } ], "meta": { "current_page": 1, "last_page": 1, "per_page": 15, "total": 1, "from": 1, "to": 1 } } } } } } }, "post": { "tags": [ "Service Group Details" ], "summary": "Parts Create", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "service_group_id": { "type": "integer" }, "part_id": { "type": "integer" }, "quantity": { "type": "integer" }, "rate": { "type": "integer" }, "tax_id": { "type": "integer" }, "chart_of_account": { "type": "string" }, "description": { "type": "string" } } }, "example": { "service_group_id": 1, "part_id": 1, "quantity": 2, "rate": 50, "tax_id": 1, "chart_of_account": "5000", "description": "Parts line" } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "service_group_id": { "type": "integer" }, "part_id": { "type": "integer" }, "quantity": { "type": "string" }, "rate": { "type": "string" }, "tax_id": { "type": "integer" }, "chart_of_account": { "type": "string" }, "description": { "type": "string" } } } } }, "example": { "message": "Service group part created successfully.", "data": { "id": 1, "service_group_id": 1, "part_id": 1, "quantity": "2.00", "rate": "50.00", "tax_id": 1, "chart_of_account": "5000", "description": "Parts line" } } } } } } } }, "/api/service-group-parts/{id}": { "put": { "tags": [ "Service Group Details" ], "summary": "Parts Update", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "quantity": { "type": "integer" }, "rate": { "type": "integer" } } }, "example": { "quantity": 3, "rate": 55 } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "quantity": { "type": "string" }, "rate": { "type": "string" } } } } }, "example": { "message": "Service group part updated successfully.", "data": { "id": 1, "quantity": "3.00", "rate": "55.00" } } } } } } }, "delete": { "tags": [ "Service Group Details" ], "summary": "Parts Delete", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Service group part deleted successfully." } } } } } } }, "/api/invoice-labels": { "get": { "tags": [ "Invoice Labels" ], "summary": "List", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } }, "meta": { "type": "object", "properties": { "current_page": { "type": "integer" }, "last_page": { "type": "integer" }, "per_page": { "type": "integer" }, "total": { "type": "integer" }, "from": { "type": "integer" }, "to": { "type": "integer" } } } } }, "example": { "data": [ { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } ], "meta": { "current_page": 1, "last_page": 1, "per_page": 15, "total": 1, "from": 1, "to": 1 } } } } } } }, "post": { "tags": [ "Invoice Labels" ], "summary": "Create", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "title": { "type": "string" }, "color_code": { "type": "string" } } }, "example": { "title": "Urgent Invoice", "color_code": "#FF0000" } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Created successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } } } } } } } }, "/api/invoice-labels/{id}": { "put": { "tags": [ "Invoice Labels" ], "summary": "Update", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "title": { "type": "string" }, "color_code": { "type": "string" } } }, "example": { "title": "Urgent", "color_code": "#D60000" } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Updated successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z" } } } } } } }, "delete": { "tags": [ "Invoice Labels" ], "summary": "Delete", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Deleted successfully." } } } } } } }, "/api/invoices": { "get": { "tags": [ "Invoices" ], "summary": "List", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } }, "meta": { "type": "object", "properties": { "current_page": { "type": "integer" }, "last_page": { "type": "integer" }, "per_page": { "type": "integer" }, "total": { "type": "integer" }, "from": { "type": "integer" }, "to": { "type": "integer" } } } } }, "example": { "data": [ { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } ], "meta": { "current_page": 1, "last_page": 1, "per_page": 15, "total": 1, "from": 1, "to": 1 } } } } } } }, "post": { "tags": [ "Invoices" ], "summary": "Create", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "subject": { "type": "string" }, "customer_id": { "type": "integer" }, "vehicle_id": { "type": "integer" }, "invoice_date": { "type": "string" }, "due_date": { "type": "string" }, "invoice_sequence_id": { "type": "integer" }, "invoice_number": { "type": "string" }, "department_id": { "type": "integer" }, "status": { "type": "string" }, "inspection_categories": { "type": "array", "items": { "type": "object", "properties": { "inspection_category_id": { "type": "integer" }, "rate": { "type": "integer" } } } }, "parts": { "type": "array", "items": { "type": "object", "properties": { "part_id": { "type": "integer" }, "quantity": { "type": "integer" }, "rate": { "type": "integer" } } } }, "services": { "type": "array", "items": { "type": "object", "properties": { "service_id": { "type": "integer" }, "rate": { "type": "integer" } } } }, "expenses": { "type": "array", "items": { "type": "object", "properties": { "expense_id": { "type": "integer" }, "quantity": { "type": "integer" }, "rate": { "type": "integer" } } } }, "service_groups": { "type": "array", "items": { "type": "object", "properties": { "service_group_id": { "type": "integer" }, "rate": { "type": "integer" } } } } } }, "example": { "subject": "Invoice 001", "customer_id": 1, "vehicle_id": 1, "invoice_date": "2026-03-23", "due_date": "2026-03-30", "invoice_sequence_id": 1, "invoice_number": "INV-0001", "department_id": 1, "status": "draft", "inspection_categories": [ { "inspection_category_id": 1, "rate": 100 } ], "parts": [ { "part_id": 1, "quantity": 1, "rate": 25 } ], "services": [ { "service_id": 1, "rate": 50 } ], "expenses": [ { "expense_id": 1, "quantity": 1, "rate": 10 } ], "service_groups": [ { "service_group_id": 1, "rate": 120 } ] } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Created successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } } } } } } } }, "/api/invoices/{id}": { "put": { "tags": [ "Invoices" ], "summary": "Update", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "subject": { "type": "string" }, "status": { "type": "string" }, "notes": { "type": "string" } } }, "example": { "subject": "Invoice 001 Updated", "status": "open", "notes": "Updated note" } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Updated successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z" } } } } } } }, "delete": { "tags": [ "Invoices" ], "summary": "Delete", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Deleted successfully." } } } } } } }, "/api/invoices/{id}/add-attachment": { "post": { "tags": [ "Invoices" ], "summary": "Add Attachment", "requestBody": { "content": { "multipart/form-data": { "schema": { "type": "object", "properties": { "attachments[]": { "type": "string", "format": "binary" } } } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Updated successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z" } } } } } } } }, "/api/invoices/{id}/delete-attachment": { "delete": { "tags": [ "Invoices" ], "summary": "Delete Attachment", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "attachment_id": { "type": "integer" } } }, "example": { "attachment_id": 1 } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Deleted successfully." } } } } } } }, "/api/invoice-documents": { "get": { "tags": [ "Invoice Documents" ], "summary": "List", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } }, "meta": { "type": "object", "properties": { "current_page": { "type": "integer" }, "last_page": { "type": "integer" }, "per_page": { "type": "integer" }, "total": { "type": "integer" }, "from": { "type": "integer" }, "to": { "type": "integer" } } } } }, "example": { "data": [ { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } ], "meta": { "current_page": 1, "last_page": 1, "per_page": 15, "total": 1, "from": 1, "to": 1 } } } } } } }, "post": { "tags": [ "Invoice Documents" ], "summary": "Create", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "invoice_id": { "type": "integer" }, "customer_id": { "type": "integer" }, "vehicle_id": { "type": "integer" }, "document_type_id": { "type": "integer" }, "document_number": { "type": "string" }, "show_in_invoice": { "type": "boolean" }, "show_in_estimate": { "type": "boolean" }, "show_in_statement": { "type": "boolean" } } }, "example": { "invoice_id": 1, "customer_id": 1, "vehicle_id": 1, "document_type_id": 1, "document_number": "DOC-001", "show_in_invoice": true, "show_in_estimate": false, "show_in_statement": false } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Created successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } } } } } } } }, "/api/invoice-documents/{id}": { "put": { "tags": [ "Invoice Documents" ], "summary": "Update", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "document_number": { "type": "string" }, "show_in_statement": { "type": "boolean" } } }, "example": { "document_number": "DOC-001-UPDATED", "show_in_statement": true } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Updated successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z" } } } } } } }, "delete": { "tags": [ "Invoice Documents" ], "summary": "Delete", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Deleted successfully." } } } } } } }, "/api/invoice-notes": { "get": { "tags": [ "Invoice Notes" ], "summary": "List", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } }, "meta": { "type": "object", "properties": { "current_page": { "type": "integer" }, "last_page": { "type": "integer" }, "per_page": { "type": "integer" }, "total": { "type": "integer" }, "from": { "type": "integer" }, "to": { "type": "integer" } } } } }, "example": { "data": [ { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } ], "meta": { "current_page": 1, "last_page": 1, "per_page": 15, "total": 1, "from": 1, "to": 1 } } } } } } }, "post": { "tags": [ "Invoice Notes" ], "summary": "Create", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "invoice_id": { "type": "integer" }, "note": { "type": "string" } } }, "example": { "invoice_id": 1, "note": "Call customer before delivery" } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Created successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } } } } } } } }, "/api/invoice-notes/{id}": { "put": { "tags": [ "Invoice Notes" ], "summary": "Update", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "note": { "type": "string" } } }, "example": { "note": "Updated internal note" } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Updated successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z" } } } } } } }, "delete": { "tags": [ "Invoice Notes" ], "summary": "Delete", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Deleted successfully." } } } } } } }, "/api/credit-notes": { "get": { "tags": [ "Credit Notes" ], "summary": "List", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } }, "meta": { "type": "object", "properties": { "current_page": { "type": "integer" }, "last_page": { "type": "integer" }, "per_page": { "type": "integer" }, "total": { "type": "integer" }, "from": { "type": "integer" }, "to": { "type": "integer" } } } } }, "example": { "data": [ { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } ], "meta": { "current_page": 1, "last_page": 1, "per_page": 15, "total": 1, "from": 1, "to": 1 } } } } } } }, "post": { "tags": [ "Credit Notes" ], "summary": "Create", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "subject": { "type": "string" }, "customer_id": { "type": "integer" }, "date": { "type": "string" }, "status": { "type": "string" }, "labels": { "type": "array", "items": { "type": "object", "properties": { "label_id": { "type": "integer" } } } }, "inspections": { "type": "array", "items": { "type": "object", "properties": { "inspection_category_id": { "type": "integer" }, "rate": { "type": "integer" } } } }, "parts": { "type": "array", "items": { "type": "object", "properties": { "part_id": { "type": "integer" }, "quantity": { "type": "integer" }, "rate": { "type": "integer" } } } }, "services": { "type": "array", "items": { "type": "object", "properties": { "service_id": { "type": "integer" }, "rate": { "type": "integer" } } } }, "expenses": { "type": "array", "items": { "type": "object", "properties": { "expense_id": { "type": "integer" }, "quantity": { "type": "integer" }, "rate": { "type": "integer" } } } } } }, "example": { "subject": "Credit Note 001", "customer_id": 1, "date": "2026-03-23", "status": "open", "labels": [ { "label_id": 1 } ], "inspections": [ { "inspection_category_id": 1, "rate": 20 } ], "parts": [ { "part_id": 1, "quantity": 1, "rate": 10 } ], "services": [ { "service_id": 1, "rate": 15 } ], "expenses": [ { "expense_id": 1, "quantity": 1, "rate": 5 } ] } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Created successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } } } } } } } }, "/api/credit-notes/{id}": { "put": { "tags": [ "Credit Notes" ], "summary": "Update", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "subject": { "type": "string" }, "notes": { "type": "string" } } }, "example": { "subject": "Credit Note 001 Updated", "notes": "Adjusted amount" } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Updated successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z" } } } } } } }, "delete": { "tags": [ "Credit Notes" ], "summary": "Delete", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Deleted successfully." } } } } } } }, "/api/credit-notes/{id}/add-attachment": { "post": { "tags": [ "Credit Notes" ], "summary": "Add Attachment", "requestBody": { "content": { "multipart/form-data": { "schema": { "type": "object", "properties": { "attachments[]": { "type": "string", "format": "binary" } } } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Updated successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z" } } } } } } } }, "/api/credit-notes/{id}/delete-attachment": { "delete": { "tags": [ "Credit Notes" ], "summary": "Delete Attachment", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "attachment_id": { "type": "integer" } } }, "example": { "attachment_id": 1 } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Deleted successfully." } } } } } } }, "/api/credit-notes/{id}/add-internal-note": { "post": { "tags": [ "Credit Notes" ], "summary": "Add Internal Note", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "note": { "type": "string" } } }, "example": { "note": "Internal review needed" } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Updated successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z" } } } } } } } }, "/api/credit-notes/{id}/edit-internal-note": { "delete": { "tags": [ "Credit Notes" ], "summary": "Edit Internal Note", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "internal_note_id": { "type": "integer" }, "note": { "type": "string" } } }, "example": { "internal_note_id": 1, "note": "Updated internal note" } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Deleted successfully." } } } } } } }, "/api/credit-notes/{id}/delete-internal-note": { "delete": { "tags": [ "Credit Notes" ], "summary": "Delete Internal Note", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "internal_note_id": { "type": "integer" } } }, "example": { "internal_note_id": 1 } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Deleted successfully." } } } } } } }, "/api/payment-mades": { "get": { "tags": [ "Payment Mades" ], "summary": "List", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "vendor_id": { "type": "integer" }, "employee_id": { "type": "string", "nullable": true }, "payment_for": { "type": "string" }, "payment_made": { "type": "string" }, "payment_number": { "type": "string" }, "payment_reference": { "type": "string" }, "payment_date": { "type": "string" }, "payment_mode_id": { "type": "integer" }, "paid_through": { "type": "integer" }, "notes": { "type": "string" }, "excess_amount_will_be_deposited": { "type": "string", "nullable": true }, "amount_paid": { "type": "string" }, "amount_used_for_payments": { "type": "string" }, "amount_in_excess": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" }, "vendor": { "type": "object", "properties": { "id": { "type": "integer" }, "first_name": { "type": "string" }, "last_name": { "type": "string" }, "company_name": { "type": "string" }, "email": { "type": "string" } } }, "payment_mode": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" } } }, "details": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "payment_made_id": { "type": "integer" }, "bill_id": { "type": "integer" }, "expense_id": { "type": "string", "nullable": true }, "amount_paid": { "type": "string" }, "bill": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" }, "status": { "type": "string" } } }, "expense": { "type": "string", "nullable": true } } } }, "attachments": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "payment_made_id": { "type": "integer" }, "attachment_path": { "type": "string" }, "original_name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } } } } } }, "example": { "data": [ { "id": 1, "vendor_id": 1, "employee_id": null, "payment_for": "bill", "payment_made": "100.00", "payment_number": "PM-001", "payment_reference": "REF-001", "payment_date": "2026-03-23", "payment_mode_id": 1, "paid_through": 1, "notes": "Payment against vendor bills", "excess_amount_will_be_deposited": null, "amount_paid": "100.00", "amount_used_for_payments": "100.00", "amount_in_excess": "0.00", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z", "vendor": { "id": 1, "first_name": "Vendor", "last_name": "One", "company_name": "ACME Parts", "email": "vendor1@example.com" }, "payment_mode": { "id": 1, "title": "Cash" }, "details": [ { "id": 1, "payment_made_id": 1, "bill_id": 10, "expense_id": null, "amount_paid": "60.00", "bill": { "id": 10, "title": "Bill #10", "status": "partially_paid" }, "expense": null }, { "id": 2, "payment_made_id": 1, "bill_id": 11, "expense_id": null, "amount_paid": "40.00", "bill": { "id": 11, "title": "Bill #11", "status": "paid" }, "expense": null } ], "attachments": [ { "id": 1, "payment_made_id": 1, "attachment_path": "payment_made_attachments/sample-receipt.pdf", "original_name": "receipt.pdf", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } ] } ] } } } } } }, "post": { "tags": [ "Payment Mades" ], "summary": "Create (Expense)", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "employee_id": { "type": "integer" }, "payment_for": { "type": "string" }, "payment_made": { "type": "integer" }, "payment_number": { "type": "string" }, "payment_reference": { "type": "string" }, "payment_date": { "type": "string" }, "payment_mode_id": { "type": "integer" }, "paid_through": { "type": "integer" }, "notes": { "type": "string" }, "details": { "type": "array", "items": { "type": "object", "properties": { "expense_id": { "type": "integer" }, "amount_paid": { "type": "integer" } } } } } }, "example": { "employee_id": 1, "payment_for": "expense", "payment_made": 50, "payment_number": "PM-002", "payment_reference": "REF-002", "payment_date": "2026-03-23", "payment_mode_id": 1, "paid_through": 1, "notes": "Office expense reimbursement", "details": [ { "expense_id": 1, "amount_paid": 50 } ] } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "vendor_id": { "type": "string", "nullable": true }, "employee_id": { "type": "integer" }, "payment_for": { "type": "string" }, "payment_made": { "type": "string" }, "payment_number": { "type": "string" }, "payment_reference": { "type": "string" }, "payment_date": { "type": "string" }, "payment_mode_id": { "type": "integer" }, "paid_through": { "type": "integer" }, "notes": { "type": "string" }, "excess_amount_will_be_deposited": { "type": "string", "nullable": true }, "amount_paid": { "type": "string" }, "amount_used_for_payments": { "type": "string" }, "amount_in_excess": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" }, "vendor": { "type": "string", "nullable": true }, "payment_mode": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" } } }, "details": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "payment_made_id": { "type": "integer" }, "bill_id": { "type": "string", "nullable": true }, "expense_id": { "type": "integer" }, "amount_paid": { "type": "string" } } } }, "attachments": { "type": "array", "items": {} } } } } }, "example": { "message": "Payment made created successfully.", "data": { "id": 2, "vendor_id": null, "employee_id": 1, "payment_for": "expense", "payment_made": "50.00", "payment_number": "PM-002", "payment_reference": "REF-002", "payment_date": "2026-03-23", "payment_mode_id": 1, "paid_through": 1, "notes": "Office expense reimbursement", "excess_amount_will_be_deposited": null, "amount_paid": "50.00", "amount_used_for_payments": "50.00", "amount_in_excess": "0.00", "created_at": "2026-03-23T12:05:00.000000Z", "updated_at": "2026-03-23T12:05:00.000000Z", "vendor": null, "payment_mode": { "id": 1, "title": "Cash" }, "details": [ { "id": 3, "payment_made_id": 2, "bill_id": null, "expense_id": 1, "amount_paid": "50.00" } ], "attachments": [] } } } } } } } }, "/api/payment-mades/{id}": { "put": { "tags": [ "Payment Mades" ], "summary": "Update", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "notes": { "type": "string" }, "details": { "type": "array", "items": { "type": "object", "properties": { "bill_id": { "type": "integer" }, "amount_paid": { "type": "integer" } } } } } }, "example": { "notes": "Updated payment made", "details": [ { "bill_id": 1, "amount_paid": 75 } ] } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "vendor_id": { "type": "integer" }, "employee_id": { "type": "string", "nullable": true }, "payment_for": { "type": "string" }, "payment_made": { "type": "string" }, "payment_number": { "type": "string" }, "payment_reference": { "type": "string" }, "payment_date": { "type": "string" }, "payment_mode_id": { "type": "integer" }, "paid_through": { "type": "integer" }, "notes": { "type": "string" }, "excess_amount_will_be_deposited": { "type": "string", "nullable": true }, "amount_paid": { "type": "string" }, "amount_used_for_payments": { "type": "string" }, "amount_in_excess": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" }, "vendor": { "type": "object", "properties": { "id": { "type": "integer" }, "first_name": { "type": "string" }, "last_name": { "type": "string" }, "company_name": { "type": "string" }, "email": { "type": "string" } } }, "payment_mode": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" } } }, "details": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "payment_made_id": { "type": "integer" }, "bill_id": { "type": "integer" }, "expense_id": { "type": "string", "nullable": true }, "amount_paid": { "type": "string" } } } }, "attachments": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "payment_made_id": { "type": "integer" }, "attachment_path": { "type": "string" }, "original_name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } } } } }, "example": { "message": "Payment made updated successfully.", "data": { "id": 1, "vendor_id": 1, "employee_id": null, "payment_for": "bill", "payment_made": "100.00", "payment_number": "PM-001", "payment_reference": "REF-001", "payment_date": "2026-03-23", "payment_mode_id": 1, "paid_through": 1, "notes": "Updated payment made", "excess_amount_will_be_deposited": null, "amount_paid": "100.00", "amount_used_for_payments": "75.00", "amount_in_excess": "25.00", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:20:00.000000Z", "vendor": { "id": 1, "first_name": "Vendor", "last_name": "One", "company_name": "ACME Parts", "email": "vendor1@example.com" }, "payment_mode": { "id": 1, "title": "Cash" }, "details": [ { "id": 4, "payment_made_id": 1, "bill_id": 1, "expense_id": null, "amount_paid": "75.00" } ], "attachments": [ { "id": 1, "payment_made_id": 1, "attachment_path": "payment_made_attachments/sample-receipt.pdf", "original_name": "receipt.pdf", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } ] } } } } } } }, "delete": { "tags": [ "Payment Mades" ], "summary": "Delete", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Deleted successfully." } } } } } } }, "/api/payment-mades/{id}/add-attachment": { "post": { "tags": [ "Payment Mades" ], "summary": "Add Attachment", "requestBody": { "content": { "multipart/form-data": { "schema": { "type": "object", "properties": { "attachments[]": { "type": "string", "format": "binary" } } } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "attachments": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "payment_made_id": { "type": "integer" }, "attachment_path": { "type": "string" }, "original_name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } } } } }, "example": { "message": "Payment made attachments added successfully.", "data": { "id": 1, "attachments": [ { "id": 1, "payment_made_id": 1, "attachment_path": "payment_made_attachments/sample-receipt.pdf", "original_name": "receipt.pdf", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" }, { "id": 2, "payment_made_id": 1, "attachment_path": "payment_made_attachments/new-proof.jpg", "original_name": "proof.jpg", "created_at": "2026-03-23T12:25:00.000000Z", "updated_at": "2026-03-23T12:25:00.000000Z" } ] } } } } } } } }, "/api/payment-mades/{id}/delete-attachment": { "delete": { "tags": [ "Payment Mades" ], "summary": "Delete Attachment", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "attachment_id": { "type": "integer" } } }, "example": { "attachment_id": 1 } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "attachments": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "payment_made_id": { "type": "integer" }, "attachment_path": { "type": "string" }, "original_name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } } } } }, "example": { "message": "Payment made attachment deleted successfully.", "data": { "id": 1, "attachments": [ { "id": 2, "payment_made_id": 1, "attachment_path": "payment_made_attachments/new-proof.jpg", "original_name": "proof.jpg", "created_at": "2026-03-23T12:25:00.000000Z", "updated_at": "2026-03-23T12:25:00.000000Z" } ] } } } } } } } }, "/api/vendor-credits": { "get": { "tags": [ "Vendor Credits" ], "summary": "List", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } }, "meta": { "type": "object", "properties": { "current_page": { "type": "integer" }, "last_page": { "type": "integer" }, "per_page": { "type": "integer" }, "total": { "type": "integer" }, "from": { "type": "integer" }, "to": { "type": "integer" } } } } }, "example": { "data": [ { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } ], "meta": { "current_page": 1, "last_page": 1, "per_page": 15, "total": 1, "from": 1, "to": 1 } } } } } } }, "post": { "tags": [ "Vendor Credits" ], "summary": "Create", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "subject": { "type": "string" }, "credit_number": { "type": "string" }, "vendor_id": { "type": "integer" }, "vendor_credit_date": { "type": "string" }, "department_id": { "type": "integer" }, "labels": { "type": "array", "items": { "type": "object", "properties": { "label_id": { "type": "integer" } } } }, "parts": { "type": "array", "items": { "type": "object", "properties": { "part_id": { "type": "integer" }, "quantity": { "type": "integer" }, "rate": { "type": "integer" } } } }, "services": { "type": "array", "items": { "type": "object", "properties": { "service_id": { "type": "integer" }, "quantity": { "type": "integer" }, "rate": { "type": "integer" } } } }, "expenses": { "type": "array", "items": { "type": "object", "properties": { "expense_id": { "type": "integer" }, "quantity": { "type": "integer" }, "rate": { "type": "integer" } } } } } }, "example": { "subject": "Vendor Credit 001", "credit_number": "VC-001", "vendor_id": 1, "vendor_credit_date": "2026-03-23", "department_id": 1, "labels": [ { "label_id": 1 } ], "parts": [ { "part_id": 1, "quantity": 1, "rate": 25 } ], "services": [ { "service_id": 1, "quantity": 1, "rate": 50 } ], "expenses": [ { "expense_id": 1, "quantity": 1, "rate": 10 } ] } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Created successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } } } } } } } }, "/api/vendor-credits/{id}": { "put": { "tags": [ "Vendor Credits" ], "summary": "Update", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "subject": { "type": "string" }, "notes": { "type": "string" } } }, "example": { "subject": "Vendor Credit 001 Updated", "notes": "Updated notes" } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Updated successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z" } } } } } } }, "delete": { "tags": [ "Vendor Credits" ], "summary": "Delete", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Deleted successfully." } } } } } } }, "/api/vendor-credits/{id}/add-attachment": { "post": { "tags": [ "Vendor Credits" ], "summary": "Add Attachment", "requestBody": { "content": { "multipart/form-data": { "schema": { "type": "object", "properties": { "attachments[]": { "type": "string", "format": "binary" } } } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Updated successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z" } } } } } } } }, "/api/vendor-credits/{id}/delete-attachment": { "delete": { "tags": [ "Vendor Credits" ], "summary": "Delete Attachment", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "attachment_id": { "type": "integer" } } }, "example": { "attachment_id": 1 } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Deleted successfully." } } } } } } }, "/api/vendor-credits/{id}/add-internal-note": { "post": { "tags": [ "Vendor Credits" ], "summary": "Add Internal Note", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "note": { "type": "string" } } }, "example": { "note": "Internal note" } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Updated successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z" } } } } } } } }, "/api/vendor-credits/{id}/edit-internal-note": { "delete": { "tags": [ "Vendor Credits" ], "summary": "Edit Internal Note", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "internal_note_id": { "type": "integer" }, "note": { "type": "string" } } }, "example": { "internal_note_id": 1, "note": "Updated internal note" } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Deleted successfully." } } } } } } }, "/api/vendor-credits/{id}/delete-internal-note": { "delete": { "tags": [ "Vendor Credits" ], "summary": "Delete Internal Note", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "internal_note_id": { "type": "integer" } } }, "example": { "internal_note_id": 1 } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Deleted successfully." } } } } } } }, "/api/inventory-adjustments": { "get": { "tags": [ "Inventory Adjustments" ], "summary": "List", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } }, "meta": { "type": "object", "properties": { "current_page": { "type": "integer" }, "last_page": { "type": "integer" }, "per_page": { "type": "integer" }, "total": { "type": "integer" }, "from": { "type": "integer" }, "to": { "type": "integer" } } } } }, "example": { "data": [ { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } ], "meta": { "current_page": 1, "last_page": 1, "per_page": 15, "total": 1, "from": 1, "to": 1 } } } } } } }, "post": { "tags": [ "Inventory Adjustments" ], "summary": "Create", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "reference_number": { "type": "string" }, "date": { "type": "string" }, "chart_of_account": { "type": "integer" }, "reason_id": { "type": "integer" }, "job_card_id": { "type": "integer" }, "invoice_id": { "type": "integer" }, "notes": { "type": "string" }, "parts": { "type": "array", "items": { "type": "object", "properties": { "part_id": { "type": "integer" }, "quantity": { "type": "integer" }, "rate": { "type": "integer" }, "description": { "type": "string" } } } } } }, "example": { "reference_number": "IA-001", "date": "2026-03-23", "chart_of_account": 1, "reason_id": 1, "job_card_id": 1, "invoice_id": 1, "notes": "Stock correction", "parts": [ { "part_id": 1, "quantity": 2, "rate": 25, "description": "Adjustment line" } ] } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Created successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } } } } } } } }, "/api/inventory-adjustments/{id}": { "put": { "tags": [ "Inventory Adjustments" ], "summary": "Update", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "notes": { "type": "string" }, "parts": { "type": "array", "items": { "type": "object", "properties": { "part_id": { "type": "integer" }, "quantity": { "type": "integer" }, "rate": { "type": "integer" } } } } } }, "example": { "notes": "Updated adjustment", "parts": [ { "part_id": 1, "quantity": 3, "rate": 25 } ] } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Updated successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z" } } } } } } }, "delete": { "tags": [ "Inventory Adjustments" ], "summary": "Delete", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Deleted successfully." } } } } } } }, "/api/inventory-adjustments/{id}/add-attachment": { "post": { "tags": [ "Inventory Adjustments" ], "summary": "Add Attachment", "requestBody": { "content": { "multipart/form-data": { "schema": { "type": "object", "properties": { "attachments[]": { "type": "string", "format": "binary" } } } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Updated successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z" } } } } } } } }, "/api/inventory-adjustments/{id}/delete-attachment": { "delete": { "tags": [ "Inventory Adjustments" ], "summary": "Delete Attachment", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "attachment_id": { "type": "integer" } } }, "example": { "attachment_id": 1 } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Deleted successfully." } } } } } } }, "/api/time-sheets": { "get": { "tags": [ "Time Sheets" ], "summary": "List", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } }, "meta": { "type": "object", "properties": { "current_page": { "type": "integer" }, "last_page": { "type": "integer" }, "per_page": { "type": "integer" }, "total": { "type": "integer" }, "from": { "type": "integer" }, "to": { "type": "integer" } } } } }, "example": { "data": [ { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } ], "meta": { "current_page": 1, "last_page": 1, "per_page": 15, "total": 1, "from": 1, "to": 1 } } } } } } }, "post": { "tags": [ "Time Sheets" ], "summary": "Create", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "employee_id": { "type": "integer" }, "date": { "type": "string" }, "clock_in": { "type": "string" }, "clock_out": { "type": "string" }, "note": { "type": "string" }, "activity_type": { "type": "string" } } }, "example": { "employee_id": 1, "date": "2026-03-23", "clock_in": "09:00:00", "clock_out": "17:00:00", "note": "Regular shift", "activity_type": "general" } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Created successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:00:00.000000Z" } } } } } } } }, "/api/time-sheets/{id}": { "put": { "tags": [ "Time Sheets" ], "summary": "Update", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "clock_out": { "type": "string" }, "note": { "type": "string" } } }, "example": { "clock_out": "18:00:00", "note": "Overtime" } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Updated successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z" } } } } } } }, "delete": { "tags": [ "Time Sheets" ], "summary": "Delete", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Deleted successfully." } } } } } } }, "/api/time-sheet/clock-in": { "post": { "tags": [ "Time Sheets" ], "summary": "Clock In", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "employee_id": { "type": "integer" }, "date": { "type": "string" }, "activity_type": { "type": "string" }, "note": { "type": "string" } } }, "example": { "employee_id": 1, "date": "2026-03-23", "activity_type": "general", "note": "Clock in" } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Updated successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z" } } } } } } } }, "/api/time-sheet/clock-out": { "post": { "tags": [ "Time Sheets" ], "summary": "Clock Out", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "employee_id": { "type": "integer" }, "date": { "type": "string" } } }, "example": { "employee_id": 1, "date": "2026-03-23" } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Updated successfully.", "data": { "id": 1, "name": "Sample Item", "created_at": "2026-03-23T12:00:00.000000Z", "updated_at": "2026-03-23T12:10:00.000000Z" } } } } } } } }, "/api/shop-timings": { "get": { "tags": [ "Shop Timings" ], "summary": "List", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" }, "in_time": { "type": "string" }, "out_time": { "type": "string" }, "full_day_hours": { "type": "string" }, "half_day_hours": { "type": "string" }, "punch_in": { "type": "string" }, "punch_out": { "type": "string" }, "before_time": { "type": "string" }, "after_time": { "type": "string" }, "is_default": { "type": "boolean" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } } }, "example": { "data": [ { "id": 1, "title": "Regular Shift", "in_time": "10:00:00", "out_time": "19:00:00", "full_day_hours": "09:00:00", "half_day_hours": "04:30:00", "punch_in": "10:00:00", "punch_out": "19:00:00", "before_time": "01:00:00", "after_time": "01:00:00", "is_default": true, "created_at": "2026-03-24T10:00:00.000000Z", "updated_at": "2026-03-24T10:00:00.000000Z" } ] } } } } } }, "post": { "tags": [ "Shop Timings" ], "summary": "Create", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "title": { "type": "string" }, "in_time": { "type": "string" }, "out_time": { "type": "string" }, "full_day_hours": { "type": "string" }, "half_day_hours": { "type": "string" }, "punch_in": { "type": "string" }, "punch_out": { "type": "string" }, "before_time": { "type": "string" }, "after_time": { "type": "string" }, "is_default": { "type": "boolean" } } }, "example": { "title": "Regular Shift", "in_time": "10:00:00", "out_time": "19:00:00", "full_day_hours": "09:00:00", "half_day_hours": "04:30:00", "punch_in": "10:00:00", "punch_out": "19:00:00", "before_time": "01:00:00", "after_time": "01:00:00", "is_default": true } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" }, "in_time": { "type": "string" }, "out_time": { "type": "string" }, "full_day_hours": { "type": "string" }, "half_day_hours": { "type": "string" }, "punch_in": { "type": "string" }, "punch_out": { "type": "string" }, "before_time": { "type": "string" }, "after_time": { "type": "string" }, "is_default": { "type": "boolean" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Shop timing created successfully.", "data": { "id": 1, "title": "Regular Shift", "in_time": "10:00:00", "out_time": "19:00:00", "full_day_hours": "09:00:00", "half_day_hours": "04:30:00", "punch_in": "10:00:00", "punch_out": "19:00:00", "before_time": "01:00:00", "after_time": "01:00:00", "is_default": true, "created_at": "2026-03-24T10:00:00.000000Z", "updated_at": "2026-03-24T10:00:00.000000Z" } } } } } } } }, "/api/shop-timings/{id}": { "put": { "tags": [ "Shop Timings" ], "summary": "Update", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "title": { "type": "string" }, "in_time": { "type": "string" }, "out_time": { "type": "string" }, "is_default": { "type": "boolean" } } }, "example": { "title": "Weekend Shift", "in_time": "09:00:00", "out_time": "15:00:00", "is_default": false } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" }, "in_time": { "type": "string" }, "out_time": { "type": "string" }, "full_day_hours": { "type": "string" }, "half_day_hours": { "type": "string" }, "punch_in": { "type": "string" }, "punch_out": { "type": "string" }, "before_time": { "type": "string" }, "after_time": { "type": "string" }, "is_default": { "type": "boolean" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Shop timing updated successfully.", "data": { "id": 1, "title": "Weekend Shift", "in_time": "09:00:00", "out_time": "15:00:00", "full_day_hours": "06:00:00", "half_day_hours": "03:00:00", "punch_in": "09:00:00", "punch_out": "15:00:00", "before_time": "00:30:00", "after_time": "00:30:00", "is_default": false, "created_at": "2026-03-24T10:00:00.000000Z", "updated_at": "2026-03-24T10:20:00.000000Z" } } } } } } }, "delete": { "tags": [ "Shop Timings" ], "summary": "Delete", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Shop timing deleted successfully." } } } } } } }, "/api/set-default-shop-timing": { "post": { "tags": [ "Shop Timings" ], "summary": "Set Default", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "integer" } } }, "example": { "id": 1 } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" }, "is_default": { "type": "boolean" } } } } }, "example": { "message": "Default shop timing updated successfully.", "data": { "id": 1, "title": "Regular Shift", "is_default": true } } } } } } } }, "/api/remove-default-shop-timing": { "post": { "tags": [ "Shop Timings" ], "summary": "Remove Default", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "integer" } } }, "example": { "id": 1 } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" }, "is_default": { "type": "boolean" } } } } }, "example": { "message": "Default shop timing removed successfully.", "data": { "id": 1, "title": "Regular Shift", "is_default": false } } } } } } } }, "/api/holiday-years": { "get": { "tags": [ "Holiday Years" ], "summary": "List", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "year": { "type": "integer" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } } }, "example": { "data": [ { "id": 1, "year": 2026, "created_at": "2026-03-24T11:00:00.000000Z", "updated_at": "2026-03-24T11:00:00.000000Z" } ] } } } } } }, "post": { "tags": [ "Holiday Years" ], "summary": "Create", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "year": { "type": "integer" } } }, "example": { "year": 2026 } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "year": { "type": "integer" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Holiday year created successfully.", "data": { "id": 1, "year": 2026, "created_at": "2026-03-24T11:00:00.000000Z", "updated_at": "2026-03-24T11:00:00.000000Z" } } } } } } } }, "/api/shop-calenders": { "get": { "tags": [ "Shop Calenders" ], "summary": "List", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" }, "is_default": { "type": "boolean" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" }, "shop_calender_days": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "shop_calender_id": { "type": "integer" }, "day_number": { "type": "integer" }, "type": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } } } }, "meta": { "type": "object", "properties": { "current_page": { "type": "integer" }, "last_page": { "type": "integer" }, "per_page": { "type": "integer" }, "total": { "type": "integer" }, "from": { "type": "integer" }, "to": { "type": "integer" } } } } }, "example": { "data": [ { "id": 1, "title": "Default Calendar", "is_default": true, "created_at": "2026-03-24T10:00:00.000000Z", "updated_at": "2026-03-24T10:00:00.000000Z", "shop_calender_days": [ { "id": 1, "shop_calender_id": 1, "day_number": 1, "type": "full_day", "created_at": "2026-03-24T10:00:00.000000Z", "updated_at": "2026-03-24T10:00:00.000000Z" } ] } ], "meta": { "current_page": 1, "last_page": 1, "per_page": 15, "total": 1, "from": 1, "to": 1 } } } } } } }, "post": { "tags": [ "Shop Calenders" ], "summary": "Create", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "title": { "type": "string" }, "is_default": { "type": "boolean" } } }, "example": { "title": "Default Calendar", "is_default": true } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" }, "is_default": { "type": "boolean" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" }, "shop_calender_days": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "shop_calender_id": { "type": "integer" }, "day_number": { "type": "integer" }, "type": { "type": "string" } } } } } } } }, "example": { "message": "Shop calender created successfully.", "data": { "id": 1, "title": "Default Calendar", "is_default": true, "created_at": "2026-03-24T10:00:00.000000Z", "updated_at": "2026-03-24T10:00:00.000000Z", "shop_calender_days": [ { "id": 1, "shop_calender_id": 1, "day_number": 1, "type": "full_day" } ] } } } } } } } }, "/api/shop-calenders/{id}": { "delete": { "tags": [ "Shop Calenders" ], "summary": "Delete", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Shop calender deleted successfully." } } } } } } }, "/api/set-default-shop-calender": { "post": { "tags": [ "Shop Calenders" ], "summary": "Set Default", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "integer" } } }, "example": { "id": 1 } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" }, "is_default": { "type": "boolean" } } } } }, "example": { "message": "Default shop calender updated successfully.", "data": { "id": 1, "title": "Default Calendar", "is_default": true } } } } } } } }, "/api/remove-default-shop-calender": { "post": { "tags": [ "Shop Calenders" ], "summary": "Remove Default", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "integer" } } }, "example": { "id": 1 } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" }, "is_default": { "type": "boolean" } } } } }, "example": { "message": "Default shop calender removed successfully.", "data": { "id": 1, "title": "Default Calendar", "is_default": false } } } } } } } }, "/api/shop-calenders/{id}/update-day-type": { "post": { "tags": [ "Shop Calenders" ], "summary": "Update Day Type", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "day_number": { "type": "integer" }, "type": { "type": "string" } } }, "example": { "day_number": 1, "type": "week_off" } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" }, "is_default": { "type": "boolean" }, "shop_calender_days": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "shop_calender_id": { "type": "integer" }, "day_number": { "type": "integer" }, "type": { "type": "string" } } } } } } } }, "example": { "message": "Shop calender day type updated successfully.", "data": { "id": 1, "title": "Default Calendar", "is_default": true, "shop_calender_days": [ { "id": 1, "shop_calender_id": 1, "day_number": 1, "type": "week_off" } ] } } } } } } } }, "/api/holidays": { "get": { "tags": [ "Holidays" ], "summary": "List", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "holiday_year_id": { "type": "integer" }, "date": { "type": "string" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" }, "holiday_year": { "type": "object", "properties": { "id": { "type": "integer" }, "year": { "type": "integer" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } } } } }, "example": { "data": [ { "id": 1, "holiday_year_id": 1, "date": "2026-12-02", "name": "National Day", "created_at": "2026-03-24T11:10:00.000000Z", "updated_at": "2026-03-24T11:10:00.000000Z", "holiday_year": { "id": 1, "year": 2026, "created_at": "2026-03-24T11:00:00.000000Z", "updated_at": "2026-03-24T11:00:00.000000Z" } } ] } } } } } }, "post": { "tags": [ "Holidays" ], "summary": "Create", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "holiday_year_id": { "type": "integer" }, "date": { "type": "string" }, "name": { "type": "string" } } }, "example": { "holiday_year_id": 1, "date": "2026-12-02", "name": "National Day" } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "holiday_year_id": { "type": "integer" }, "date": { "type": "string" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" }, "holiday_year": { "type": "object", "properties": { "id": { "type": "integer" }, "year": { "type": "integer" } } } } } } }, "example": { "message": "Holiday created successfully.", "data": { "id": 1, "holiday_year_id": 1, "date": "2026-12-02", "name": "National Day", "created_at": "2026-03-24T11:10:00.000000Z", "updated_at": "2026-03-24T11:10:00.000000Z", "holiday_year": { "id": 1, "year": 2026 } } } } } } } } }, "/api/holidays/{id}": { "put": { "tags": [ "Holidays" ], "summary": "Update", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string" } } }, "example": { "name": "National Day Holiday" } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "holiday_year_id": { "type": "integer" }, "date": { "type": "string" }, "name": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" }, "holiday_year": { "type": "object", "properties": { "id": { "type": "integer" }, "year": { "type": "integer" } } } } } } }, "example": { "message": "Holiday updated successfully.", "data": { "id": 1, "holiday_year_id": 1, "date": "2026-12-02", "name": "National Day Holiday", "created_at": "2026-03-24T11:10:00.000000Z", "updated_at": "2026-03-24T11:20:00.000000Z", "holiday_year": { "id": 1, "year": 2026 } } } } } } } }, "delete": { "tags": [ "Holidays" ], "summary": "Delete", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Holiday deleted successfully." } } } } } } }, "/api/settings": { "get": { "tags": [ "Settings" ], "summary": "List", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "email": { "type": "string" }, "phone": { "type": "string" }, "alternative_phone": { "type": "string" }, "website": { "type": "string" }, "time_zone": { "type": "string" }, "upi_id": { "type": "string" }, "first_day_of_work": { "type": "string" }, "latitude": { "type": "string" }, "longitude": { "type": "string" }, "bank_details": { "type": "string" }, "first_address_line": { "type": "string" }, "second_address_line": { "type": "string" }, "country_id": { "type": "string" }, "state_id": { "type": "string" }, "city": { "type": "string" }, "zip_code": { "type": "string" }, "logo": { "type": "string" } } } } }, "example": { "data": { "id": 1, "name": "Reparee", "email": "support@reparee.com", "phone": "1234567890", "alternative_phone": "0987654321", "website": "https://reparee.com", "time_zone": "Asia/Kolkata", "upi_id": "reparee@upi", "first_day_of_work": "monday", "latitude": "23.0225", "longitude": "72.5714", "bank_details": "Bank: Example Bank, A/C: 1234567890, IFSC: EXMP0001234", "first_address_line": "123 Business Park", "second_address_line": "Near Central Plaza", "country_id": "101", "state_id": "12", "city": "Ahmedabad", "zip_code": "380001", "logo": "settings/logo.png" } } } } } } }, "put": { "tags": [ "Settings" ], "summary": "Update", "requestBody": { "content": { "multipart/form-data": { "schema": { "type": "object", "properties": { "name": { "type": "string" }, "email": { "type": "string" }, "phone": { "type": "string" }, "first_day_of_work": { "type": "string" }, "logo": { "type": "string", "format": "binary" } } } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "email": { "type": "string" }, "phone": { "type": "string" }, "alternative_phone": { "type": "string" }, "website": { "type": "string" }, "time_zone": { "type": "string" }, "upi_id": { "type": "string" }, "first_day_of_work": { "type": "string" }, "latitude": { "type": "string" }, "longitude": { "type": "string" }, "bank_details": { "type": "string" }, "first_address_line": { "type": "string" }, "second_address_line": { "type": "string" }, "country_id": { "type": "string" }, "state_id": { "type": "string" }, "city": { "type": "string" }, "zip_code": { "type": "string" }, "logo": { "type": "string" } } } } }, "example": { "message": "Settings updated successfully.", "data": { "id": 1, "name": "Reparee", "email": "support@reparee.com", "phone": "1234567890", "alternative_phone": "0987654321", "website": "https://reparee.com", "time_zone": "Asia/Kolkata", "upi_id": "reparee@upi", "first_day_of_work": "monday", "latitude": "23.0225", "longitude": "72.5714", "bank_details": "Bank: Example Bank, A/C: 1234567890, IFSC: EXMP0001234", "first_address_line": "123 Business Park", "second_address_line": "Near Central Plaza", "country_id": "101", "state_id": "12", "city": "Ahmedabad", "zip_code": "380001", "logo": "settings/logo.png" } } } } } } } }, "/api/taxes": { "get": { "tags": [ "Taxes" ], "summary": "List", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" }, "note": { "type": "string" }, "rate": { "type": "string" }, "is_default": { "type": "boolean" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } } }, "example": { "data": [ { "id": 1, "title": "VAT", "note": "Standard rate", "rate": "18.00", "is_default": true, "created_at": "2026-03-25T10:00:00.000000Z", "updated_at": "2026-03-25T10:00:00.000000Z" } ] } } } } } }, "post": { "tags": [ "Taxes" ], "summary": "Create", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "title": { "type": "string" }, "note": { "type": "string" }, "rate": { "type": "integer" }, "is_default": { "type": "boolean" } } }, "example": { "title": "VAT", "note": "Standard rate", "rate": 18, "is_default": true } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" }, "note": { "type": "string" }, "rate": { "type": "string" }, "is_default": { "type": "boolean" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Tax created successfully.", "data": { "id": 1, "title": "VAT", "note": "Standard rate", "rate": "18.00", "is_default": true, "created_at": "2026-03-25T10:00:00.000000Z", "updated_at": "2026-03-25T10:00:00.000000Z" } } } } } } } }, "/api/taxes/{id}": { "put": { "tags": [ "Taxes" ], "summary": "Update", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "title": { "type": "string" }, "note": { "type": "string" }, "rate": { "type": "integer" }, "is_default": { "type": "boolean" } } }, "example": { "title": "VAT (updated)", "note": "Revised rate", "rate": 20, "is_default": false } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" }, "note": { "type": "string" }, "rate": { "type": "string" }, "is_default": { "type": "boolean" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Tax updated successfully.", "data": { "id": 1, "title": "VAT (updated)", "note": "Revised rate", "rate": "20.00", "is_default": false, "created_at": "2026-03-25T10:00:00.000000Z", "updated_at": "2026-03-25T10:15:00.000000Z" } } } } } } }, "delete": { "tags": [ "Taxes" ], "summary": "Delete", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Tax deleted successfully." } } } } } } }, "/api/set-default-tax": { "post": { "tags": [ "Taxes" ], "summary": "Set Default", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "integer" } } }, "example": { "id": 1 } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" }, "note": { "type": "string" }, "rate": { "type": "string" }, "is_default": { "type": "boolean" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Default tax updated successfully.", "data": { "id": 1, "title": "VAT", "note": "Standard rate", "rate": "18.00", "is_default": true, "created_at": "2026-03-25T10:00:00.000000Z", "updated_at": "2026-03-25T10:20:00.000000Z" } } } } } } } }, "/api/remove-default-tax": { "post": { "tags": [ "Taxes" ], "summary": "Remove Default", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "integer" } } }, "example": { "id": 1 } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" }, "note": { "type": "string" }, "rate": { "type": "string" }, "is_default": { "type": "boolean" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Default tax removed successfully.", "data": { "id": 1, "title": "VAT", "note": "Standard rate", "rate": "18.00", "is_default": false, "created_at": "2026-03-25T10:00:00.000000Z", "updated_at": "2026-03-25T10:25:00.000000Z" } } } } } } } }, "/api/configurations/sales_tax_discount": { "put": { "tags": [ "Configurations" ], "summary": "Update Sales Tax Discount", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "sell_rates_tax_inclusive": { "type": "string" }, "give_discounts": { "type": "string" } } }, "example": { "sell_rates_tax_inclusive": "Tax Exclusive", "give_discounts": "transaction_level" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "sell_rates_tax_inclusive": { "type": "string" }, "give_discounts": { "type": "string" }, "purchase_rates_tax_inclusive": { "type": "string" }, "receive_discounts": { "type": "string" }, "enable_parts_issuing": { "type": "boolean" }, "enable_digital_authorisation": { "type": "boolean" }, "is_taxable_order": { "type": "boolean" }, "customer_search_by_vehicle": { "type": "boolean" }, "vehicle_search_by_customer": { "type": "boolean" }, "odometer_in_check_in": { "type": "boolean" }, "odometer_in_check_out": { "type": "boolean" }, "customer_signature_in_check_in": { "type": "boolean" }, "customer_signature_in_check_out": { "type": "boolean" }, "set_packaged_pricing": { "type": "boolean" }, "show_as_lump_sum": { "type": "boolean" }, "mark_as_recommended": { "type": "boolean" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Sales tax and discount settings updated successfully.", "data": { "id": 1, "sell_rates_tax_inclusive": "Tax Exclusive", "give_discounts": "transaction_level", "purchase_rates_tax_inclusive": "Tax Inclusive", "receive_discounts": "no", "enable_parts_issuing": false, "enable_digital_authorisation": false, "is_taxable_order": false, "customer_search_by_vehicle": false, "vehicle_search_by_customer": false, "odometer_in_check_in": false, "odometer_in_check_out": false, "customer_signature_in_check_in": false, "customer_signature_in_check_out": false, "set_packaged_pricing": false, "show_as_lump_sum": false, "mark_as_recommended": false, "created_at": "2026-03-30T16:00:00.000000Z", "updated_at": "2026-03-30T16:05:00.000000Z" } } } } } } } }, "/api/configurations/purchase_tax_discount": { "put": { "tags": [ "Configurations" ], "summary": "Update Purchase Tax Discount", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "purchase_rates_tax_inclusive": { "type": "string" }, "receive_discounts": { "type": "string" } } }, "example": { "purchase_rates_tax_inclusive": "Tax Exclusive", "receive_discounts": "line_item_level" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "sell_rates_tax_inclusive": { "type": "string" }, "give_discounts": { "type": "string" }, "purchase_rates_tax_inclusive": { "type": "string" }, "receive_discounts": { "type": "string" }, "enable_parts_issuing": { "type": "boolean" }, "enable_digital_authorisation": { "type": "boolean" }, "is_taxable_order": { "type": "boolean" }, "customer_search_by_vehicle": { "type": "boolean" }, "vehicle_search_by_customer": { "type": "boolean" }, "odometer_in_check_in": { "type": "boolean" }, "odometer_in_check_out": { "type": "boolean" }, "customer_signature_in_check_in": { "type": "boolean" }, "customer_signature_in_check_out": { "type": "boolean" }, "set_packaged_pricing": { "type": "boolean" }, "show_as_lump_sum": { "type": "boolean" }, "mark_as_recommended": { "type": "boolean" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "Purchase tax and discount settings updated successfully.", "data": { "id": 1, "sell_rates_tax_inclusive": "Tax Inclusive", "give_discounts": "no", "purchase_rates_tax_inclusive": "Tax Exclusive", "receive_discounts": "line_item_level", "enable_parts_issuing": false, "enable_digital_authorisation": false, "is_taxable_order": false, "customer_search_by_vehicle": false, "vehicle_search_by_customer": false, "odometer_in_check_in": false, "odometer_in_check_out": false, "customer_signature_in_check_in": false, "customer_signature_in_check_out": false, "set_packaged_pricing": false, "show_as_lump_sum": false, "mark_as_recommended": false, "created_at": "2026-03-30T16:00:00.000000Z", "updated_at": "2026-03-30T16:10:00.000000Z" } } } } } } } }, "/api/configurations/general_preferences": { "put": { "tags": [ "Configurations" ], "summary": "Update General Preferences", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "enable_parts_issuing": { "type": "boolean" }, "enable_digital_authorisation": { "type": "boolean" }, "is_taxable_order": { "type": "boolean" }, "customer_search_by_vehicle": { "type": "boolean" }, "vehicle_search_by_customer": { "type": "boolean" }, "odometer_in_check_in": { "type": "boolean" }, "odometer_in_check_out": { "type": "boolean" }, "customer_signature_in_check_in": { "type": "boolean" }, "customer_signature_in_check_out": { "type": "boolean" }, "set_packaged_pricing": { "type": "boolean" }, "show_as_lump_sum": { "type": "boolean" }, "mark_as_recommended": { "type": "boolean" } } }, "example": { "enable_parts_issuing": true, "enable_digital_authorisation": true, "is_taxable_order": true, "customer_search_by_vehicle": true, "vehicle_search_by_customer": false, "odometer_in_check_in": true, "odometer_in_check_out": true, "customer_signature_in_check_in": true, "customer_signature_in_check_out": false, "set_packaged_pricing": true, "show_as_lump_sum": false, "mark_as_recommended": true } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "sell_rates_tax_inclusive": { "type": "string" }, "give_discounts": { "type": "string" }, "purchase_rates_tax_inclusive": { "type": "string" }, "receive_discounts": { "type": "string" }, "enable_parts_issuing": { "type": "boolean" }, "enable_digital_authorisation": { "type": "boolean" }, "is_taxable_order": { "type": "boolean" }, "customer_search_by_vehicle": { "type": "boolean" }, "vehicle_search_by_customer": { "type": "boolean" }, "odometer_in_check_in": { "type": "boolean" }, "odometer_in_check_out": { "type": "boolean" }, "customer_signature_in_check_in": { "type": "boolean" }, "customer_signature_in_check_out": { "type": "boolean" }, "set_packaged_pricing": { "type": "boolean" }, "show_as_lump_sum": { "type": "boolean" }, "mark_as_recommended": { "type": "boolean" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } } } }, "example": { "message": "General preferences updated successfully.", "data": { "id": 1, "sell_rates_tax_inclusive": "Tax Inclusive", "give_discounts": "no", "purchase_rates_tax_inclusive": "Tax Inclusive", "receive_discounts": "no", "enable_parts_issuing": true, "enable_digital_authorisation": true, "is_taxable_order": true, "customer_search_by_vehicle": true, "vehicle_search_by_customer": false, "odometer_in_check_in": true, "odometer_in_check_out": true, "customer_signature_in_check_in": true, "customer_signature_in_check_out": false, "set_packaged_pricing": true, "show_as_lump_sum": false, "mark_as_recommended": true, "created_at": "2026-03-30T16:00:00.000000Z", "updated_at": "2026-03-30T16:15:00.000000Z" } } } } } } } }, "/api/make-and-models": { "get": { "tags": [ "Make and Models" ], "summary": "List", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "shop_type_id": { "type": "integer" }, "make": { "type": "string" }, "model": { "type": "string" }, "year": { "type": "integer" }, "sub_model": { "type": "string" }, "body_type_id": { "type": "integer" }, "fuel_id": { "type": "integer" }, "transmission_id": { "type": "integer" }, "engine_size": { "type": "string" }, "drivetrain": { "type": "string" }, "is_active": { "type": "boolean" }, "is_default": { "type": "boolean" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" }, "shop_type": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" } } }, "body_type": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" } } }, "fuel": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" } } }, "transmission": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" } } } } } } } }, "example": { "data": [ { "id": 1, "shop_type_id": 1, "make": "Toyota", "model": "Camry", "year": 2024, "sub_model": "LE", "body_type_id": 1, "fuel_id": 1, "transmission_id": 1, "engine_size": "2.5L", "drivetrain": "FWD", "is_active": true, "is_default": false, "created_at": "2026-03-25T12:00:00.000000Z", "updated_at": "2026-03-25T12:00:00.000000Z", "shop_type": { "id": 1, "title": "Main Workshop" }, "body_type": { "id": 1, "title": "Sedan" }, "fuel": { "id": 1, "title": "Petrol" }, "transmission": { "id": 1, "title": "Automatic" } } ] } } } } } }, "post": { "tags": [ "Make and Models" ], "summary": "Create", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "shop_type_id": { "type": "integer" }, "make": { "type": "string" }, "model": { "type": "string" }, "year": { "type": "integer" }, "sub_model": { "type": "string" }, "body_type_id": { "type": "integer" }, "fuel_id": { "type": "integer" }, "transmission_id": { "type": "integer" }, "engine_size": { "type": "string" }, "drivetrain": { "type": "string" }, "is_active": { "type": "boolean" } } }, "example": { "shop_type_id": 1, "make": "Toyota", "model": "Camry", "year": 2024, "sub_model": "LE", "body_type_id": 1, "fuel_id": 1, "transmission_id": 1, "engine_size": "2.5L", "drivetrain": "FWD", "is_active": true } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "shop_type_id": { "type": "integer" }, "make": { "type": "string" }, "model": { "type": "string" }, "year": { "type": "integer" }, "sub_model": { "type": "string" }, "body_type_id": { "type": "integer" }, "fuel_id": { "type": "integer" }, "transmission_id": { "type": "integer" }, "engine_size": { "type": "string" }, "drivetrain": { "type": "string" }, "is_active": { "type": "boolean" }, "is_default": { "type": "boolean" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" }, "shop_type": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" } } }, "body_type": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" } } }, "fuel": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" } } }, "transmission": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" } } } } } } }, "example": { "message": "Make and model created successfully.", "data": { "id": 1, "shop_type_id": 1, "make": "Toyota", "model": "Camry", "year": 2024, "sub_model": "LE", "body_type_id": 1, "fuel_id": 1, "transmission_id": 1, "engine_size": "2.5L", "drivetrain": "FWD", "is_active": true, "is_default": false, "created_at": "2026-03-25T12:00:00.000000Z", "updated_at": "2026-03-25T12:00:00.000000Z", "shop_type": { "id": 1, "title": "Main Workshop" }, "body_type": { "id": 1, "title": "Sedan" }, "fuel": { "id": 1, "title": "Petrol" }, "transmission": { "id": 1, "title": "Automatic" } } } } } } } } }, "/api/make-and-models/{id}": { "put": { "tags": [ "Make and Models" ], "summary": "Update", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "make": { "type": "string" }, "model": { "type": "string" }, "year": { "type": "integer" }, "is_active": { "type": "boolean" } } }, "example": { "make": "Toyota", "model": "Camry Hybrid", "year": 2025, "is_active": true } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "shop_type_id": { "type": "integer" }, "make": { "type": "string" }, "model": { "type": "string" }, "year": { "type": "integer" }, "sub_model": { "type": "string" }, "body_type_id": { "type": "integer" }, "fuel_id": { "type": "integer" }, "transmission_id": { "type": "integer" }, "engine_size": { "type": "string" }, "drivetrain": { "type": "string" }, "is_active": { "type": "boolean" }, "is_default": { "type": "boolean" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" }, "shop_type": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" } } }, "body_type": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" } } }, "fuel": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" } } }, "transmission": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" } } } } } } }, "example": { "message": "Make and model updated successfully.", "data": { "id": 1, "shop_type_id": 1, "make": "Toyota", "model": "Camry Hybrid", "year": 2025, "sub_model": "LE", "body_type_id": 1, "fuel_id": 1, "transmission_id": 1, "engine_size": "2.5L", "drivetrain": "FWD", "is_active": true, "is_default": false, "created_at": "2026-03-25T12:00:00.000000Z", "updated_at": "2026-03-25T12:30:00.000000Z", "shop_type": { "id": 1, "title": "Main Workshop" }, "body_type": { "id": 1, "title": "Sedan" }, "fuel": { "id": 1, "title": "Petrol" }, "transmission": { "id": 1, "title": "Automatic" } } } } } } } }, "delete": { "tags": [ "Make and Models" ], "summary": "Delete", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } } }, "example": { "message": "Make and model deleted successfully." } } } } } } }, "/api/toggle-make-and-model-status": { "post": { "tags": [ "Make and Models" ], "summary": "Toggle Status", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "integer" } } }, "example": { "id": 1 } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "data": { "type": "object", "properties": { "id": { "type": "integer" }, "shop_type_id": { "type": "integer" }, "make": { "type": "string" }, "model": { "type": "string" }, "year": { "type": "integer" }, "sub_model": { "type": "string" }, "body_type_id": { "type": "integer" }, "fuel_id": { "type": "integer" }, "transmission_id": { "type": "integer" }, "engine_size": { "type": "string" }, "drivetrain": { "type": "string" }, "is_active": { "type": "boolean" }, "is_default": { "type": "boolean" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" }, "shop_type": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" } } }, "body_type": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" } } }, "fuel": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" } } }, "transmission": { "type": "object", "properties": { "id": { "type": "integer" }, "title": { "type": "string" } } } } } } }, "example": { "message": "Make and model status updated successfully.", "data": { "id": 1, "shop_type_id": 1, "make": "Toyota", "model": "Camry", "year": 2024, "sub_model": "LE", "body_type_id": 1, "fuel_id": 1, "transmission_id": 1, "engine_size": "2.5L", "drivetrain": "FWD", "is_active": false, "is_default": false, "created_at": "2026-03-25T12:00:00.000000Z", "updated_at": "2026-03-25T12:45:00.000000Z", "shop_type": { "id": 1, "title": "Main Workshop" }, "body_type": { "id": 1, "title": "Sedan" }, "fuel": { "id": 1, "title": "Petrol" }, "transmission": { "id": 1, "title": "Automatic" } } } } } } } } } } }