28678 lines
845 KiB
JSON
28678 lines
845 KiB
JSON
{
|
|
"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": "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/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}": {
|
|
"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/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"
|
|
},
|
|
"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 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"
|
|
},
|
|
"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-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"
|
|
},
|
|
"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 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"
|
|
},
|
|
"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/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"
|
|
},
|
|
"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 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"
|
|
},
|
|
"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 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"
|
|
},
|
|
"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/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"
|
|
},
|
|
"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 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"
|
|
},
|
|
"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": [
|
|
"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}": {
|
|
"put": {
|
|
"tags": [
|
|
"Vehicles"
|
|
],
|
|
"summary": "Update",
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"mileage": {
|
|
"type": "string"
|
|
},
|
|
"license_plate": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"mileage": "12000",
|
|
"license_plate": "ABC-123"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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-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"
|
|
},
|
|
"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/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"
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"message": "Deleted successfully."
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/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"
|
|
},
|
|
"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/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"
|
|
},
|
|
"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/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"
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"message": "Deleted successfully."
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/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"
|
|
},
|
|
"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/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}": {
|
|
"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"
|
|
},
|
|
"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/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"
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"message": "Deleted successfully."
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/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"
|
|
},
|
|
"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-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"
|
|
},
|
|
"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/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"
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"message": "Deleted successfully."
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/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"
|
|
},
|
|
"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": [
|
|
"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"
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"title": "Job Card 001",
|
|
"customer_id": 1,
|
|
"vehicle_id": 1,
|
|
"status": "draft"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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/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"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"title": "Job Card 001 Updated",
|
|
"status": "check_in",
|
|
"department_id": 1,
|
|
"check_in_date": "2026-03-18",
|
|
"km_in": 50000,
|
|
"label_ids": [
|
|
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"
|
|
},
|
|
"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": [
|
|
"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"
|
|
},
|
|
"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/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"
|
|
},
|
|
"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/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"
|
|
},
|
|
"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/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"
|
|
},
|
|
"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/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"
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"message": "Deleted successfully."
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/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"
|
|
},
|
|
"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/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"
|
|
},
|
|
"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/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"
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"message": "Deleted successfully."
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/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"
|
|
},
|
|
"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/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"
|
|
},
|
|
"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/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"
|
|
},
|
|
"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/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}": {
|
|
"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}": {
|
|
"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}": {
|
|
"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}/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/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"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} |