Get Available Perks
Get tier-based perks available to the member, optionally filtered by property
/members/me/loyalty/entitlements/perksOverview
Returns tier-based perks available to the member based on their current membership tier. Perks are benefits that members receive as part of their tier status, typically at no additional cost.
Unlike offers (which cost points), perks are entitlements that come with membership tiers.
Authentication
Requires a valid Clerk JWT token in the Authorization header.
Query Parameters
propertyIdquerystringProperty document ID to filter perks for a specific property
reservationIdquerystringReservation external ID for in-stay context (UUID from core.reservations.external_reservation_id)
redemptionTypequerystringFilter by redemption type: "direct", "requireApproval", "timelessStay", etc.
includePropertyPerksquerybooleanInclude property-specific perks (default: true)
includeGlobalPerksquerybooleanInclude global perks available everywhere (default: true)
Request
curl -X GET "http://localhost:3000/v1/members/me/loyalty/entitlements/perks?propertyId=abc123xyz&includePropertyPerks=true" \
-H "Authorization: Bearer YOUR_CLERK_JWT"Response
globalPerksarrayrequiredGlobal perks available everywhere
array items
perkIdstringrequiredPerk document ID (public identifier)
namestringrequiredDisplay name of the perk
descriptionstringFull description of what this perk provides
redemptionTypestringrequiredHow perk is redeemed: "direct", "requireApproval", "timelessStay", etc.
minTierLevelnumberrequiredMinimum tier level required to access this perk
heroImageobjectHero image for detailed view
properties
urlstringrequiredImage URL
altstringAlt text for accessibility
widthnumberImage width in pixels
heightnumberImage height in pixels
cardImageobjectCard image for list/grid display
properties
urlstringrequiredImage URL
altstringAlt text for accessibility
howToRedeemstringInstructions for redeeming this perk
isEligiblebooleanrequiredWhether member can currently use this perk
eligibilityReasonstringReason if not eligible (e.g., "Tier too low", "Requires active stay")
sourceTypestringrequiredAlways "global" for global perks
propertyPerksarrayrequiredProperty-specific perks with possible overrides
array items
perkIdstringrequiredPerk document ID (public identifier)
namestringrequiredDisplay name of the perk
descriptionstringFull description of what this perk provides
redemptionTypestringrequiredHow perk is redeemed
minTierLevelnumberrequiredMinimum tier level required
heroImageobjectHero image for detailed view
cardImageobjectCard image for list/grid display
howToRedeemstringInstructions for redeeming this perk
isEligiblebooleanrequiredWhether member can currently use this perk
eligibilityReasonstringReason if not eligible
sourceTypestringrequiredAlways "property" for property perks
propertyIdstringrequiredProperty document ID where this perk is available
propertyNamestringName of the property offering this perk
overriddenNamestringCustom name for this perk at this property (if different)
overriddenDescriptionstringCustom description for this perk at this property (if different)
totalnumberrequiredTotal count of all perks (global + property)
Response
{
"globalPerks": [
{
"perkId": "perk_timeless_stay",
"name": "Timeless Stay",
"description": "Flexible check-in and check-out times to maximize your experience",
"redemptionType": "timelessStay",
"minTierLevel": 2,
"heroImage": {
"url": "https://cdn.journey.com/perks/timeless-stay-hero.jpg",
"alt": "Timeless Stay Hero",
"width": 1200,
"height": 600
},
"cardImage": {
"url": "https://cdn.journey.com/perks/timeless-stay-card.jpg",
"alt": "Timeless Stay"
},
"howToRedeem": "Contact property directly to arrange custom check-in/out times",
"isEligible": true,
"sourceType": "global"
},
{
"perkId": "perk_suite_elevation",
"name": "Suite Elevation",
"description": "Complimentary upgrade to the next available suite category",
"redemptionType": "suiteElevation",
"minTierLevel": 3,
"heroImage": {
"url": "https://cdn.journey.com/perks/suite-elevation-hero.jpg",
"alt": "Suite Elevation Hero"
},
"cardImage": {
"url": "https://cdn.journey.com/perks/suite-elevation-card.jpg",
"alt": "Suite Elevation"
},
"howToRedeem": "Request during booking or at check-in",
"isEligible": false,
"eligibilityReason": "Requires tier level 3 (current: 2)",
"sourceType": "global"
}
],
"propertyPerks": [
{
"perkId": "perk_spa_access",
"name": "Spa Access",
"description": "Complimentary access to spa facilities including sauna, steam room, and relaxation areas",
"redemptionType": "direct",
"minTierLevel": 1,
"cardImage": {
"url": "https://cdn.journey.com/perks/spa-access-card.jpg",
"alt": "Spa Access"
},
"howToRedeem": "Present your room key at spa reception",
"isEligible": true,
"sourceType": "property",
"propertyId": "prop_luxury_resort",
"propertyName": "Luxury Resort & Spa",
"overriddenDescription": "VIP access to our award-winning spa including heated pool, jacuzzi, and meditation garden"
}
],
"total": 3
}Perk Types
Global Perks
- Availability: Available at all participating properties
- Consistency: Same benefits across properties
- Examples: Timeless Stay, Suite Elevation, Priority Service
Property Perks
- Availability: Specific to individual properties
- Customization: May have property-specific names/descriptions
- Examples: Spa access, dining credits, local experiences
Eligibility Factors
Tier Level
- Minimum Required: Each perk specifies minimum tier level
- Current Tier: Checked against member's current tier status
- Upgrade Path: Ineligible perks show what tier is needed
Property Context
- Property Filter: When filtering by property, shows relevant perks
- Reservation Context: Some perks require active stay
- Location: Property perks only available at specific locations
Stay Requirements
- Active Stay: Some perks require current reservation
- Future Stay: Some perks can be used for upcoming reservations
- Check-in Status: Timing may affect availability
Related Endpoints
- Get Member Profile - Check current tier level