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

# Retrieve sales data for a specific tour

> Fetches detailed sales data for a specific tour identified by its unique identifier (`tourId`)  or SEO-friendly slug (`tourSlug`). Includes aggregated data for all events within the tour  as well as details for each event.




## OpenAPI

````yaml get /sales/tour
openapi: 3.0.1
info:
  title: TIXY Private Organizer API
  version: 1.0.0
  description: >
    The TIXY Private Organizer API provides endpoints for event organizers to
    manage their events  and handle secure interactions with clients. It
    includes CORS preflight support, event retrieval  by unique ID or slug, and
    integrates with AWS Lambda for custom backend processing.
servers:
  - url: https://private-api.tixyapp.com
security: []
paths:
  /sales/tour:
    get:
      summary: Retrieve sales data for a specific tour
      description: >
        Fetches detailed sales data for a specific tour identified by its unique
        identifier (`tourId`)  or SEO-friendly slug (`tourSlug`). Includes
        aggregated data for all events within the tour  as well as details for
        each event.
      parameters:
        - name: tourId
          in: query
          required: false
          description: >
            The unique identifier for the tour. Must be a 24-character
            hexadecimal string.
          schema:
            type: string
            pattern: ^[a-f0-9]{24}$
        - name: tourSlug
          in: query
          required: false
          description: >
            The SEO-friendly slug for the tour. Accepts alphanumeric characters,
            hyphens, underscores, and periods.
          schema:
            type: string
            pattern: ^[a-zA-Z0-9-_\\.]+$
        - name: from
          in: query
          required: false
          description: >
            The from date in the range of dates for the request. Must be a
            24-character hexadecimal string. **Note:** dates should be in the
            format `YYYY-MM-DD`. If not provided, defaults to the earliest date
            available.
          schema:
            type: string
            pattern: ^\d{4}-\d{2}-\d{2}$
        - name: to
          in: query
          required: false
          description: >
            The end date in the range of dates for the request. Must be a
            24-character hexadecimal string. **Note:** dates should be in the
            format `YYYY-MM-DD`. If not provided, defaults to the current date.
          schema:
            type: string
            pattern: ^\d{4}-\d{2}-\d{2}$
      responses:
        '200':
          description: |
            Successful response containing sales data for the specified tour.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TourSalesReport'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
      security:
        - privateOrganizerApiAuthFunction: []
components:
  schemas:
    TourSalesReport:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the event.
        name:
          type: string
          description: Name of the event.
        slug:
          type: string
          description: Unique identifier for the event.
        vatRate:
          type: string
          description: VAT rate for the event.
        income:
          type: object
          description: Default service charge structure paid by ticket buyers.
          properties:
            nettIncome:
              type: number
              format: float
              description: Net income.
            grossIncome:
              type: number
              format: float
              description: Gross income.
            vatAmount:
              type: number
              format: float
              description: VAT amount.
        commission:
          type: object
          properties:
            amount:
              type: number
              format: float
              description: Commission amount.
            percentage:
              type: number
              format: float
              description: Gross income percentage.
        returns:
          type: object
          properties:
            nettReturns:
              type: number
              format: float
              description: Net returns.
            grossReturns:
              type: number
              format: float
              description: Gross returns.
            returnedTicketsCount:
              type: number
              format: float
              description: Returned tickets count.
            returnedTicketsPercentage:
              type: number
              format: float
              description: Returned tickets percentage.
      required:
        - id
        - name
        - slug
        - income
        - commission
        - returns
  responses:
    BadRequest:
      description: |
        Bad Request. The `id` parameter is invalid or malformed.
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
                description: Error message explaining the issue.
              code:
                type: string
                description: Error code indicating the error.
    Unauthorized:
      description: >
        Unauthorized. The request is not authenticated, or the provided
        credentials are invalid.
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
                description: Error message explaining the unauthorized request.
              code:
                type: string
                description: Error code indicating the reason for the unauthorized status.
    Forbidden:
      description: >
        Forbidden. The request is authenticated but does not have the necessary
        permissions to access the resource.
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
                description: Error message explaining the forbidden request.
              code:
                type: string
                description: Error code indicating the reason for the forbidden status.
    NotFound:
      description: |
        Not Found. No resource was found for the specified `id`.
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
                description: Error message explaining that the resource was not found.
              code:
                type: string
                description: Error code indicating the resource was not found.
    InternalServerError:
      description: >
        Internal Server Error. An unexpected error occurred while processing the
        request.
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
                description: Error message explaining the server issue.
              code:
                type: string
                description: Error code indicating the server error.
  securitySchemes:
    privateOrganizerApiAuthFunction:
      type: http
      scheme: bearer
      description: >
        Custom Bearer token authentication for accessing private organizer
        endpoints.
      x-amazon-apigateway-authtype: custom
      x-amazon-apigateway-authorizer:
        authorizerUri:
          uri:
            Fn::Sub: >-
              arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${organizerApiAuthFunction.Arn}/invocations
        authorizerResultTtlInSeconds: 300
        identitySource: method.request.header.Authorization

````