DragonPass API Developer Platform
v1
  • v2
  • v1
HomepageOfficial SiteContact Us
HomepageOfficial SiteContact Us
API Version
v1
  • v2
  • v1
  1. Membership
  • Implementation Guide
    • Get Started
    • DragonPass Modules
    • Our API Solution
  • Development Guide
    • Authentication
    • Response Format
    • Error Codes
    • Order Synchronization
    • UI Design Guidelines
  • Using the API
    • Search for resources
    • E-pass
      • Issuing, Querying, and Cancelling an E-pass
      • Querying E-pass Usage Orders and Details
      • Utilizing The E-pass
        • Lounge
        • Fast Track
        • Dining
    • Membership
      • Manage Memberships & Entitlements
      • Querying Membership Usage Orders and Details
      • Utilizing DragonPass Membership
        • Lounge
        • Fast Track
        • Dining
  • API reference
    • Authentication
      • Generate Access Token
    • Membership Management
      • Membership Registration
      • Update A Membership
      • Retrieve Membership Information
      • Generate Membership Dynamic QR Codes
    • Entitlement Management
      • Update Membership Entitlements
      • Retrieve Membership Entitlement Information
    • Transport Hubs
      • Retrieve Transport Hub
      • Retrieve Transport Hub Details
    • Resources
      • Retrieve Resource List
        • Retrieve Resources List Under A Specific Transport Hub
      • Search For Resources
        • Retrieve Resource Details
        • List Updated Resources
      • Check Resource Availability
        • Check Prebooking Resource Availability
    • Orders Management
      • Create Orders
        • E-pass
          • Issue An E-pass
            • Create E-pass Order
          • Lounge Prebooking
            • Create E-pass with Prebooking Order - Lounge
            • Create E-pass Prebooking Order - Lounge
          • Fast Track
            • Create E-pass Prebooking Order - Fast Track
            • Create E-pass with Prebooking Order - Fast Track
        • Membership
          • Create Membership Prebooking Order - Fast Track
          • Create Membership Prebooking Order - Lounge
      • Retrieve Order List
        • Retrieve E-pass Order List
        • Retrieve Membership Order List
      • Retrieve Order Details
        • E-pass
          • Retrieve E-pass Details
          • Retrieve E-pass Usage Order Details
        • Membership
          • Retrieve Membership Usage Order Details
      • Cancel Orders
        • Cancel an Order
  1. Membership

Manage Memberships & Entitlements

Manage Membership & Entitlements#

Manage Memberships#

image.png

Register a membership#

→ Use the /memberships endpoint to register a DragonPass membership for your end user.
The header parameters X-Program-ID specifying the associated program, which determines the membership's initial validity period and entitlement settings.
Request
Membership Registration - Request

{
    "clientUserId": "3EF5D065-76F8-4D3E-801A-B329D15F461A",
    "firstName": "DragonPass",
    "lastName": "DragonPass",
    "phoneNumber": "8081966002",
    "callingCode": "44",
    "email": "developer@dragonpass.com",
    "expirationDate": "2028-12-31T23:59:59+00:00"
}
Response
The response returns:
Membership Registration - Response

{
    "code": 0,
    "data": {
        "programId": "1876920048220766208",
        "clientUserId": "3EF5D065-76F8-4D3E-801A-B329D15F461A",
        "membershipId": "8888000066668888",
        "status": 1,
        "registrationDate": "2025-01-31T23:59:59+00:00",
        "expirationDate": "2028-12-31T23:59:59+00:00",
        "entitlements": {
            "moduleExclusiveEntitlements": [
                {
                    "module": 1,
                    "details": {
                        "cardholderExclusiveEntitlements": 1,
                        "guestsExclusiveEntitlements": 1,
                        "sharedEntitlements": 0,
                        "allowedGuestsPerUsage": 1,
                        "maxGuestsNextUse": 1
                    }
                }
            ]
        }
    }
}

Update a membership#

→ Use the /memberships/update endpoint to update membership information.
Currently, the information that can be updated via the API includes:
Membership expiration date
Membership status
Membership Status Update Matrix
From \ To0-Pending Activation1-Active2-Suspended3-Cancelled9-Expired
0-Pending Activation-✅✅✅❌ (Will update automatically)
1-Active❌-✅✅❌ (Will update automatically)
2-Suspended✅✅-✅❌ (Will update automatically)
3-Cancelled❌❌❌-❌
9-Expired❌✅❌✅-
When attempting to activate a membership that has already expired, a new expiration date to be provided. This ensures that the reactivated membership has a valid period of use.
Request
Update A Membership - Request

{
    "membershipId": "8888000066668888",
    "status": 2,
    "expirationDate": "2035-12-31T23:59:59+00:00"
}  
Response
Update A Membership - Response

{
  "code": 0,
  "data": {
    "membershipId": "8888000066668888",
    "status": 1,
    "registrationDate": "2028-12-31T23:59:59+00:00",
    "expirationDate": "2028-12-31T23:59:59+00:00"
  }
}  

Retrieve membership information#

→ Use the /memberships/search endpoint to retrieve membership information.
Request
Retrieve Membership Information - Request

{
    "membershipId": "8888000066668888"
}
Response
Retrieve Membership Information - Response

{
  "code": 0,
  "data": {
    "clientUserId": "3EF5D065-76F8-4D3E-801A-B329D15F461A",
    "programId": "1876920048220766208",
    "membershipId": "8888000066668888",
    "status": 1,
    "registrationDate": "2028-12-31T23:59:59+00:00",
    "expirationDate": "2028-12-31T23:59:59+00:00"
  }
}

Generate membership dynamic QR code#

