Direction: EPC --> HRMS (Outbound)
Version: 1.1
Date: 14 Jun 2026
Status: Implemented
---
EPC fetches dependant details from HRMS during member registration when the employee record indicates IS_DEP_EXISTS = "Y". The dependant list is returned in the registration response for the front-end to display.
---
Same as Employee Details Fetch -- PING OAuth2.0 Client Credentials with credential type hrms.
| Parameter | Value |
|---|---|
| Token URL | SSM: /platinum-api/{stage}/hrms-ping-token-url |
| Grant Type | client_credentials |
| Auth Header | Basic {base64} from SSM: /platinum-api/{stage}/hrms-ping-auth-basic |
---
GET {baseUrl}/platinum/erp/webservices/rest/DependantDetails/getDependantDetails/?employeeNumber={employeeNumber}&fields={fields}
Authorization: Bearer {access_token}
Accept: application/json
| Parameter | Source | Description |
|---|---|---|
baseUrl |
SSM: /platinum-api/{stage}/hrms-api-base-url |
e.g. https://stgservices.emirates.dev |
employeeNumber |
From Employee Details response | URL-encoded employee number |
fields |
Static | See Fields Requested below |
DEP_PERSON_ID,DEP_CONTACT_TYPE,DEP_FIRST_NAME,DEP_LAST_NAME,DEP_CONTACT_EMAIL_ADDR,DEP_DATE_OF_BIRTH,DEP_MOBILE,STATUS,DEP_CONTACT_STATUS
STATUS is the preferred contact-status column; DEP_CONTACT_STATUS is requested as a fallback for HRMS responses that do not yet populate STATUS (see Field Mapping).
{
"getDependantDetails_Output": {
"OutputParameters": {
"Output": {
"dependantResponse": [
{
"DEP_PERSON_ID": "12345",
"DEP_CONTACT_TYPE": "Wife",
"DEP_FIRST_NAME": "Jane",
"DEP_LAST_NAME": "Doe",
"DEP_CONTACT_EMAIL_ADDR": "jane.doe@example.com",
"DEP_DATE_OF_BIRTH": "1995-05-15",
"DEP_MOBILE": "+971501234567",
"STATUS": "Active",
"DEP_CONTACT_STATUS": "Active"
},
{
"DEP_PERSON_ID": "12346",
"DEP_CONTACT_TYPE": "Son",
"DEP_FIRST_NAME": "Adam",
"DEP_LAST_NAME": "Doe",
"DEP_CONTACT_EMAIL_ADDR": "adam.doe@example.com",
"DEP_DATE_OF_BIRTH": "2010-03-20",
"DEP_MOBILE": "",
"STATUS": "Active",
"DEP_CONTACT_STATUS": "Active"
}
]
}
}
}
}
Returns empty dependantResponse array or null. EPC returns an empty array [].
---
| HRMS Field | EPC Field | Notes |
|---|---|---|
DEP_PERSON_ID |
id |
Dependant person ID (unique) |
DEP_CONTACT_TYPE |
type |
Relationship type (Wife, Son, Daughter, etc.) |
DEP_FIRST_NAME |
name |
First name |
DEP_LAST_NAME |
surname |
Last name |
DEP_CONTACT_EMAIL_ADDR |
email |
Email address. Empty/whitespace normalized to null. |
DEP_DATE_OF_BIRTH |
birthdate |
Date of birth (ISO 8601) |
DEP_MOBILE |
phone |
Mobile number. Empty/whitespace normalized to null. |
STATUS / DEP_CONTACT_STATUS |
contactStatus |
Contact status. STATUS is preferred; falls back to DEP_CONTACT_STATUS when STATUS is missing or an empty string. |
---
| Scenario | HTTP Status | Behavior |
|---|---|---|
| No dependants found | N/A | Return empty array (not an error) |
| HRMS unavailable (503, timeout) | 503 | Retry up to 3 times, then throw |
| 401 Unauthorized | 401 | Clear token cache, retry once |
| HTML response (Weblogic) | N/A | Treat as 503, retry |
---
| Parameter | Value |
|---|---|
| Max Retries | 3 |
| Retry Delay | 5 seconds |
| Request Timeout | 10 seconds |
| 401 Handling | Clear token cache, retry once |
| 503 Handling | Retry with backoff |
---
Called during member registration (register-member handler) when:
emirates.com or danat.comIS_DEP_EXISTS = "Y"The dependant list is returned in the hrmsDependants field of the registration response. Dependants are not auto-created as member records -- the front-end displays them for the user to add individually.
---
| File | Purpose |
|---|---|
src/lib/services/hrms-dependant.service.ts |
Dependant fetch with retry logic |
src/lib/mappers/hrms-dependant.mapper.ts |
Raw response to domain model mapping |
src/lib/entities/hr-integration.ts |
Type definitions (HrmsDependantRaw, HrmsDependant) |
src/modules/member/register-member/handler.ts |
Integration trigger point |
---
| Parameter | Type | Description |
|---|---|---|
/platinum-api/{stage}/hrms-ping-token-url |
String | PING OAuth2.0 token endpoint |
/platinum-api/{stage}/hrms-api-base-url |
String | HRMS API base URL |
/platinum-api/{stage}/hrms-ping-auth-basic |
SecureString | Base64 client credentials for HRMS APIs |