Skip to main content
Affiliates access the same activity catalog as resellers but through JWT-authenticated endpoints. Pricing is converted to the requested currency with affiliate commission applied.

List activities

GET /api/v1/affiliates/users/activities
This endpoint is rate-limited. Avoid polling — fetch once per user session and cache locally.

Parameters

ParameterTypeDefaultDescription
currencystringUSDISO currency code for pricing
searchstringFull-text search across title and description
pageinteger1Page number
pageSizeinteger10Results per page
curl "https://api.seyaha.net/api/v1/affiliates/users/activities?currency=SAR&search=desert&page=1&pageSize=10" \
  -H "Authorization: Bearer $AFFILIATE_JWT"
Response:
{
  "success": 1,
  "data": [
    {
      "_id": "6744810075becd2ef8c140f7",
      "activity_title": "Desert Safari Adventure",
      "main_promo_title": "Experience dune bashing at sunset",
      "categories": ["Adventure", "Outdoor"],
      "currency": "SAR",
      "admin_discount_percentage": 10,
      "variations": [
        {
          "price": {
            "prices": { "adult": 250, "child": 150, "infant": 80 },
            "discount_percentage": 0
          }
        }
      ]
    }
  ],
  "pagination": { "page": 1, "pageSize": 10, "totalCount": 42 }
}

Get activity by ID

GET /api/v1/affiliates/users/activities/{id}
Returns the full activity with variation schedules, itinerary, inclusions, and pickup details.
curl "https://api.seyaha.net/api/v1/affiliates/users/activities/6744810075becd2ef8c140f7?currency=SAR" \
  -H "Authorization: Bearer $AFFILIATE_JWT"
The detail response includes variation.frequency.weekdays — a map of weekday → time slots → dates → capacity. Use this to render an availability calendar without an extra API call.

Translations

If an activity has been translated, the translation field contains a map of language codes to translated fields:
"translation": {
  "ar": {
    "activity_title": "رحلة السفاري الصحراوية",
    "description": "..."
  }
}
Use the user’s locale to pick the right translation at render time.