Overview
In many Oracle Integration Cloud (OIC) implementations, multiple integrations need to validate whether a given date is a holiday. Instead of maintaining holiday logic separately in every integration, we created a reusable common utility framework.
The solution contains two common services:
- Holiday Lookup Update Service – Updates the Holiday Lookup dynamically using OIC REST API.
- Holiday Validation Service – Accepts a date and validates whether the date exists in the Holiday Lookup and returns Yes/No.
This approach centralizes holiday management and improves reusability across integrations.
Requirement
We needed a common mechanism where:
Holiday dates are maintained centrally in an OIC Lookup.
Holiday lookup values can be updated dynamically without manual UI updates.
Multiple integrations can call a common validation service.
Validation response returns whether the passed date is a holiday.
Solution Architecture
Flow1: Source System / Scheduler
▼
Common Service 1 – Update Holiday Lookup
▼
OIC Lookup (HOLIDAY_LIST)
Flow2: Individual integrations
▼
Common Service 2 – Validate Holiday
▼
Return IsHoliday to caller Integrations
Service 1 – Update Holiday Lookup
Purpose: Updates holiday dates into an OIC Lookup using OIC REST API.
Flow
Trigger
↓
Prepare Holiday Payload
↓
REST Invoke – Update Lookup API
↓
Return Success Response
REST Configuration
Relative Resource URI: /ic/api/integration/v1/projects/{projectId}/lookups/{name}
Method : PUT
Request Payload Enabled ✔ Configure request payload
No response configuration required.
The API supports updating lookup values inside a project using PUT operation.
Oracle Docs:
Sample Request Payload
JSON
{
"name": "HOLIDAY_LIST",
"columns": [
"DATE",
"ISHOLIDAY"
],
"rows": [
{
"rowData": [
"2026-01-01",
"YES"
]
},
{
"rowData": [
"2026-12-25",
"YES"
]
}
]
}
This updates the lookup with holiday dates and flags.
Service 2 – Holiday Validation Common Service
Purpose: Reusable service consumed by other integrations.
Request
JSON
{
"date":"2026-12-25"
}
Validation Logic
Receive Date
↓
Read HOLIDAY_LIST Lookup
↓
Search Matching Date
↓
If Found → YES , Else → NO
Sample Response
Holiday:
JSON
{
"isHoliday":"YES"
}
Non-Holiday:
JSON
{
"isHoliday":"NO"
}
Value check from lookup logic:
<xsl:value-of xml:id="id_43" select='dvm:lookupValue( "Common_HK_Holiday_Lookup", "HKHoliday", /nstrgmpr:execute/ns14:request-wrapper/ns14:Request/ns14:Date, "IsHoliday","NO")'/>
Benefits
- Centralized holiday management
- Reusable across integrations
- No manual lookup maintenance
- Faster onboarding of new integrations
- Cleaner architecture with utility services
