→ Use the /memberships/qrCodes endpoint to generate membership dynamic QR codes.
In addition to using a fixed membershipId, clients can also choose to generate a dynamic membership QR code and display it in the application for enhanced security.
Request
You can use durationInSeconds to specify the validity period of the QR code, with a maximum duration of 7200 seconds.
Generate Membership Dynamic QR Codes - Request

{
  "membershipId": "8888000066668888",
  "durationInSeconds": 7200
}
Response
Generate Membership Dynamic QR Codes - Response

{
  "code": 0,
  "data": {
    "qrCode": "8886520686",
    "validUntil": 1923263999
  }
}

Manage Entitlement#

image.png

Update membership entitlement#

→ Use the /entitlements/update endpoint to update the membership entitlement.
Request
Use the mandatory fields in the request to specify the entitlements of the change.
Currently, the module supported for entitlement updates via the API includes:
ModuleEnum
Lounge1
Fast Track2
Dining Coupon4
Update Membership Entitlements - Request

Add one cardholder-exclusive entitlement for lounge module to the membership.
1.
Specify membershipId.
2.
Specify the number of entitlements to be added in the quantity field.
3.
Specify the module in the module field, where 1 represents Lounge module.
4.
Set the usageRestriction field to 1 to designate the entitlement as cardholder-exclusive.
{
  "membershipId": "8888000066668888",
  "quantity": 1,
  "module": 1,
  "usageRestriction": 1
}
Add two shared entitlements for Fast Track module to the membership.
1.
Specify membershipId.
2.
Specify the number of entitlements to be added in the quantity field.
3.
Specify the module in the module field, where 4 represents Dining Coupon module.
4.
Set the usageRestriction field to 3 to designate the entitlement as shared.
{
  "membershipId": "8888000066668888",
  "quantity": 2,
  "module": 4,
  "usageRestriction": 3
}
Response
In the response, the entitlement details for each module will be returned as an array.
Update Membership Entitlements - Response

{
  "code": 0,
  "data": {
    "membershipId": "8888000066668888",
    "entitlements": {
      "moduleExclusiveEntitlements": [
        {
          "module": 1,
          "details": {
            "cardholderExclusiveEntitlements": 1,
            "guestsExclusiveEntitlements": 1,
            "sharedEntitlements": 0,
            "allowedGuestsPerUsage": 1,
            "maxGuestsNextUse": 1
          }
        }
      ]
    }
  }
}
Example 1
{
    "moduleExclusiveEntitlements": [
        {
            "module": 1,
            "details": {
                "cardholderExclusiveEntitlements": 1,
                "guestsExclusiveEntitlements": 1,
                "sharedEntitlements": 0,
                "allowedGuestsPerUsage": 1,
                "maxGuestsNextUse": 1
            }
        }
    ]
}
"module": 1 specifies that the current object lists the entitlement details for the lounge module.
"cardholderExclusiveEntitlements": 1 means this current membership has 1 cardholder-exclusive entitlement for the lounge module.
"guestsExclusiveEntitlements": 1 means that this membership has 1 guest-exclusive entitlement for the lounge module.
"sharedEntitlements": 0 means that this membership has no shared entitlements for the lounge module.
"allowedGuestsPerUsage": 1 specifies that, based on program settings, the maximum number of guests allowed per visit for this membership's lounge entitlement is 1.
"maxGuestsNextUse": 1 specifies that, based on the above entitlements data, the cardholder can bring 1 guest on the next lounge visit.
Example 2
{
    "moduleExclusiveEntitlements": [
        {
            "module": 4,
            "details": {
                "cardholderExclusiveEntitlements": -1,
                "guestsExclusiveEntitlements": 0,
                "sharedEntitlements": 0,
                "allowedGuestsPerUsage": 0,
                "maxGuestsNextUse": 0
            }
        }
    ]
}
"module": 3 specifies that the current object lists the entitlement details for the Dining Coupon module.
"cardholderExclusiveEntitlements": -1 means this current membership has unlimited cardholder-exclusive entitlement for the Dining Coupon module.
"guestsExclusiveEntitlements": 0 means that this membership has no guest-exclusive entitlement for the Dining Coupon module.
"sharedEntitlements": 0 means that this membership has no shared entitlements for the Dining Coupon module.
"allowedGuestsPerUsage": 0 specifies that, based on program settings, the maximum number of guests allowed per visit for this membership's dining set meal module entitlement is 0.
"maxGuestsNextUse": 0 specifies that, based on the above entitlements data, the cardholder is not allowed to bring guests when using this module next time.
Example 3
{
    "moduleExclusiveEntitlements": [
        {
            "module": 1,
            "details": {
                "cardholderExclusiveEntitlements": -1,
                "guestsExclusiveEntitlements": 0,
                "sharedEntitlements": -1,
                "allowedGuestsPerUsage": 4,
                "maxGuestsNextUse": 4
            }
        }
    ]
}
The above response indicates that, under this membership, both the cardholder and guests have unlimited entitlements for the lounge module, but the cardholder can only bring a maximum of 4 guests per visit.

Retrieve membership entitlement information#

→ Use the /entitlements/search endpoint to retrieve the membership entitlement information.
Request
Retrieve Membership Entitlement Information - Request

{
    "membershipId": "8888000066668888"
}
Response
Retrieve Membership Entitlement Information - Response

{
    "code": 0,
    "data": {
        "entitlements": {
            "moduleExclusiveEntitlements": [
                {
                    "module": 1,
                    "details": {
                        "cardholderExclusiveEntitlements": 1,
                        "guestsExclusiveEntitlements": 1,
                        "sharedEntitlements": 0,
                        "allowedGuestsPerUsage": 1,
                        "maxGuestsNextUse": 1
                    }
                }
            ]
        }
    }
}
Modified at 2025-04-24 09:22:14
Previous
Dining
Next
Querying Membership Usage Orders and Details