📺 Public Display Service

API Endpoints Documentation

📋 Service Information

Service Name: Public Display Service

Port: 8052

Base URL: http://localhost:8052

Description: Handles public display management, panel views, and ticket display for customer-facing screens

Features: Display management, live panel views, multi-panel support, hold/transfer ticket views, Kafka event streaming

📺 Display Management Endpoints
GET /api/display/assigned/count

Get Assigned Display Count

Get the count of assigned displays (for external services)

📝 Request Example:

curl -X GET http://localhost:8052/api/display/assigned/count
200 - Success
POST /api/display/add

Add Display

Create a new public display

📝 Request Example:

curl -X POST http://localhost:8052/api/display/add \ -H "Content-Type: application/json" \ -d '{ "displayName": "Main Display", "agencyId": "550e8400-e29b-41d4-a716-446655440000", "serviceId": "660e8400-e29b-41d4-a716-446655440001", "status": true }'
201 - Created 400 - Bad Request
GET /api/display/getDisplay/{id}

Get Display by ID

Retrieve display details by ID

📝 Request Example:

curl -X GET http://localhost:8052/api/display/getDisplay/{id}
📌 Path Parameters:

id - Display ID (UUID)

200 - Success 404 - Not Found
GET /api/display/getDisplay

Get All Displays

Get all displays with pagination and search

📝 Request Example:

curl -X GET "http://localhost:8052/api/display/getDisplay?page=0&size=10&search=term"
📌 Query Parameters:

page - Page number (default: 0)

size - Page size (default: 10)

search - Search term (optional)

200 - Success
PUT /api/display/update/{id}

Update Display

Update display information

📝 Request Example:

curl -X PUT http://localhost:8052/api/display/update/{id} \ -H "Content-Type: application/json" \ -d '{ ... }'
📌 Path Parameters:

id - Display ID (UUID)

200 - Success 404 - Not Found
PATCH /api/display/status/{displayId}

Change Display Status

Update display active/inactive status

📝 Request Example:

curl -X PATCH http://localhost:8052/api/display/status/{displayId} \ -H "Content-Type: application/json" \ -d '{"status": true}'
📌 Path Parameters:

displayId - Display ID (UUID)

200 - Success 404 - Not Found
🖥️ Public Panel Endpoints
GET /public-display/panel

Get Panel View

Get live panel view for a specific agency and service

📝 Request Example:

curl -X GET "http://localhost:8052/public-display/panel?agencyId={uuid}&serviceId={uuid}"
📌 Query Parameters:

agencyId - Agency ID (required, UUID)

serviceId - Service ID (required, UUID)

200 - Success
GET /public-display/multi-panel

Get Multi-Panel View

Get panel views for multiple services

📝 Request Example:

curl -X GET "http://localhost:8052/public-display/multi-panel?agencyId={uuid}&serviceIds={uuid1},{uuid2},{uuid3}"
📌 Query Parameters:

agencyId - Agency ID (required, UUID)

serviceIds - Comma-separated service IDs (required)

200 - Success
GET /public-display/hold-tickets

Get Hold Tickets

Get tickets that are on hold for a specific agency and service

📝 Request Example:

curl -X GET "http://localhost:8052/public-display/hold-tickets?agencyId={uuid}&serviceId={uuid}"
📌 Query Parameters:

agencyId - Agency ID (required, UUID)

serviceId - Service ID (required, UUID)

200 - Success
GET /public-display/transfer-tickets

Get Transfer Tickets

Get tickets that have been transferred for a specific agency

📝 Request Example:

curl -X GET "http://localhost:8052/public-display/transfer-tickets?agencyId={uuid}"
📌 Query Parameters:

agencyId - Agency ID (required, UUID)

200 - Success