Phothalai Golf Booking - CiMSO Integration API (1.0.0)

Download OpenAPI specification:

API Specification for the integration between the Phothalai Golf Booking Website and the CiMSO Restaurant System (On-Premise). Key Functional Requirements covered: - Feature 1.4.2/3.1.3: Real-time Bay Status & Open Time - Feature 1.3.5/1.5.2: VIP Cashcard Status & Discount Calculation - Feature 1.9.2/2.3.2: Loyalty Points Synchronization - Feature 5.1: Cashcard Payment (Balance Check & Deduct) - Optional/Requires Feasibility Confirmation

Get Real-time Status of All Bays

Retrieves the status of all 75 bays to update the Visual Map and Time Countdown Screens. Crucial for determining "openTime" for countdown logic.

Authorizations:
ApiKeyAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

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

(Feature 5.1.2) 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
{
  • "currency": "THB",
  • "currentBalance": 5000
}

Deduct Balance for Payment

(Feature 5.1.3) 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": 3500
}