Phothalai Golf Booking - CiMSO Integration API (1.0.0)

Download OpenAPI specification:

This document outlines the server-to-server integration specification between the Phothalai Golf Booking Backend and the CiMSO Restaurant System. User Flow Diagram

Table Management

Get Real-time Status of All Tables

Retrieves the status of all tables to update the Visual Map on Booking website and Time Countdown Screens. Crucial for determining "openTime" for countdown logic.

Authorizations:
ApiKeyAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Update Table Status

Updates the operational status of a specific table. Used by the Admin Dashboard or external triggers to change a table's state.

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required
tableNumber
string

The unique identifier for the table (e.g., T4-01).

status
string
Enum: "Vacant" "InUse" "Maintenance"

Current operational status of the table.

Responses

Request samples

Content type
application/json
{
  • "tableNumber": "T4-01",
  • "status": "InUse"
}

Response samples

Content type
application/json
{
  • "tableNumber": "T4-01",
  • "status": "InUse",
  • "openTime": "2025-11-07T14:30:00Z"
}

Membership

Get Member Profile and VIP Status

Used during User Profile loading and Checkout to determine VIP Tier (Silver/Gold/Wealth) for discounts and sync Loyalty Points.

Authorizations:
ApiKeyAuth
path Parameters
memberId
required
string

The unique member identifier or Cashcard ID.

Responses

Response samples

Content type
application/json
{
  • "memberId": "MB-123456",
  • "firstName": "John",
  • "lastName": "Doe",
  • "tier": "Gold",
  • "discountPercentage": 10,
  • "loyaltyPoints": 5400
}

Check Cashcard Balance

Verifies if the cashcard has sufficient funds before proceeding to payment.

Authorizations:
ApiKeyAuth
path Parameters
memberId
required
string

Responses

Response samples

Content type
application/json
{
  • "currentBalance": 5000
}

Deduct Balance for Payment

Processes the payment by deducting the specified amount from the member's cashcard.

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required
memberId
required
string

The ID of the member to charge.

amount
required
number <float>

The amount to be deducted.

bookingRefId
required
string

The Booking ID from the website for reconciliation.

Responses

Request samples

Content type
application/json
{
  • "memberId": "string",
  • "amount": 1500,
  • "bookingRefId": "BK-20251107-001"
}

Response samples

Content type
application/json
{
  • "transactionId": "TXN-998877",
  • "status": "Success",
  • "remainingBalance": 35000
}