{ "schemes": [ "http", "https" ], "swagger": "2.0", "info": { "description": "A comprehensive Go API service with Swagger documentation", "title": "API Service", "termsOfService": "http://swagger.io/terms/", "contact": { "name": "API Support", "url": "http://www.swagger.io/support", "email": "support@swagger.io" }, "license": { "name": "Apache 2.0", "url": "http://www.apache.org/licenses/LICENSE-2.0.html" }, "version": "1.0.0" }, "host": "localhost:8080", "basePath": "/api/v1", "paths": { "/Peserta/nik/:nik": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "Get participant eligibility information by NIK", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Peserta" ], "summary": "Get Bynik data", "parameters": [ { "type": "string", "description": "Request ID for tracking", "name": "X-Request-ID", "in": "header" }, { "type": "string", "example": "\"example_value\"", "description": "nik", "name": "nik", "in": "path", "required": true } ], "responses": { "200": { "description": "Successfully retrieved Bynik data", "schema": { "$ref": "#/definitions/api-service_internal_models_vclaim_peserta.PesertaResponse" } }, "400": { "description": "Bad request - invalid parameters", "schema": { "$ref": "#/definitions/api-service_internal_models.ErrorResponseBpjs" } }, "401": { "description": "Unauthorized - invalid API credentials", "schema": { "$ref": "#/definitions/api-service_internal_models.ErrorResponseBpjs" } }, "404": { "description": "Not found - Bynik not found", "schema": { "$ref": "#/definitions/api-service_internal_models.ErrorResponseBpjs" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/api-service_internal_models.ErrorResponseBpjs" } } } } }, "/Peserta/nokartu/:nokartu": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "Get participant eligibility information by card number", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Peserta" ], "summary": "Get Bynokartu data", "parameters": [ { "type": "string", "description": "Request ID for tracking", "name": "X-Request-ID", "in": "header" }, { "type": "string", "example": "\"example_value\"", "description": "nokartu", "name": "nokartu", "in": "path", "required": true } ], "responses": { "200": { "description": "Successfully retrieved Bynokartu data", "schema": { "$ref": "#/definitions/api-service_internal_models_vclaim_peserta.PesertaResponse" } }, "400": { "description": "Bad request - invalid parameters", "schema": { "$ref": "#/definitions/api-service_internal_models.ErrorResponseBpjs" } }, "401": { "description": "Unauthorized - invalid API credentials", "schema": { "$ref": "#/definitions/api-service_internal_models.ErrorResponseBpjs" } }, "404": { "description": "Not found - Bynokartu not found", "schema": { "$ref": "#/definitions/api-service_internal_models.ErrorResponseBpjs" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/api-service_internal_models.ErrorResponseBpjs" } } } } }, "/api/v1/auth/login": { "post": { "description": "Authenticate user with username and password to receive JWT token", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Authentication" ], "summary": "Login user and get JWT token", "parameters": [ { "description": "Login credentials", "name": "login", "in": "body", "required": true, "schema": { "$ref": "#/definitions/api-service_internal_models_auth.LoginRequest" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/api-service_internal_models_auth.TokenResponse" } }, "400": { "description": "Bad request", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "401": { "description": "Unauthorized", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } } }, "/api/v1/auth/me": { "get": { "security": [ { "Bearer": [] } ], "description": "Get information about the currently authenticated user", "produces": [ "application/json" ], "tags": [ "Authentication" ], "summary": "Get current user info", "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/api-service_internal_models_auth.User" } }, "401": { "description": "Unauthorized", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } } }, "/api/v1/auth/refresh": { "post": { "description": "Refresh the JWT token using a valid refresh token", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Authentication" ], "summary": "Refresh JWT token", "parameters": [ { "description": "Refresh token", "name": "refresh", "in": "body", "required": true, "schema": { "type": "object", "additionalProperties": { "type": "string" } } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/api-service_internal_models_auth.TokenResponse" } }, "400": { "description": "Bad request", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "401": { "description": "Unauthorized", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } } }, "/api/v1/auth/register": { "post": { "description": "Register a new user account", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Authentication" ], "summary": "Register new user", "parameters": [ { "description": "Registration data", "name": "register", "in": "body", "required": true, "schema": { "type": "object", "additionalProperties": { "type": "string" } } } ], "responses": { "201": { "description": "Created", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "400": { "description": "Bad request", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } } }, "/api/v1/listkiosks/stats": { "get": { "description": "Returns comprehensive statistics about listkiosk data", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Listkiosk" ], "summary": "Get listkiosk statistics", "parameters": [ { "type": "string", "description": "Filter statistics by status", "name": "status", "in": "query" } ], "responses": { "200": { "description": "Statistics data", "schema": { "$ref": "#/definitions/api-service_internal_models.AggregateData" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/api-service_internal_models.ErrorResponse" } } } } }, "/api/v1/patients/stats": { "get": { "description": "Returns comprehensive statistics about patient data", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Patient" ], "summary": "Get patient statistics", "parameters": [ { "type": "string", "description": "Filter statistics by status", "name": "status", "in": "query" } ], "responses": { "200": { "description": "Statistics data", "schema": { "$ref": "#/definitions/api-service_internal_models.AggregateData" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/api-service_internal_models.ErrorResponse" } } } } }, "/api/v1/retribusi/{id}": { "get": { "description": "Returns a single retribusi by ID", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Retribusi" ], "summary": "Get Retribusi by ID", "parameters": [ { "type": "string", "description": "Retribusi ID (UUID)", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "Success response", "schema": { "$ref": "#/definitions/api-service_internal_models_retribusi.RetribusiGetByIDResponse" } }, "400": { "description": "Invalid ID format", "schema": { "$ref": "#/definitions/api-service_internal_models.ErrorResponse" } }, "404": { "description": "Retribusi not found", "schema": { "$ref": "#/definitions/api-service_internal_models.ErrorResponse" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/api-service_internal_models.ErrorResponse" } } } }, "put": { "description": "Updates an existing retribusi record", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Retribusi" ], "summary": "Update retribusi", "parameters": [ { "type": "string", "description": "Retribusi ID (UUID)", "name": "id", "in": "path", "required": true }, { "description": "Retribusi update request", "name": "request", "in": "body", "required": true, "schema": { "$ref": "#/definitions/api-service_internal_models_retribusi.RetribusiUpdateRequest" } } ], "responses": { "200": { "description": "Retribusi updated successfully", "schema": { "$ref": "#/definitions/api-service_internal_models_retribusi.RetribusiUpdateResponse" } }, "400": { "description": "Bad request or validation error", "schema": { "$ref": "#/definitions/api-service_internal_models.ErrorResponse" } }, "404": { "description": "Retribusi not found", "schema": { "$ref": "#/definitions/api-service_internal_models.ErrorResponse" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/api-service_internal_models.ErrorResponse" } } } }, "delete": { "description": "Soft deletes a retribusi by setting status to 'deleted'", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Retribusi" ], "summary": "Delete retribusi", "parameters": [ { "type": "string", "description": "Retribusi ID (UUID)", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "Retribusi deleted successfully", "schema": { "$ref": "#/definitions/api-service_internal_models_retribusi.RetribusiDeleteResponse" } }, "400": { "description": "Invalid ID format", "schema": { "$ref": "#/definitions/api-service_internal_models.ErrorResponse" } }, "404": { "description": "Retribusi not found", "schema": { "$ref": "#/definitions/api-service_internal_models.ErrorResponse" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/api-service_internal_models.ErrorResponse" } } } } }, "/api/v1/retribusis": { "get": { "description": "Returns a paginated list of retribusis with optional summary statistics", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Retribusi" ], "summary": "Get retribusi with pagination and optional aggregation", "parameters": [ { "type": "integer", "default": 10, "description": "Limit (max 100)", "name": "limit", "in": "query" }, { "type": "integer", "default": 0, "description": "Offset", "name": "offset", "in": "query" }, { "type": "boolean", "default": false, "description": "Include aggregation summary", "name": "include_summary", "in": "query" }, { "type": "string", "description": "Filter by status", "name": "status", "in": "query" }, { "type": "string", "description": "Filter by jenis", "name": "jenis", "in": "query" }, { "type": "string", "description": "Filter by dinas", "name": "dinas", "in": "query" }, { "type": "string", "description": "Search in multiple fields", "name": "search", "in": "query" } ], "responses": { "200": { "description": "Success response", "schema": { "$ref": "#/definitions/api-service_internal_models_retribusi.RetribusiGetResponse" } }, "400": { "description": "Bad request", "schema": { "$ref": "#/definitions/api-service_internal_models.ErrorResponse" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/api-service_internal_models.ErrorResponse" } } } }, "post": { "description": "Creates a new retribusi record", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Retribusi" ], "summary": "Create retribusi", "parameters": [ { "description": "Retribusi creation request", "name": "request", "in": "body", "required": true, "schema": { "$ref": "#/definitions/api-service_internal_models_retribusi.RetribusiCreateRequest" } } ], "responses": { "201": { "description": "Retribusi created successfully", "schema": { "$ref": "#/definitions/api-service_internal_models_retribusi.RetribusiCreateResponse" } }, "400": { "description": "Bad request or validation error", "schema": { "$ref": "#/definitions/api-service_internal_models.ErrorResponse" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/api-service_internal_models.ErrorResponse" } } } } }, "/api/v1/retribusis/dynamic": { "get": { "description": "Returns retribusis with advanced dynamic filtering like Directus", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Retribusi" ], "summary": "Get retribusi with dynamic filtering", "parameters": [ { "type": "string", "description": "Fields to select (e.g., fields=*.*)", "name": "fields", "in": "query" }, { "type": "string", "description": "Dynamic filters (e.g., filter[Jenis][_eq]=value)", "name": "filter[column][operator]", "in": "query" }, { "type": "string", "description": "Sort fields (e.g., sort=date_created,-Jenis)", "name": "sort", "in": "query" }, { "type": "integer", "default": 10, "description": "Limit", "name": "limit", "in": "query" }, { "type": "integer", "default": 0, "description": "Offset", "name": "offset", "in": "query" } ], "responses": { "200": { "description": "Success response", "schema": { "$ref": "#/definitions/api-service_internal_models_retribusi.RetribusiGetResponse" } }, "400": { "description": "Bad request", "schema": { "$ref": "#/definitions/api-service_internal_models.ErrorResponse" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/api-service_internal_models.ErrorResponse" } } } } }, "/api/v1/retribusis/stats": { "get": { "description": "Returns comprehensive statistics about retribusi data", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Retribusi" ], "summary": "Get retribusi statistics", "parameters": [ { "type": "string", "description": "Filter statistics by status", "name": "status", "in": "query" } ], "responses": { "200": { "description": "Statistics data", "schema": { "$ref": "#/definitions/api-service_internal_models.AggregateData" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/api-service_internal_models.ErrorResponse" } } } } }, "/api/v1/token/generate": { "post": { "description": "Generate a JWT token for a user", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Token" ], "summary": "Generate JWT token", "parameters": [ { "description": "User credentials", "name": "token", "in": "body", "required": true, "schema": { "$ref": "#/definitions/api-service_internal_models_auth.LoginRequest" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/api-service_internal_models_auth.TokenResponse" } }, "400": { "description": "Bad request", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "401": { "description": "Unauthorized", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } } }, "/api/v1/token/generate-direct": { "post": { "description": "Generate a JWT token directly without password verification (for testing)", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Token" ], "summary": "Generate token directly", "parameters": [ { "description": "User info", "name": "user", "in": "body", "required": true, "schema": { "type": "object", "additionalProperties": { "type": "string" } } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/api-service_internal_models_auth.TokenResponse" } }, "400": { "description": "Bad request", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } } }, "/kiosk": { "post": { "description": "Creates a new listkiosk record", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Listkiosk" ], "summary": "Create listkiosk", "parameters": [ { "description": "Listkiosk creation request", "name": "request", "in": "body", "required": true, "schema": { "$ref": "#/definitions/api-service_internal_models_kiosk.ListkioskCreateRequest" } } ], "responses": { "201": { "description": "Listkiosk created successfully", "schema": { "$ref": "#/definitions/api-service_internal_models_kiosk.ListkioskCreateResponse" } }, "400": { "description": "Bad request or validation error", "schema": { "$ref": "#/definitions/api-service_internal_models.ErrorResponse" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/api-service_internal_models.ErrorResponse" } } } } }, "/kiosk/listkiosk": { "get": { "description": "Returns a paginated list of listkiosks with optional summary statistics", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Listkiosk" ], "summary": "Get listkiosk with pagination and optional aggregation", "parameters": [ { "type": "integer", "default": 10, "description": "Limit (max 100)", "name": "limit", "in": "query" }, { "type": "integer", "default": 0, "description": "Offset", "name": "offset", "in": "query" }, { "type": "boolean", "default": false, "description": "Include aggregation summary", "name": "include_summary", "in": "query" }, { "type": "string", "description": "Filter by status", "name": "status", "in": "query" }, { "type": "string", "description": "Search in multiple fields", "name": "search", "in": "query" } ], "responses": { "200": { "description": "Success response", "schema": { "$ref": "#/definitions/api-service_internal_models_kiosk.ListkioskGetResponse" } }, "400": { "description": "Bad request", "schema": { "$ref": "#/definitions/api-service_internal_models.ErrorResponse" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/api-service_internal_models.ErrorResponse" } } } } }, "/kiosk/{id}": { "put": { "description": "Updates an existing listkiosk record", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Listkiosk" ], "summary": "Update listkiosk", "parameters": [ { "type": "integer", "description": "Kiosk ID (integer)", "name": "id", "in": "path", "required": true }, { "description": "Listkiosk update request", "name": "request", "in": "body", "required": true, "schema": { "$ref": "#/definitions/api-service_internal_models_kiosk.ListkioskUpdateRequest" } } ], "responses": { "200": { "description": "Listkiosk updated successfully", "schema": { "$ref": "#/definitions/api-service_internal_models_kiosk.ListkioskUpdateResponse" } }, "400": { "description": "Bad request or validation error", "schema": { "$ref": "#/definitions/api-service_internal_models.ErrorResponse" } }, "404": { "description": "Listkiosk not found", "schema": { "$ref": "#/definitions/api-service_internal_models.ErrorResponse" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/api-service_internal_models.ErrorResponse" } } } }, "delete": { "description": "Soft deletes a listkiosk by setting status to 'deleted'", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Listkiosk" ], "summary": "Delete listkiosk", "parameters": [ { "type": "integer", "description": "Kiosk ID (integer)", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "Listkiosk deleted successfully", "schema": { "$ref": "#/definitions/api-service_internal_models_kiosk.ListkioskDeleteResponse" } }, "400": { "description": "Invalid ID format", "schema": { "$ref": "#/definitions/api-service_internal_models.ErrorResponse" } }, "404": { "description": "Listkiosk not found", "schema": { "$ref": "#/definitions/api-service_internal_models.ErrorResponse" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/api-service_internal_models.ErrorResponse" } } } } }, "/patient": { "post": { "description": "Creates a new patient record", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Patient" ], "summary": "Create patient", "parameters": [ { "description": "Patient creation request", "name": "request", "in": "body", "required": true, "schema": { "$ref": "#/definitions/api-service_internal_models_patient.PatientCreateRequest" } } ], "responses": { "201": { "description": "Patient created successfully", "schema": { "$ref": "#/definitions/api-service_internal_models_patient.PatientCreateResponse" } }, "400": { "description": "Bad request or validation error", "schema": { "$ref": "#/definitions/api-service_internal_models.ErrorResponse" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/api-service_internal_models.ErrorResponse" } } } } }, "/patient/detail": { "post": { "description": "Retrieves a patient record by ID using POST request", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Patient" ], "summary": "Get patient by ID using POST request", "parameters": [ { "description": "Patient post request", "name": "request", "in": "body", "required": true, "schema": { "$ref": "#/definitions/api-service_internal_models_patient.PatientPostRequest" } } ], "responses": { "200": { "description": "Patient details retrieved successfully", "schema": { "$ref": "#/definitions/api-service_internal_models_patient.PatientCreateResponse" } }, "400": { "description": "Bad request or validation error", "schema": { "$ref": "#/definitions/api-service_internal_models.ErrorResponse" } }, "404": { "description": "Patient not found", "schema": { "$ref": "#/definitions/api-service_internal_models.ErrorResponse" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/api-service_internal_models.ErrorResponse" } } } } }, "/patient/listpatient": { "get": { "description": "Returns a paginated list of patients with optional summary statistics", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Patient" ], "summary": "Get patient with pagination and optional aggregation", "parameters": [ { "type": "integer", "default": 10, "description": "Limit (max 100)", "name": "limit", "in": "query" }, { "type": "integer", "default": 0, "description": "Offset", "name": "offset", "in": "query" }, { "type": "boolean", "default": false, "description": "Include aggregation summary", "name": "include_summary", "in": "query" }, { "type": "string", "description": "Filter by status", "name": "status", "in": "query" }, { "type": "string", "description": "Search in multiple fields", "name": "search", "in": "query" } ], "responses": { "200": { "description": "Success response", "schema": { "$ref": "#/definitions/api-service_internal_models_patient.PatientGetResponse" } }, "400": { "description": "Bad request", "schema": { "$ref": "#/definitions/api-service_internal_models.ErrorResponse" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/api-service_internal_models.ErrorResponse" } } } } }, "/patient/{id}": { "put": { "description": "Updates an existing patient record", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Patient" ], "summary": "Update patient", "parameters": [ { "type": "integer", "description": "Patient ID", "name": "id", "in": "path", "required": true }, { "description": "Patient update request", "name": "request", "in": "body", "required": true, "schema": { "$ref": "#/definitions/api-service_internal_models_patient.PatientUpdateRequest" } } ], "responses": { "200": { "description": "Patient updated successfully", "schema": { "$ref": "#/definitions/api-service_internal_models_patient.PatientUpdateResponse" } }, "400": { "description": "Bad request or validation error", "schema": { "$ref": "#/definitions/api-service_internal_models.ErrorResponse" } }, "404": { "description": "Patient not found", "schema": { "$ref": "#/definitions/api-service_internal_models.ErrorResponse" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/api-service_internal_models.ErrorResponse" } } } }, "delete": { "description": "Soft deletes a patient by setting status to 'deleted'", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Patient" ], "summary": "Delete patient", "parameters": [ { "type": "integer", "description": "Patient ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "Patient deleted successfully", "schema": { "$ref": "#/definitions/api-service_internal_models_patient.PatientDeleteResponse" } }, "400": { "description": "Invalid ID format", "schema": { "$ref": "#/definitions/api-service_internal_models.ErrorResponse" } }, "404": { "description": "Patient not found", "schema": { "$ref": "#/definitions/api-service_internal_models.ErrorResponse" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/api-service_internal_models.ErrorResponse" } } } } } }, "definitions": { "api-service_internal_models.AggregateData": { "type": "object", "properties": { "by_dinas": { "type": "object", "additionalProperties": { "type": "integer" } }, "by_jenis": { "type": "object", "additionalProperties": { "type": "integer" } }, "by_status": { "type": "object", "additionalProperties": { "type": "integer" } }, "created_today": { "type": "integer" }, "last_updated": { "type": "string" }, "total_active": { "type": "integer" }, "total_draft": { "type": "integer" }, "total_inactive": { "type": "integer" }, "updated_today": { "type": "integer" } } }, "api-service_internal_models.ErrorResponse": { "type": "object", "properties": { "code": { "type": "integer" }, "error": { "type": "string" }, "message": { "type": "string" }, "timestamp": { "type": "string" } } }, "api-service_internal_models.ErrorResponseBpjs": { "type": "object", "properties": { "code": { "type": "string" }, "errors": { "type": "object", "additionalProperties": true }, "message": { "type": "string" }, "request_id": { "type": "string" }, "status": { "type": "string" } } }, "api-service_internal_models.MetaResponse": { "type": "object", "properties": { "current_page": { "type": "integer" }, "has_next": { "type": "boolean" }, "has_prev": { "type": "boolean" }, "limit": { "type": "integer" }, "offset": { "type": "integer" }, "total": { "type": "integer" }, "total_pages": { "type": "integer" } } }, "api-service_internal_models.NullableInt32": { "type": "object", "properties": { "int32": { "type": "integer" }, "valid": { "type": "boolean" } } }, "api-service_internal_models_auth.LoginRequest": { "type": "object", "required": [ "password", "username" ], "properties": { "password": { "type": "string" }, "username": { "type": "string" } } }, "api-service_internal_models_auth.TokenResponse": { "type": "object", "properties": { "access_token": { "type": "string" }, "expires_in": { "type": "integer" }, "token_type": { "type": "string" } } }, "api-service_internal_models_auth.User": { "type": "object", "properties": { "email": { "type": "string" }, "id": { "type": "string" }, "role": { "type": "string" }, "username": { "type": "string" } } }, "api-service_internal_models_kiosk.Listkiosk": { "type": "object", "properties": { "active": { "$ref": "#/definitions/sql.NullBool" }, "ds_sd_location": { "$ref": "#/definitions/sql.NullString" }, "fk_ref_healthcare_type_id": { "$ref": "#/definitions/api-service_internal_models.NullableInt32" }, "fk_ref_service_type_id": { "$ref": "#/definitions/api-service_internal_models.NullableInt32" }, "fk_sd_location_id": { "$ref": "#/definitions/sql.NullString" }, "icon": { "$ref": "#/definitions/sql.NullString" }, "id": { "type": "integer" }, "name": { "$ref": "#/definitions/sql.NullString" }, "url": { "$ref": "#/definitions/sql.NullString" } } }, "api-service_internal_models_kiosk.ListkioskCreateRequest": { "type": "object", "properties": { "active": { "type": "boolean" }, "ds_sd_location": { "type": "string" }, "fk_ref_healthcare_type_id": { "type": "integer", "minimum": 1 }, "fk_ref_service_type_id": { "type": "integer", "minimum": 1 }, "fk_sd_location_id": { "type": "string" }, "icon": { "type": "string", "maxLength": 20, "minLength": 1 }, "name": { "type": "string", "maxLength": 20, "minLength": 1 }, "url": { "type": "string", "maxLength": 255, "minLength": 1 } } }, "api-service_internal_models_kiosk.ListkioskCreateResponse": { "type": "object", "properties": { "data": { "$ref": "#/definitions/api-service_internal_models_kiosk.Listkiosk" }, "message": { "type": "string" } } }, "api-service_internal_models_kiosk.ListkioskDeleteResponse": { "type": "object", "properties": { "id": { "type": "string" }, "message": { "type": "string" } } }, "api-service_internal_models_kiosk.ListkioskGetResponse": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/definitions/api-service_internal_models_kiosk.Listkiosk" } }, "message": { "type": "string" }, "meta": { "$ref": "#/definitions/api-service_internal_models.MetaResponse" }, "summary": { "$ref": "#/definitions/api-service_internal_models.AggregateData" } } }, "api-service_internal_models_kiosk.ListkioskUpdateRequest": { "type": "object", "required": [ "id" ], "properties": { "active": { "type": "boolean" }, "ds_sd_location": { "type": "string", "maxLength": 255 }, "fk_ref_healthcare_type_id": { "type": "integer", "minimum": 1 }, "fk_ref_service_type_id": { "type": "integer", "minimum": 1 }, "fk_sd_location_id": { "type": "string" }, "icon": { "type": "string", "maxLength": 20, "minLength": 1 }, "id": { "type": "integer", "minimum": 1 }, "name": { "type": "string", "maxLength": 20, "minLength": 1 }, "url": { "type": "string", "maxLength": 255, "minLength": 1 } } }, "api-service_internal_models_kiosk.ListkioskUpdateResponse": { "type": "object", "properties": { "data": { "$ref": "#/definitions/api-service_internal_models_kiosk.Listkiosk" }, "message": { "type": "string" } } }, "api-service_internal_models_patient.Patient": { "type": "object", "properties": { "active": { "$ref": "#/definitions/sql.NullBool" }, "address": { "$ref": "#/definitions/sql.NullString" }, "birth_date": { "type": "string" }, "ds_sd_kabupaten_kota": { "$ref": "#/definitions/sql.NullString" }, "ds_sd_kecamatan": { "$ref": "#/definitions/sql.NullString" }, "ds_sd_kelurahan": { "$ref": "#/definitions/sql.NullString" }, "ds_sd_provinsi": { "$ref": "#/definitions/sql.NullString" }, "fk_sd_kabupaten_kota_id": { "$ref": "#/definitions/api-service_internal_models.NullableInt32" }, "fk_sd_kecamatan_id": { "$ref": "#/definitions/api-service_internal_models.NullableInt32" }, "fk_sd_kelurahan_id": { "$ref": "#/definitions/api-service_internal_models.NullableInt32" }, "fk_sd_provinsi_id": { "$ref": "#/definitions/api-service_internal_models.NullableInt32" }, "gender": { "$ref": "#/definitions/sql.NullString" }, "id": { "type": "integer" }, "medical_record_number": { "$ref": "#/definitions/sql.NullString" }, "name": { "$ref": "#/definitions/sql.NullString" }, "phone_number": { "$ref": "#/definitions/sql.NullString" } } }, "api-service_internal_models_patient.PatientCreateRequest": { "type": "object", "properties": { "active": { "type": "boolean" }, "address": { "type": "string", "maxLength": 255, "minLength": 1 }, "birth_date": { "type": "string" }, "ds_sd_kabupaten_kota": { "type": "string", "maxLength": 255, "minLength": 1 }, "ds_sd_kecamatan": { "type": "string", "maxLength": 255, "minLength": 1 }, "ds_sd_kelurahan": { "type": "string", "maxLength": 255, "minLength": 1 }, "ds_sd_provinsi": { "type": "string", "maxLength": 255, "minLength": 1 }, "fk_sd_kabupaten_kota_id": { "type": "integer" }, "fk_sd_kecamatan_id": { "type": "integer" }, "fk_sd_kelurahan_id": { "type": "integer" }, "fk_sd_provinsi_id": { "type": "integer" }, "gender": { "type": "string", "maxLength": 1 }, "medical_record_number": { "type": "string", "maxLength": 20, "minLength": 1 }, "name": { "type": "string", "maxLength": 100, "minLength": 1 }, "phone_number": { "type": "string", "maxLength": 20, "minLength": 1 } } }, "api-service_internal_models_patient.PatientCreateResponse": { "type": "object", "properties": { "data": { "$ref": "#/definitions/api-service_internal_models_patient.Patient" }, "message": { "type": "string" } } }, "api-service_internal_models_patient.PatientDeleteResponse": { "type": "object", "properties": { "id": { "type": "string" }, "message": { "type": "string" } } }, "api-service_internal_models_patient.PatientGetResponse": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/definitions/api-service_internal_models_patient.Patient" } }, "message": { "type": "string" }, "meta": { "$ref": "#/definitions/api-service_internal_models.MetaResponse" }, "summary": { "$ref": "#/definitions/api-service_internal_models.AggregateData" } } }, "api-service_internal_models_patient.PatientPostRequest": { "type": "object", "required": [ "id" ], "properties": { "id": { "type": "integer", "minimum": 1 } } }, "api-service_internal_models_patient.PatientUpdateRequest": { "type": "object", "required": [ "id" ], "properties": { "active": { "type": "boolean" }, "address": { "type": "string", "maxLength": 255, "minLength": 1 }, "birth_date": { "type": "string" }, "ds_sd_kabupaten_kota": { "type": "string", "maxLength": 255 }, "ds_sd_kecamatan": { "type": "string", "maxLength": 255 }, "ds_sd_kelurahan": { "type": "string", "maxLength": 255 }, "ds_sd_provinsi": { "type": "string", "maxLength": 255 }, "fk_sd_kabupaten_kota_id": { "type": "integer" }, "fk_sd_kecamatan_id": { "type": "integer" }, "fk_sd_kelurahan_id": { "type": "integer" }, "fk_sd_provinsi_id": { "type": "integer" }, "gender": { "type": "string", "maxLength": 1 }, "id": { "type": "integer", "minimum": 1 }, "medical_record_number": { "type": "string", "maxLength": 20, "minLength": 1 }, "name": { "type": "string", "maxLength": 100, "minLength": 1 }, "phone_number": { "type": "string", "maxLength": 20, "minLength": 1 } } }, "api-service_internal_models_patient.PatientUpdateResponse": { "type": "object", "properties": { "data": { "$ref": "#/definitions/api-service_internal_models_patient.Patient" }, "message": { "type": "string" } } }, "api-service_internal_models_retribusi.Retribusi": { "type": "object", "properties": { "createdAt": { "type": "string" }, "date_created": { "$ref": "#/definitions/sql.NullTime" }, "date_updated": { "$ref": "#/definitions/sql.NullTime" }, "deletedAt": { "$ref": "#/definitions/gorm.DeletedAt" }, "dinas": { "$ref": "#/definitions/sql.NullString" }, "id": { "type": "string" }, "jenis": { "$ref": "#/definitions/sql.NullString" }, "kelompok_obyek": { "$ref": "#/definitions/sql.NullString" }, "kode_tarif": { "$ref": "#/definitions/sql.NullString" }, "pelayanan": { "$ref": "#/definitions/sql.NullString" }, "rekening_denda": { "$ref": "#/definitions/sql.NullString" }, "rekening_pokok": { "$ref": "#/definitions/sql.NullString" }, "satuan": { "$ref": "#/definitions/sql.NullString" }, "satuan_overtime": { "$ref": "#/definitions/sql.NullString" }, "sort": { "$ref": "#/definitions/sql.NullInt32" }, "status": { "type": "string" }, "tarif": { "$ref": "#/definitions/sql.NullString" }, "tarif_overtime": { "$ref": "#/definitions/sql.NullString" }, "updatedAt": { "type": "string" }, "uraian_1": { "$ref": "#/definitions/sql.NullString" }, "uraian_2": { "$ref": "#/definitions/sql.NullString" }, "uraian_3": { "$ref": "#/definitions/sql.NullString" }, "user_created": { "$ref": "#/definitions/sql.NullString" }, "user_updated": { "$ref": "#/definitions/sql.NullString" } } }, "api-service_internal_models_retribusi.RetribusiCreateRequest": { "type": "object", "required": [ "status" ], "properties": { "dinas": { "type": "string", "maxLength": 255, "minLength": 1 }, "jenis": { "type": "string", "maxLength": 255, "minLength": 1 }, "kelompok_obyek": { "type": "string", "maxLength": 255, "minLength": 1 }, "kode_tarif": { "type": "string", "maxLength": 255, "minLength": 1 }, "pelayanan": { "type": "string", "maxLength": 255, "minLength": 1 }, "rekening_denda": { "type": "string", "maxLength": 255, "minLength": 1 }, "rekening_pokok": { "type": "string", "maxLength": 255, "minLength": 1 }, "satuan": { "type": "string", "maxLength": 255, "minLength": 1 }, "satuan_overtime": { "type": "string", "maxLength": 255, "minLength": 1 }, "status": { "type": "string", "enum": [ "draft", "active", "inactive" ] }, "tarif": { "type": "string" }, "tarif_overtime": { "type": "string" }, "uraian_1": { "type": "string" }, "uraian_2": { "type": "string" }, "uraian_3": { "type": "string" } } }, "api-service_internal_models_retribusi.RetribusiCreateResponse": { "type": "object", "properties": { "data": { "$ref": "#/definitions/api-service_internal_models_retribusi.Retribusi" }, "message": { "type": "string" } } }, "api-service_internal_models_retribusi.RetribusiDeleteResponse": { "type": "object", "properties": { "id": { "type": "string" }, "message": { "type": "string" } } }, "api-service_internal_models_retribusi.RetribusiGetByIDResponse": { "type": "object", "properties": { "data": { "$ref": "#/definitions/api-service_internal_models_retribusi.Retribusi" }, "message": { "type": "string" } } }, "api-service_internal_models_retribusi.RetribusiGetResponse": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/definitions/api-service_internal_models_retribusi.Retribusi" } }, "message": { "type": "string" }, "meta": { "$ref": "#/definitions/api-service_internal_models.MetaResponse" }, "summary": { "$ref": "#/definitions/api-service_internal_models.AggregateData" } } }, "api-service_internal_models_retribusi.RetribusiUpdateRequest": { "type": "object", "required": [ "status" ], "properties": { "dinas": { "type": "string", "maxLength": 255, "minLength": 1 }, "jenis": { "type": "string", "maxLength": 255, "minLength": 1 }, "kelompok_obyek": { "type": "string", "maxLength": 255, "minLength": 1 }, "kode_tarif": { "type": "string", "maxLength": 255, "minLength": 1 }, "pelayanan": { "type": "string", "maxLength": 255, "minLength": 1 }, "rekening_denda": { "type": "string", "maxLength": 255, "minLength": 1 }, "rekening_pokok": { "type": "string", "maxLength": 255, "minLength": 1 }, "satuan": { "type": "string", "maxLength": 255, "minLength": 1 }, "satuan_overtime": { "type": "string", "maxLength": 255, "minLength": 1 }, "status": { "type": "string", "enum": [ "draft", "active", "inactive" ] }, "tarif": { "type": "string" }, "tarif_overtime": { "type": "string" }, "uraian_1": { "type": "string" }, "uraian_2": { "type": "string" }, "uraian_3": { "type": "string" } } }, "api-service_internal_models_retribusi.RetribusiUpdateResponse": { "type": "object", "properties": { "data": { "$ref": "#/definitions/api-service_internal_models_retribusi.Retribusi" }, "message": { "type": "string" } } }, "api-service_internal_models_vclaim_peserta.PesertaData": { "type": "object", "properties": { "cob": { "type": "object", "properties": { "nmAsuransi": {}, "noAsuransi": {}, "tglTAT": {}, "tglTMT": {} } }, "hakKelas": { "type": "object", "properties": { "keterangan": { "type": "string" }, "kode": { "type": "string" } } }, "informasi": { "type": "object", "properties": { "dinsos": {}, "eSEP": {}, "noSKTM": {}, "prolanisPRB": { "type": "string" } } }, "jenisPeserta": { "type": "object", "properties": { "keterangan": { "type": "string" }, "kode": { "type": "string" } } }, "mr": { "type": "object", "properties": { "noMR": { "type": "string" }, "noTelepon": { "type": "string" } } }, "nama": { "type": "string" }, "nik": { "type": "string" }, "noKartu": { "type": "string" }, "pisa": { "type": "string" }, "provUmum": { "type": "object", "properties": { "kdProvider": { "type": "string" }, "nmProvider": { "type": "string" } } }, "raw_response": { "type": "string" }, "sex": { "type": "string" }, "statusPeserta": { "type": "object", "properties": { "keterangan": { "type": "string" }, "kode": { "type": "string" } } }, "tglCetakKartu": { "type": "string" }, "tglLahir": { "type": "string" }, "tglTAT": { "type": "string" }, "tglTMT": { "type": "string" }, "umur": { "type": "object", "properties": { "umurSaatPelayanan": { "type": "string" }, "umurSekarang": { "type": "string" } } } } }, "api-service_internal_models_vclaim_peserta.PesertaResponse": { "type": "object", "properties": { "data": { "$ref": "#/definitions/api-service_internal_models_vclaim_peserta.PesertaData" }, "message": { "type": "string" }, "metaData": {}, "request_id": { "type": "string" }, "status": { "type": "string" }, "timestamp": { "type": "string" } } }, "gorm.DeletedAt": { "type": "object", "properties": { "time": { "type": "string" }, "valid": { "description": "Valid is true if Time is not NULL", "type": "boolean" } } }, "sql.NullBool": { "type": "object", "properties": { "bool": { "type": "boolean" }, "valid": { "description": "Valid is true if Bool is not NULL", "type": "boolean" } } }, "sql.NullInt32": { "type": "object", "properties": { "int32": { "type": "integer", "format": "int32" }, "valid": { "description": "Valid is true if Int32 is not NULL", "type": "boolean" } } }, "sql.NullString": { "type": "object", "properties": { "string": { "type": "string" }, "valid": { "description": "Valid is true if String is not NULL", "type": "boolean" } } }, "sql.NullTime": { "type": "object", "properties": { "time": { "type": "string" }, "valid": { "description": "Valid is true if Time is not NULL", "type": "boolean" } } } } }