> ## Documentation Index
> Fetch the complete documentation index at: https://docs.seyaha.net/llms.txt
> Use this file to discover all available pages before exploring further.

# List Activities

> Retrieves all activities available to the reseller. Bookable slots are not included on each variation;
use the availability calendar and availability-by-date endpoints to load slots for a variation.




## OpenAPI

````yaml GET /activities
openapi: 3.0.0
info:
  title: Seyaha Reseller API
  description: API endpoints for reseller operations
  version: 1.0.0
servers:
  - url: /api/v1/resellers
    description: Reseller API base URL
security: []
paths:
  /activities:
    get:
      tags:
        - Reseller Activities
      summary: Get all activities for reseller
      description: >
        Retrieves all activities available to the reseller. Bookable slots are
        not included on each variation;

        use the availability calendar and availability-by-date endpoints to load
        slots for a variation.
      parameters:
        - name: currency
          in: query
          schema:
            type: string
            example: USD
        - name: page
          in: query
          schema:
            type: integer
            example: 1
        - name: limit
          in: query
          schema:
            type: integer
            example: 10
        - name: language
          in: query
          schema:
            type: string
            example: en
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: integer
                    example: 1
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Activity'
                  pagination:
                    $ref: '#/components/schemas/Pagination'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/RateLimitExceeded'
        '500':
          $ref: '#/components/responses/ServerError'
      security:
        - apiToken: []
components:
  schemas:
    Activity:
      type: object
      description: >
        Activity payload for reseller list and detail. Variation `pricing`
        values are in the requested `currency`,

        with FX, service fee, and commission applied. The `slots` array is never
        returned here; use the availability endpoints.
      properties:
        _id:
          type: string
          example: 60d21b4667d0d8992e610c85
        activity_type:
          type: object
          properties:
            name:
              type: string
              example: Tour
        activity_title:
          type: string
          example: Desert Safari Adventure
        main_promo_title:
          type: string
          example: Experience the thrill of dune bashing
        short_description:
          type: string
          example: An exciting desert safari experience
        description:
          type: string
          example: Detailed description of the activity...
        address:
          type: string
          example: Dubai Marina
        status:
          type: string
          example: Active
        one_time_activity:
          type: boolean
          example: false
        admin_price_percentage:
          type: number
          nullable: true
        admin_discount_percentage:
          type: number
          nullable: true
        location:
          type: object
          properties:
            country:
              type: object
              properties:
                id:
                  type: string
                  example: 60d21b4667d0d8992e610c83
                name:
                  type: string
                  example: United Arab Emirates
            city:
              type: string
              example: Dubai
            region:
              type: string
              example: Dubai Desert
        categories:
          type: array
          items:
            type: string
          example:
            - Adventure
            - Outdoor
        tags:
          type: array
          items:
            type: string
        media:
          type: array
          items:
            type: object
            properties:
              imageUrl:
                type: string
                example: https://example.com/images/desert-safari.jpg
        partner_details:
          type: object
          properties:
            name:
              type: string
            partner_category:
              type: string
            companyDetails:
              type: object
            profileImage:
              type: string
        currency:
          type: string
          description: Effective currency code used for displayed prices.
          example: USD
        serviceFee:
          type: number
          description: Service fee amount in the effective currency (FX-adjusted).
          example: 12.5
        translation:
          type: object
          additionalProperties: true
          description: Map of language code to translated activity fields.
        variations:
          type: array
          items:
            $ref: '#/components/schemas/ActivityVariation'
    Pagination:
      type: object
      properties:
        pageSize:
          type: integer
          example: 10
        page:
          type: integer
          example: 1
        totalCount:
          type: integer
          example: 50
    ActivityVariation:
      type: object
      description: >
        Variation as returned on reseller activity list/detail. Does not include
        `slots`; load them via availability APIs.
      properties:
        _id:
          type: string
          example: 60d21b4667d0d8992e610c86
        title:
          type: string
          example: Premium Desert Safari
        sort:
          type: number
          example: 1
        language:
          type: array
          items:
            type: string
          example:
            - en
        description:
          type: string
          example: Premium experience with additional services
        availability_type:
          type: string
          enum:
            - START_TIME
            - OPENING_HOURS
          example: START_TIME
        pricing:
          $ref: '#/components/schemas/PublicVariationPricing'
        capacity:
          type: number
          example: 20
        max_no_booking:
          type: number
          example: 10
        duration:
          type: object
          properties:
            hours:
              type: number
              example: 6
            days:
              type: number
              example: 0
        itinerary:
          type: array
          items:
            type: object
            properties:
              title:
                type: string
              description:
                type: string
        includes:
          type: object
          properties:
            transportation_methods:
              type: array
              items:
                type: string
            food:
              type: array
              items:
                type: string
            drinks:
              type: array
              items:
                type: string
            including:
              type: array
              items:
                type: string
            excluding:
              type: array
              items:
                type: string
        instant_confirmation:
          type: boolean
          example: true
        cancellation_policy:
          type: string
          example: 24 hours before
        cut_off_time:
          type: string
          example: 1 day before
        media:
          type: object
          properties:
            imageUrl:
              type: string
        tourGuides:
          type: array
          items:
            type: object
            properties:
              tour_guide_id:
                type: string
              name:
                type: string
        pickup:
          type: object
          properties:
            type:
              type: string
            pick_up_address:
              type: object
              properties:
                address:
                  type: string
                lat:
                  type: number
                lng:
                  type: number
            drop_off_address:
              type: object
              properties:
                address:
                  type: string
                lat:
                  type: number
                lng:
                  type: number
        notes:
          type: string
        external_sync:
          type: object
          properties:
            external_option_id:
              type: string
              nullable: true
    PublicVariationPricing:
      type: object
      properties:
        group_price:
          type: number
          nullable: true
          description: >-
            Present when group pricing applies; unit `pricing` is empty for
            group-priced slots in availability responses.
          example: 450
        discount_percentage:
          type: number
          example: 10
        units:
          type: array
          items:
            $ref: '#/components/schemas/PricingUnit'
    PricingUnit:
      type: object
      properties:
        type:
          type: string
          example: ADULT
        label:
          type: string
          example: Adult
        min_age:
          type: integer
          nullable: true
        max_age:
          type: integer
          nullable: true
        price:
          type: number
          example: 120
  responses:
    Unauthorized:
      description: Unauthorized access
      content:
        application/json:
          schema:
            type: object
            properties:
              success:
                type: integer
                example: 0
              error:
                type: array
                items:
                  type: string
                example:
                  - unauthorized access
              message:
                type: string
                example: unauthorized access
              code:
                type: integer
                example: 401
    RateLimitExceeded:
      description: Rate limit exceeded
      content:
        application/json:
          schema:
            type: object
            properties:
              success:
                type: integer
                example: 0
              error:
                type: array
                items:
                  type: string
                example:
                  - rate limit exceeded
              message:
                type: string
                example: rate limit exceeded
              code:
                type: integer
                example: 429
    ServerError:
      description: Internal server error
      content:
        application/json:
          schema:
            type: object
            properties:
              success:
                type: integer
                example: 0
              error:
                type: array
                items:
                  type: string
                example:
                  - unexpected error
              message:
                type: string
                example: unexpected error
              code:
                type: integer
                example: 500
  securitySchemes:
    apiToken:
      type: apiKey
      in: header
      name: x-api-token

````