openapi: 3.0.0
servers:
  - url: 'https://app.turitopsandbox.com/v1'
    description: Sandbox environment. Official and only environment to be used for integration and testing purposes.
info:
  version: ApiTuritop3
  title: TuriTop API
  description: Move your app forward with Turitop API
tags:
  - name: Authorization
    description: Module to get API authorization
  - name: Product
    description: Module for managing products
  - name: Categories
    description: Module for managing categories
  - name: Tickets
    description: Module for managing product tickets
  - name: Discount
    description: Module for managing product discount
  - name: Variation
    description: Module for managing product variation
  - name: Booking
    description: Module for managing bookings
  - name: Resell
    description: Module for managing the resell
paths:
  /authorization/grant:
    post:
      tags:
        - Authorization
      summary: Get oauth2 access and refresh tokens (access tokens are valid for 60 minutes and refresh tokens are valid for 60 days)
      responses:
        '200':
          description: Authorization OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/Oauth2token'
                  method:
                    type: string
                    description: Http Method
                    example: POST
                  url:
                    type: string
                    description: Call url
                    example: /v1/authorization/grant
                  timestamp:
                    type: integer
                    description: 'Server time, EPOCH (Unix time or POSIX time or Unix timestamp)'
                    example: 1534759136
                  time_zone:
                    type: string
                    description: Time zone of server
                    example: Europe/Madrid
                  status:
                    type: string
                    description: Response status
                    example: SUCCESS
                  local_time:
                    type: string
                    description: 'Local time for the response (ISO 8601 format)'
                    example: "2023-10-19T13:00:00+0200"
                  request_id:
                    type: string
                    description: 'Unique identifier for the request'
                    example: "caae62f7876a4b878c8d0e9b5c4b259b"
                  code:
                    type: integer
                    description: Response status code
                    example: '200'
                  message:
                    type: string
                    description: Response message
                    example: HTTP OK
                  details:
                    type: string
                    description: Response details
                    example: Authorization grant
                  version:
                    type: string
                    description: Version Turitop App
                    example: 2.60.30
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - short_id
                - secret_key
              properties:
                short_id:
                  type: string
                  description: Company short_id
                  example: T444
                secret_key:
                  type: string
                  description: Company secret key
                  example: mfzOyh=1O3M6T34sd0EA1fC9lyJUAFgSBRxt_1
        description: Authorization
  /authorization/refresh:
    post:
      tags:
        - Authorization
      summary: Generates a new access token when the previous one has expired or is about to expire, using a refresh token valid for up to 60 days
      responses:
        '200':
          description: Refresh authorization
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/Oauth2token'
                  method:
                    type: string
                    description: Http Method
                    example: POST
                  url:
                    type: string
                    description: Call url
                    example: /v1/authorization/refresh
                  timestamp:
                    type: integer
                    description: 'Server time, EPOCH (Unix time or POSIX time or Unix timestamp)'
                    example: 1534759136
                  time_zone:
                    type: string
                    description: Time zone of server
                    example: Europe/Madrid
                  status:
                    type: string
                    description: Response status
                    example: SUCCESS
                  local_time:
                    type: string
                    description: 'Local time for the response (ISO 8601 format)'
                    example: "2023-10-19T13:00:00+0200"
                  request_id:
                    type: string
                    description: 'Unique identifier for the request'
                    example: "caae62f7876a4b878c8d0e9b5c4b259b"
                  code:
                    type: integer
                    description: Response status code
                    example: '200'
                  message:
                    type: string
                    description: Response message
                    example: HTTP OK
                  details:
                    type: string
                    description: Response details
                    example: Refresh access token
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
      requestBody:
        $ref: '#/components/requestBodies/Body'
  /authorization/renew:
    post:
      tags:
        - Authorization
      summary: Renew access and refresh token
      responses:
        '200':
          description: Renew access and refresh token
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/Oauth2token'
                  method:
                    type: string
                    description: Http Method
                    example: POST
                  url:
                    type: string
                    description: Call url
                    example: /v1/authorization/renew
                  timestamp:
                    type: integer
                    description: 'Server time, EPOCH (Unix time or POSIX time or Unix timestamp)'
                    example: 1534759136
                  time_zone:
                    type: string
                    description: Time zone of server
                    example: Europe/Madrid
                  status:
                    type: string
                    description: Response status
                    example: SUCCESS
                  local_time:
                    type: string
                    description: 'Local time for the response (ISO 8601 format)'
                    example: "2023-10-19T13:00:00+0200"
                  request_id:
                    type: string
                    description: 'Unique identifier for the request'
                    example: "caae62f7876a4b878c8d0e9b5c4b259b"
                  code:
                    type: integer
                    description: Response status code
                    example: '200'
                  message:
                    type: string
                    description: Response message
                    example: HTTP OK
                  details:
                    type: string
                    description: Response details
                    example: Renew refresh token
                  version:
                    type: string
                    description: Version Turitop App
                    example: 2.60.30
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
      requestBody:
        $ref: '#/components/requestBodies/Body'
  /authorization/revoke:
    post:
      tags:
        - Authorization
      summary: This action revoke (invalidates) access and refresh tokens
      responses:
        '200':
          description: Revoke authorization
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
      requestBody:
        $ref: '#/components/requestBodies/Body'
  /product/getsuppliers:
    post:
      tags:
        - Product
      summary: Get company suppliers
      responses:
        '200':
          description: Request OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      suppliers:
                        type: array
                        items:
                          type: object
                          properties:
                            supplier_company_short_id:
                              type: string
                              description: Supplier short_id
                              example: T000
                            supplier_company_name:
                              type: string
                              description: Supplier name
                              example: Company test name
                  method:
                    type: string
                    description: Http Method
                    example: POST
                  url:
                    type: string
                    description: Call url
                  timestamp:
                    type: integer
                    description: 'Server time, EPOCH (Unix time or POSIX time or Unix timestamp)'
                  time_zone:
                    type: integer
                    description: Time zone of server
                  status:
                    type: string
                    description: Response status
                  request_id:
                    type: string
                    description: 'Unique identifier for the request'
                    example: "caae62f7876a4b878c8d0e9b5c4b259b"
                  code:
                    type: integer
                    description: Response status code
                  message:
                    type: string
                    description: Response message
                  details:
                    type: string
                    description: Response details
                  version:
                    type: string
                    description: Version Turitop App
                    example: 2.60.30
        '400':
          description: Request Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - access_token
              properties:
                access_token:
                  type: string
                  description: Access token
                  example: ttJhbGciJzaXQASDCJ222XAiOiJTV1QifQ==.ttJpYXQiOjE1MjgyODg4N4TESTAsdeasdQ0NCIsImFjY2Vzc19I6IjgxLjQ1LjEyOS43OSIsInR5cGUiOiJyZWZyZXNoIn0=.722332aasd793123395856b2c820e2323d0974c082a7c6a9d2df5bf8b73f5
        description: Products request
  /product/getproducts:
    post:
      tags:
        - Product
      summary: Get all company products
      responses:
        '200':
          description: Request OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      products:
                        type: array
                        items:
                          $ref: '#/components/schemas/Product'
                  method:
                    type: string
                    description: Http Method
                    example: POST
                  url:
                    type: string
                    description: Call url
                  timestamp:
                    type: integer
                    description: 'Server time, EPOCH (Unix time or POSIX time or Unix timestamp)'
                  time_zone:
                    type: integer
                    description: Time zone of server
                  status:
                    type: string
                    description: Response status
                  request_id:
                    type: string
                    description: 'Unique identifier for the request'
                    example: "caae62f7876a4b878c8d0e9b5c4b259b"
                  code:
                    type: integer
                    description: Response status code
                  message:
                    type: string
                    description: Response message
                  details:
                    type: string
                    description: Response details
                  version:
                    type: string
                    description: Version Turitop App
                    example: 2.60.30
        '400':
          description: Request Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - access_token
              properties:
                access_token:
                  type: string
                  description: Access token
                  example: ttJhbGciJzaXQASDCJ222XAiOiJTV1QifQ==.ttJpYXQiOjE1MjgyODg4N4TESTAsdeasdQ0NCIsImFjY2Vzc19I6IjgxLjQ1LjEyOS43OSIsInR5cGUiOiJyZWZyZXNoIn0=.722332aasd793123395856b2c820e2323d0974c082a7c6a9d2df5bf8b73f5
                data:
                  type: object
                  properties:
                    language_code:
                      type: string
                      description: |
                        ISO 639-1. Standard nomenclature used to classify languages <br>
                        This is the preferred language. If translation is not found, it will return value in original language
                      example: en
                    supplier_company_short_id:
                      type: string
                      description: Get products from other companies that you are reselling. <br> **Note:** Do NOT add this parameter to get your own products, just make the call without this parameter
                      example: T000
                    product_short_id:
                      type: string
                      description: Get product by short id.
                      example: P1
        description: Products request
  /product/tour/getevents:
    post:
      tags:
        - Product
      summary: Get events of a tour
      responses:
        '200':
          description: Request OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      product_short_id:
                        type: string
                        description: Product short id
                        example: P1
                      datetime_format:
                        type: string
                        description: Product date time format
                        example: 'd-m-Y H:i'
                      time_zone:
                        type: string
                        description: Product time zone
                        example: Europe/Madrid
                      events:
                        type: array
                        items:
                          $ref: '#/components/schemas/Event'
                  method:
                    type: string
                    description: Http Method
                    example: POST
                  url:
                    type: string
                    description: Call url
                    example: /product/tour/getevents
                  timestamp:
                    type: integer
                    description: 'Server time, EPOCH (Unix time or POSIX time or Unix timestamp)'
                    example: 1535467592
                  time_zone:
                    type: integer
                    description: Time zone of server
                    example: Europe/Madrid
                  status:
                    type: string
                    description: Response status
                    example: SUCCESS
                  local_time:
                    type: string
                    description: 'Local time for the response (ISO 8601 format)'
                    example: "2023-10-19T13:00:00+0200"
                  request_id:
                    type: string
                    description: 'Unique identifier for the request'
                    example: "caae62f7876a4b878c8d0e9b5c4b259b"
                  code:
                    type: integer
                    description: Response status code
                    example: '200'
                  message:
                    type: string
                    description: Response message
                    example: HTTP OK
                  details:
                    type: string
                    description: Response details
                    example: List of all events
                  version:
                    type: string
                    description: Version Turitop App
                    example: 2.60.30
        '400':
          description: Request Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - access_token
                - data
              properties:
                access_token:
                  type: string
                  description: Access token
                  example: ttJhbGciJzaXQASDCJ222XAiOiJTV1QifQ==.ttJpYXQiOjE1MjgyODg4N4TESTAsdeasdQ0NCIsImFjY2Vzc19I6IjgxLjQ1LjEyOS43OSIsInR5cGUiOiJyZWZyZXNoIn0=.722332aasd793123395856b2c820e2323d0974c082a7c6a9d2df5bf8b73f5
                data:
                  type: object
                  required:
                    - product_short_id
                    - start_date
                    - end_date
                  properties:
                    product_short_id:
                      type: string
                      example: P1
                    start_date:
                      type: integer
                      description: EPOCH (Unix time or POSIX time or Unix timestamp)
                      example: 1602590400
                    end_date:
                      type: integer
                      description: EPOCH (Unix time or POSIX time or Unix timestamp)
                      example: 1602615600
                    language_code:
                      type: string
                      description: |
                        ISO 639-1. Standard nomenclature used to classify languages <br>
                        This is the preferred language. If translation is not found, it will return value in original language
                      example: en
        description: Events
  /product/tour/getavailable:
    post:
      tags:
        - Product
      summary: Get available for tour products
      responses:
        '200':
          description: Request OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      product_short_id:
                        type: string
                        description: Product short id
                        example: P1
                      datetime_format:
                        type: string
                        description: Product date time format
                        example: 'd-m-Y H:i'
                      currency:
                        type: string
                        description: Product currency
                        example: EUR
                      time_zone:
                        type: string
                        description: Product time zone
                        example: Europe/Madrid
                      max_seats_buy:
                        type: integer
                        description: |
                          Max seat for booking:
                            * if 0 not exist max seat for booking
                        example: 0
                      events:
                        type: array
                        items:
                          $ref: '#/components/schemas/AvailableEvent'
                      cutoff:
                        type: number
                        description: Limit, in seconds from now, that defines the minimum selectable date in the datepicker
                        example: 7200
                      total_prices_full:
                        type: number
                        description: Total price without discount
                        example:  34.979999999999997
                      total_prices:
                        type: number
                        description: Total price with discount
                        example:  34.979999999999997
                      total_prices_full_clean:
                        type: string
                        description: Total price without discount formatted as string to avoid floating-point precision issues
                        example:  "34.98"
                      total_prices_clean:
                        type: string
                        description: Total price with discount formatted as string to avoid floating-point precision issues
                        example:  "34.98"

                  method:
                    type: string
                    description: Http Method
                    example: POST
                  url:
                    type: string
                    description: Call url
                    example: /v1/product/tour/getavailable
                  timestamp:
                    type: integer
                    description: 'Server time, EPOCH (Unix time or POSIX time or Unix timestamp)'
                    example: 1535468836
                  time_zone:
                    type: integer
                    description: Time zone of server
                    example: Europe/Madrid
                  status:
                    type: string
                    description: Response status
                    example: SUCCESS
                  local_time:
                    type: string
                    description: 'Local time for the response (ISO 8601 format)'
                    example: "2023-10-19T13:00:00+0200"
                  request_id:
                    type: string
                    description: 'Unique identifier for the request'
                    example: "caae62f7876a4b878c8d0e9b5c4b259b"
                  code:
                    type: integer
                    description: Response status code
                    example: '200'
                  message:
                    type: string
                    description: Response message
                    example: HTTP OK
                  details:
                    type: string
                    description: Response details
                    example: Available
                  version:
                    type: string
                    description: Version Turitop App
                    example: 2.60.30
        '400':
          description: Request Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - access_token
                - data
              properties:
                access_token:
                  type: string
                  description: Access token
                  example: ttJhbGciJzaXQASDCJ222XAiOiJTV1QifQ==.ttJpYXQiOjE1MjgyODg4N4TESTAsdeasdQ0NCIsImFjY2Vzc19I6IjgxLjQ1LjEyOS43OSIsInR5cGUiOiJyZWZyZXNoIn0=.722332aasd793123395856b2c820e2323d0974c082a7c6a9d2df5bf8b73f5
                data:
                  type: object
                  required:
                    - product_short_id
                    - start_date
                    - end_date
                  properties:
                    product_short_id:
                      type: string
                      example: P1
                    start_date:
                      type: integer
                      description: EPOCH (Unix time or POSIX time or Unix timestamp)
                      example: 1602590400
                    end_date:
                      type: integer
                      description: EPOCH (Unix time or POSIX time or Unix timestamp)
                      example: 1602615600
                    language_code:
                      type: string
                      description: |
                        ISO 639-1. Standard nomenclature used to classify languages <br>
                        This is the preferred language. If translation is not found, it will return value in original language
                      example: en
                    ticket_type_count:
                      $ref: '#/components/schemas/TicketCount'
                      description: Returns the availability and prices for each ticket
                    gift_certificate:
                      type: boolean
                      description: Return prices and availability for a gift voucher
                    show_ticket_prices:
                      type: boolean
                      description: Return all ticket prices
                    promo_code:
                      type: string
                      description: Applies the promocode to the prices returned. Must be used along ticket_type_count
        description: Available tour
  /product/open/getavailable:
    post:
      tags:
        - Product
      summary: Get available for open products
      responses:
        '200':
          description: Request OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      product_short_id:
                        type: string
                        description: Product short id
                        example: P3
                      datetime_format:
                        type: string
                        description: Product date time format
                        example: 'd-m-Y H:i'
                      timezone:
                        type: string
                        description: Product time zone
                        example: Europe/Madrid
                      max_seats_buy:
                        type: integer
                        description: |
                          Max seat for booking:
                            * if 0 not exist max seat for booking
                        example: 0
                      tickets_available:
                        type: object
                        description: List of ticket available
                        properties:
                          indentifier_ticket:
                            type: object
                            required:
                              - name
                              - available
                            properties:
                              name:
                                type: string
                                description: Ticket name
                              available:
                                type: integer
                                description: Max ticket available for event
                        example:
                          '23432':
                            name: Child
                            available: 30
                          '23452':
                            name: Adult
                            available: 30
                  method:
                    type: string
                    description: Http Method
                    example: POST
                  url:
                    type: string
                    description: Call url
                    example: /v1/product/open/getavailable
                  timestamp:
                    type: integer
                    description: 'Server time, EPOCH (Unix time or POSIX time or Unix timestamp)'
                    example: 1535470059
                  time_zone:
                    type: integer
                    description: Time zone of server
                    example: Europe/Madrid
                  status:
                    type: string
                    description: Response status
                    example: SUCCESS
                  local_time:
                    type: string
                    description: 'Local time for the response (ISO 8601 format)'
                    example: "2023-10-19T13:00:00+0200"
                  request_id:
                    type: string
                    description: 'Unique identifier for the request'
                    example: "caae62f7876a4b878c8d0e9b5c4b259b"
                  code:
                    type: integer
                    description: Response status code
                    example: '200'
                  message:
                    type: string
                    description: Response message
                    example: HTTP OK
                  details:
                    type: string
                    description: Response details
                    example: Available
                  version:
                    type: string
                    description: Version Turitop App
                    example: 2.60.30
        '400':
          description: Request Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - access_token
                - data
              properties:
                access_token:
                  type: string
                  description: Access token
                  example: ttJhbGciJzaXQASDCJ222XAiOiJTV1QifQ==.ttJpYXQiOjE1MjgyODg4N4TESTAsdeasdQ0NCIsImFjY2Vzc19I6IjgxLjQ1LjEyOS43OSIsInR5cGUiOiJyZWZyZXNoIn0=.722332aasd793123395856b2c820e2323d0974c082a7c6a9d2df5bf8b73f5
                data:
                  type: object
                  required:
                    - product_short_id
                    - start_date
                    - end_date
                  properties:
                    product_short_id:
                      type: string
                      example: P3
                    language_code:
                      type: string
                      description: |
                        ISO 639-1. Standard nomenclature used to classify languages <br>
                        This is the preferred language. If translation is not found, it will return value in original language
                      example: en
        description: Available open
  /product/transfer/gethotels:
    post:
      tags:
        - Product
      summary: Get transfer hotels available for a product
      responses:
        '200':
          description: Request OK
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                properties:
                  data:
                    type: object
                    required:
                      - transfer
                    properties:
                      transfer:
                        type: object
                        required:
                          - required
                          - hotels
                        properties:
                          required:
                            type: boolean
                            description: Transfer hotel is required
                            example: '0'
                          hotels:
                            type: array
                            items:
                              type: object
                              description: Array with transfer hotels
                              required:
                                - code
                                - name
                                - pickup_time_before_event
                              properties:
                                code:
                                  type: integer
                                  description: Code for transfer hotel
                                name:
                                  type: string
                                  description: Name for transfer hotel
                                pickup_time_before_event:
                                  type: integer
                                  description: Pick-up time, second before the event time
                                transfer_exception:
                                  type: array
                                  items:
                                    type: object
                                    description: Array with transfer point exception
                                    required:
                                      - time
                                      - pickup_time_before_event
                                    properties:
                                      time:
                                        type: integer
                                        description: Event time, in EPOCH (Unix time or POSIX time or Unix timestamp)
                                      pickup_time_before_event:
                                        type: integer
                                        description: Pick-up time, seconds before the event time
                            example:
                              - code: 17314
                                name: Hotel A
                                pickup_time_before_event: 2700
                                transfer_exception:
                                - time: 1538125200
                                  pickup_time_before_event: 3600
                              - code: 17367
                                name: Hotel B
                                pickup_time_before_event: 3000
                  method:
                    type: string
                    description: Http Method
                    example: POST
                  url:
                    type: string
                    description: Call url
                    example: /v1/product/transfer/gethotels
                  timestamp:
                    type: integer
                    description: 'Server time, EPOCH (Unix time or POSIX time or Unix timestamp)'
                    example: 1535531804
                  time_zone:
                    type: integer
                    description: Time zone of server
                    example: Europe/Madrid
                  status:
                    type: string
                    description: Response status
                    example: SUCCESS
                  local_time:
                    type: string
                    description: 'Local time for the response (ISO 8601 format)'
                    example: "2023-10-19T13:00:00+0200"
                  request_id:
                    type: string
                    description: 'Unique identifier for the request'
                    example: "caae62f7876a4b878c8d0e9b5c4b259b"
                  code:
                    type: integer
                    description: Response status code
                    example: '200'
                  message:
                    type: string
                    description: Response message
                    example: HTTP OK
                  details:
                    type: string
                    description: Response details
                    example: Product transfer
                  version:
                    type: string
                    description: Version Turitop App
                    example: 2.60.30
        '400':
          description: Request Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - access_token
                - data
              properties:
                access_token:
                  type: string
                  description: Access token
                  example: ttJhbGciJzaXQASDCJ222XAiOiJTV1QifQ==.ttJpYXQiOjE1MjgyODg4N4TESTAsdeasdQ0NCIsImFjY2Vzc19I6IjgxLjQ1LjEyOS43OSIsInR5cGUiOiJyZWZyZXNoIn0=.722332aasd793123395856b2c820e2323d0974c082a7c6a9d2df5bf8b73f5
                data:
                  type: object
                  required:
                    - product_short_id
                  properties:
                    product_short_id:
                      type: string
                      example: P4
                    coordinates:
                      type: string
                      description: Latitude and longitude used to automatically determine the nearest hotel
                      example: 28.076666468635835, -16.556838224925382
        description: Availabe transfer
  /product/transfer/getpickuppoints:
    post:
      tags:
        - Product
      summary: Get transfer pick-up points available for a product
      responses:
        '200':
          description: Request OK
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                properties:
                  data:
                    type: object
                    required:
                      - transfer
                    properties:
                      transfer:
                        type: object
                        required:
                          - activated
                          - required
                        properties:
                          activated:
                            type: boolean
                            description: Transfer is activated
                            example: '0'
                          required:
                            type: boolean
                            description: Transfer is required
                            example: '0'
                          pick_up_points:
                            type: array
                            description: Array with transfer pick-up points
                            items:
                              type: object
                              description: Pick-up point data
                              required:
                                - code
                                - name
                              properties:
                                code:
                                  type: string
                                  description: Code of pick-up point
                                  example: 23147
                                name:
                                  type: string
                                  description: Name of pick-up point
                                  example: 'Blue point'
                                blacklist:
                                  type: array
                                  description: Array with pick-up point exception
                                  items:
                                    type: object
                                    description: Pick-up point exception data
                                    properties:
                                      weekdays:
                                        type: array
                                        description: Days of week where the exception applies (1-7)
                                        items:
                                          type: string
                                      hours:
                                        type: array
                                        description: Optional list of specific hours for the exception (HH:mm)
                                        items:
                                          type: string
                                      date_start:
                                        type: string
                                        description: Start date in EPOCH format
                                      date_end:
                                        type: string
                                        description: End date in EPOCH format
                                  example:
                                    - weekdays:
                                        - "1"
                                        - "5"
                                        - "7"
                                      date_start: ""
                                      date_end: ""
                                    - weekdays:
                                        - "3"
                                        - "5"
                                      hours:
                                        - "01:00"
                                      date_start: "1773702000"
                                      date_end: "1774306799"
                                hotels:
                                  type: array
                                  description: Array with hotels by pick up point
                                  items:
                                    type: object
                                    description: Hotel data
                                    required:
                                      - code
                                      - name
                                    properties:
                                      code:
                                        type: string
                                        description: Code of hotel
                                        example: 545875
                                      name:
                                        type: string
                                        description: Name of hotel
                                        example: 'Blue hotel'
                                      pickup_time_before_event:
                                        type: integer
                                        description: Pick-up time, seconds before the event time
                                        example: 1020
                                      transfer_exception:
                                        type: array
                                        items:
                                          type: object
                                          description: Array with transfer point exception
                                          required:
                                            - time
                                            - pickup_time_before_event
                                          properties:
                                            time:
                                              type: integer
                                              description: Event time, in EPOCH (Unix time or POSIX time or Unix timestamp)
                                              example: 1538125200
                                            pickup_time_before_event:
                                              type: integer
                                              description: Pick-up time, seconds before the event time
                                              example: 3600
                  method:
                    type: string
                    description: Http Method
                    example: POST
                  url:
                    type: string
                    description: Call url
                    example: /v1/product/transfer/getpickuppoints
                  timestamp:
                    type: integer
                    description: 'Server time, EPOCH (Unix time or POSIX time or Unix timestamp)'
                    example: 1535531804
                  time_zone:
                    type: integer
                    description: Time zone of server
                    example: Europe/Madrid
                  status:
                    type: string
                    description: Response status
                    example: SUCCESS
                  local_time:
                    type: string
                    description: 'Local time for the response (ISO 8601 format)'
                    example: "2023-10-19T13:00:00+0200"
                  request_id:
                    type: string
                    description: 'Unique identifier for the request'
                    example: "caae62f7876a4b878c8d0e9b5c4b259b"
                  code:
                    type: integer
                    description: Response status code
                    example: '200'
                  message:
                    type: string
                    description: Response message
                    example: HTTP OK
                  details:
                    type: string
                    description: Response details
                    example: Product pick up points
                  version:
                    type: string
                    description: Version Turitop App
                    example: 2.60.30
        '400':
          description: Request Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - access_token
                - data
              properties:
                access_token:
                  type: string
                  description: Access token
                  example: ttJhbGciJzaXQASDCJ222XAiOiJTV1QifQ==.ttJpYXQiOjE1MjgyODg4N4TESTAsdeasdQ0NCIsImFjY2Vzc19I6IjgxLjQ1LjEyOS43OSIsInR5cGUiOiJyZWZyZXNoIn0=.722332aasd793123395856b2c820e2323d0974c082a7c6a9d2df5bf8b73f5
                data:
                  type: object
                  required:
                    - product_short_id
                  properties:
                    product_short_id:
                      type: string
                      example: P1
                    coordinates:
                      type: string
                      description: Latitude and longitude used to automatically determine the nearest pickup point
                      example: 28.076666468635835, -16.556838224925382
        description: Availabe Pick-up points by product
  /product/transfer/gethotelsbyevent:
    post:
      tags:
        - Product
      summary: Get transfer hotels available for a product
      responses:
        '200':
          description: Request OK
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                properties:
                  data:
                    type: object
                    required:
                      - transfer
                    properties:
                      transfer:
                        type: object
                        required:
                          - required
                          - hotels
                        properties:
                          required:
                            type: boolean
                            description: Transfer hotel is required
                            example: '0'
                          hotels:
                            type: array
                            items:
                              type: object
                              required:
                                - code
                                - name
                                - pickup_time
                              description: Array with transfer hotels
                              properties:
                                code:
                                  type: integer
                                  description: Code for transfer hotel
                                name:
                                  type: string
                                  description: Name for transfer hotel
                                pickup_time:
                                  type: integer
                                  description: Pick-up time, in EPOCH (Unix time or POSIX time or Unix timestamp)
                            example:
                              - code: 17314
                                name: Hotel A
                                pickup_time: 1518596100
                              - code: 17367
                                name: Hotel B
                                pickup_time: 1518597000
                  method:
                    type: string
                    description: Http Method
                    example: POST
                  url:
                    type: string
                    description: Call url
                    example: /v1/product/transfer/gethotelsbyevent
                  timestamp:
                    type: integer
                    description: 'Server time, EPOCH (Unix time or POSIX time or Unix timestamp)'
                    example: 1535531804
                  time_zone:
                    type: integer
                    description: Time zone of server
                    example: Europe/Madrid
                  status:
                    type: string
                    description: Response status
                    example: SUCCESS
                  local_time:
                    type: string
                    description: 'Local time for the response (ISO 8601 format)'
                    example: "2023-10-19T13:00:00+0200"
                  request_id:
                    type: string
                    description: 'Unique identifier for the request'
                    example: "caae62f7876a4b878c8d0e9b5c4b259b"
                  code:
                    type: integer
                    description: Response status code
                    example: '200'
                  message:
                    type: string
                    description: Response message
                    example: HTTP OK
                  details:
                    type: string
                    description: Response details
                    example: Product transfer
                  version:
                    type: string
                    description: Version Turitop App
                    example: 2.60.30
        '400':
          description: Request Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - access_token
                - data
              properties:
                access_token:
                  type: string
                  description: Access token
                  example: ttJhbGciJzaXQASDCJ222XAiOiJTV1QifQ==.ttJpYXQiOjE1MjgyODg4N4TESTAsdeasdQ0NCIsImFjY2Vzc19I6IjgxLjQ1LjEyOS43OSIsInR5cGUiOiJyZWZyZXNoIn0=.722332aasd793123395856b2c820e2323d0974c082a7c6a9d2df5bf8b73f5
                data:
                  type: object
                  required:
                    - product_short_id
                    - date_event
                  properties:
                    product_short_id:
                      type: string
                      example: P4
                    date_event:
                      type: integer
                      description: Event time, in EPOCH (Unix time or POSIX time or Unix timestamp)
                      example: 1518598800
                    coordinates:
                      type: string
                      description: Latitude and longitude used to automatically determine the nearest hotel
                      example: 28.076666468635835, -16.556838224925382
        description: Availabe transfer by event time
  /product/getclientform:
    post:
      tags:
        - Product
      summary: Get client form for product
      responses:
        '200':
          description: Request OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      product_short_id:
                        type: string
                        description: Product short id
                        example: P1
                      language_code:
                        type: string
                        description: |
                          ISO 639-1. Standard nomenclature used to classify languages <br>
                          This is the preferred language. If translation is not found, it will return value in original language
                        example: es
                      client_form:
                        type: array
                        items:
                          type: object
                          properties:
                            key:
                              type: string
                              description: Field identifier
                            name:
                              type: string
                              description: Field display name or description
                            required:
                              type: boolean
                              description: Whether the field is mandatory
                            html_base64:
                              type: string
                              description: HTML content for the field encoded in base64, only for custom fields
                          required:
                            - key
                            - name
                            - required
                        description:
                          List of fields for booking form
                        example:
                          - key: "custom"
                            name: "Lugar de recogida\n\n\nTour desde el puerto - 9:45\nTour desde tu hotel - 10:00\nTour desde la estación de trenes - 10:20\n"
                            required: true
                            html_base64: "THVnYXIgZGUgcmVjb2dpZGE8YnI+CjxzZWxlY3Q+CjxvcHRpb24gdmFsdWU9Jyc+PC9vcHRpb24+CjxvcHRpb24gdmFsdWU9J1RvdXIgZGVzZGUgZWwgcHVlcnRvIC0gOTo0NSc+VG91ciBkZXNkZSBlbCBwdWVydG8gLSA5OjQ1PC9vcHRpb24+CjxvcHRpb24gdmFsdWU9J1RvdXIgZGVzZGUgdHUgaG90ZWwgLSAxMDowMCc+VG91ciBkZXNkZSB0dSBob3RlbCAtIDEwOjAwPC9vcHRpb24+CjxvcHRpb24gdmFsdWU9J1RvdXIgZGVzZGUgbGEgZXN0YWNpw7NuIGRlIHRyZW5lcyAtIDEwOjIwJz5Ub3VyIGRlc2RlIGxhIGVzdGFjacOzbiBkZSB0cmVuZXMgLSAxMDoyMDwvb3B0aW9uPgo8L3NlbGVjdD4="
                          
                  method:
                    type: string
                    description: Http Method
                    example: POST
                  url:
                    type: string
                    description: Call url
                    example: /v1/product/getclientform
                  timestamp:
                    type: integer
                    description: 'Server time, EPOCH (Unix time or POSIX time or Unix timestamp)'
                    example: 1535533331
                  time_zone:
                    type: integer
                    description: Time zone of server
                    example: Europe/Madrid
                  status:
                    type: string
                    description: Response status
                    example: SUCCESS
                  local_time:
                    type: string
                    description: 'Local time for the response (ISO 8601 format)'
                    example: "2023-10-19T13:00:00+0200"
                  request_id:
                    type: string
                    description: 'Unique identifier for the request'
                    example: "caae62f7876a4b878c8d0e9b5c4b259b"
                  code:
                    type: integer
                    description: Response status code
                    example: '200'
                  message:
                    type: string
                    description: Response message
                    example: HTTP OK
                  details:
                    type: string
                    description: Response details
                    example: Client form
                  version:
                    type: string
                    description: Version Turitop App
                    example: 2.60.30
        '400':
          description: Request Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - access_token
                - data
              properties:
                access_token:
                  type: string
                  description: Access token
                data:
                  type: object
                  required:
                    - product_short_id
                  properties:
                    product_short_id:
                      type: string
                      example: P1
                    language_code:
                      type: string
                      description: |
                        ISO 639-1. Standard nomenclature used to classify languages <br>
                        This is the preferred language. If translation is not found, it will return value in original language
                      example: en
        description: Client form
  /product/getpaymentgateways:
    post:
      tags:
        - Product
      summary: Get payment gateways for a product
      responses:
        '200':
          description: Request OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      payment_gateways:
                        type: array
                        items:
                          $ref: '#/components/schemas/PaymentGateways'
                  method:
                    type: string
                    description: Http Method
                    example: POST
                  url:
                    type: string
                    description: Call url
                    example: /v1/product/getpaymentgateways
                  timestamp:
                    type: integer
                    description: 'Server time, EPOCH (Unix time or POSIX time or Unix timestamp)'
                    example: 1535533331
                  time_zone:
                    type: integer
                    description: Time zone of server
                    example: Europe/Madrid
                  status:
                    type: string
                    description: Response status
                    example: SUCCESS
                  local_time:
                    type: string
                    description: 'Local time for the response (ISO 8601 format)'
                    example: "2023-10-19T13:00:00+0200"
                  request_id:
                    type: string
                    description: 'Unique identifier for the request'
                    example: "caae62f7876a4b878c8d0e9b5c4b259b"
                  code:
                    type: integer
                    description: Response status code
                    example: '200'
                  message:
                    type: string
                    description: Response message
                    example: HTTP OK
                  details:
                    type: string
                    description: Response details
                    example: Payment Gateways
                  version:
                    type: string
                    description: Version Turitop App
                    example: 2.60.30
        '400':
          description: Request Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - access_token
                - data
              properties:
                access_token:
                  type: string
                  description: Access token
                data:
                  type: object
                  required:
                    - product_short_id
                  properties:
                    product_short_id:
                      type: string
                      example: P1
        description: Payment Gateways
  /product/tour/insertindividualevents:
    post:
      tags:
        - Product
      summary: Insert individual events by product
      responses:
        '200':
          description: Request OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      product_short_id:
                        type: string
                        description: Product short id
                        example: P1
                      datetime_format:
                        type: string
                        description: Product date time format
                        example: 'd-m-Y H:i'
                      timezone:
                        type: string
                        description: Product time zone
                        example: Europe/Madrid
                      events:
                        type: array
                        items:
                          $ref: '#/components/schemas/IndividualEvent'
                  method:
                    type: string
                    description: Http Method
                    example: POST
                  url:
                    type: string
                    description: Call url
                    example: /product/tour/insertindividualevents
                  timestamp:
                    type: integer
                    description: 'Server time, EPOCH (Unix time or POSIX time or Unix timestamp)'
                    example: 1535467592
                  time_zone:
                    type: integer
                    description: Time zone of server
                    example: Europe/Madrid
                  status:
                    type: string
                    description: Response status
                    example: SUCCESS
                  local_time:
                    type: string
                    description: 'Local time for the response (ISO 8601 format)'
                    example: "2023-10-19T13:00:00+0200"
                  request_id:
                    type: string
                    description: 'Unique identifier for the request'
                    example: "caae62f7876a4b878c8d0e9b5c4b259b"
                  code:
                    type: integer
                    description: Response status code
                    example: '200'
                  message:
                    type: string
                    description: Response message
                    example: HTTP OK
                  details:
                    type: string
                    description: Response details
                    example: Insert individual events
                  version:
                    type: string
                    description: Version Turitop App
                    example: 2.60.30
        '400':
          description: Request Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - access_token
                - data
              properties:
                access_token:
                  type: string
                  description: Access token
                  example: ttJhbGciJzaXQASDCJ222XAiOiJTV1QifQ==.ttJpYXQiOjE1MjgyODg4N4TESTAsdeasdQ0NCIsImFjY2Vzc19I6IjgxLjQ1LjEyOS43OSIsInR5cGUiOiJyZWZyZXNoIn0=.722332aasd793123395856b2c820e2323d0974c082a7c6a9d2df5bf8b73f5
                data:
                  type: object
                  required:
                    - product_short_id
                    - start_date
                    - time
                    - current_service_only
                  properties:
                    product_short_id:
                      type: string
                      example: P1
                    start_date:
                      type: integer
                      description: EPOCH (Unix time or POSIX time or Unix timestamp)
                      example: 1602590400
                    end_date:
                      type: integer
                      description: EPOCH (Unix time or POSIX time or Unix timestamp)
                      example: 1602615600
                    time:
                      type: string
                      description: Time in 24 hours format (HH:mm)
                      example: "10:00"
                    current_service_only:
                      type: boolean
                      description: Describe if the event is applied only to this product
                      example: 1
        description: Insert individuals events
  /product/checkpromocode:
    post:
      tags:
        - Product
      summary: Check if a promo code is valid for a event
      responses:
        '200':
          description: Request OK
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                properties:
                  data:
                    type: object
                    required:
                      - valid_promo_code
                    properties:
                      valid_promo_code:
                        type: boolean
                        description: if promo code is valid or not
                        example: true
                  method:
                    type: string
                    description: Http Method
                    example: POST
                  url:
                    type: string
                    description: Call url
                    example: /v1/product/validpromocode
                  timestamp:
                    type: integer
                    description: 'Server time, EPOCH (Unix time or POSIX time or Unix timestamp)'
                    example: 1535531804
                  time_zone:
                    type: integer
                    description: Time zone of server
                    example: Europe/Madrid
                  status:
                    type: string
                    description: Response status
                    example: SUCCESS
                  local_time:
                    type: string
                    description: 'Local time for the response (ISO 8601 format)'
                    example: "2023-10-19T13:00:00+0200"
                  request_id:
                    type: string
                    description: 'Unique identifier for the request'
                    example: "caae62f7876a4b878c8d0e9b5c4b259b"
                  code:
                    type: integer
                    description: Response status code
                    example: '200'
                  message:
                    type: string
                    description: Response message
                    example: HTTP OK
                  details:
                    type: string
                    description: Response details
                    example: Check if promo_code is valid
                  version:
                    type: string
                    description: Version Turitop App
                    example: 2.60.30
        '400':
          description: Request Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - access_token
                - data
              properties:
                access_token:
                  type: string
                  description: Access token
                  example: ttJhbGciJzaXQASDCJ222XAiOiJTV1QifQ==.ttJpYXQiOjE1MjgyODg4N4TESTAsdeasdQ0NCIsImFjY2Vzc19I6IjgxLjQ1LjEyOS43OSIsInR5cGUiOiJyZWZyZXNoIn0=.722332aasd793123395856b2c820e2323d0974c082a7c6a9d2df5bf8b73f5
                data:
                  type: object
                  required:
                    - product_short_id
                    - promo_code
                  properties:
                    product_short_id:
                      type: string
                      example: P4
                    date_event:
                      type: integer
                      description: Event time, in EPOCH (Unix time or POSIX time or Unix timestamp), not required if product flow is open
                      example: 1518598800
                    gift_certificate:
                      type: boolean
                      description: Get prices when the gift voucher is active, only for product flow tour
                    user_id:
                      type: integer
                      description: User identificator for Agents registered in the provider's panel (Optional)
                    promo_code:
                      type: string
                      description: Promo code
                      example: TestPromo01
                    ticket_type_count:
                      $ref: '#/components/schemas/TicketCount'
                      description: Service promocodes configured with minimum or maximum PAX (groupal discounts) are validated
                  example:
                    {
                      "product_short_id":"P1",
                      "gift_certificate":1,
                      "promo_code":"TestPromo01"
                    }
        description: Check if a promo code is valid for a event
  /product/addbanner:
    post:
      tags:
        - Product
      summary: Add banner image to the product
      responses:
        '200':
          description: Request OK
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                properties:
                  data:
                    type: object
                    required:
                      - banner_image
                    properties:
                      banner_image:
                        type: string
                        description: Image url
                        example: https://appturitop.s3.eu-central-1.amazonaws.com/T001/productbanner/P1/1588061612_banner?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIA2RBBYG3FI6MP2UN2%2F20200428%2Feu-central-1%2Fs3%2Faws4_request&X-Amz-Date=20200428T081332Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Signature=22518294178f5a8f28a0d63ea7d7e4be58c2426c8596a6c30994c68cc24e8878
                  method:
                    type: string
                    description: Http Method
                    example: POST
                  url:
                    type: string
                    description: Call url
                    example: /v1/product/addbanner
                  timestamp:
                    type: integer
                    description: 'Server time, EPOCH (Unix time or POSIX time or Unix timestamp)'
                    example: 1535531804
                  time_zone:
                    type: integer
                    description: Time zone of server
                    example: Europe/Madrid
                  status:
                    type: string
                    description: Response status
                    example: SUCCESS
                  local_time:
                    type: string
                    description: 'Local time for the response (ISO 8601 format)'
                    example: "2023-10-19T13:00:00+0200"
                  request_id:
                    type: string
                    description: 'Unique identifier for the request'
                    example: "caae62f7876a4b878c8d0e9b5c4b259b"
                  code:
                    type: integer
                    description: Response status code
                    example: '200'
                  message:
                    type: string
                    description: Response message
                    example: HTTP OK
                  details:
                    type: string
                    description: Response details
                    example: Add banner image to the product
                  version:
                    type: string
                    description: Version Turitop App
                    example: 2.60.30
        '400':
          description: Request Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - access_token
                - data
              properties:
                access_token:
                  type: string
                  description: Access token
                  example: ttJhbGciJzaXQASDCJ222XAiOiJTV1QifQ==.ttJpYXQiOjE1MjgyODg4N4TESTAsdeasdQ0NCIsImFjY2Vzc19I6IjgxLjQ1LjEyOS43OSIsInR5cGUiOiJyZWZyZXNoIn0=.722332aasd793123395856b2c820e2323d0974c082a7c6a9d2df5bf8b73f5
                data:
                  type: object
                  required:
                    - product_short_id
                    - banner_type
                    - banner
                  properties:
                    product_short_id:
                      type: string
                      example: P4
                    banner_type:
                      type: string
                      description: |
                        Banner image file type, Supported file
                          - image/jpeg
                          - image/png
                      example: image/jpeg
                    banner:
                      type: string
                      description: Base64 image data, maximum size 3Mb
                      example: /9j/4AAQSkZJRgABAQEBLAEsAAD/2wBDAAYEBAUEBAYFBQUGBgYHCQ4JCQgICRINDQoOFRIWFhUSFBQXGiEcFxgfGRQUHScdHyIjJSUlFhwpLCgkKyEkJST/2wBDAQYGBgkICREJCREkGBQYJCQkJCQkJCQkJCQk...
                  example:
                    {
                      "product_short_id":"P1",
                      "banner_type":"image/jpeg",
                      "promo_code":"/9j/4AAQSkZJRgABAQEBLAEsAAD/2wBDAAYEBAUEBAYFBQUGBgYHCQ4JCQgICRINDQoOFRIWFhUSFBQXGiEcFxgfGRQUHScdHyIjJSUlFhwpLCgkKyEkJST/2wBDAQYGBgkICREJCREkGBQYJCQkJCQkJCQkJCQk..."
                    }
        description: Add banner image to the product
  /product/delbanner:
    post:
      tags:
        - Product
      summary: Delete banner image to the product
      responses:
        '200':
          description: Request OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  method:
                    type: string
                    description: Http Method
                    example: POST
                  url:
                    type: string
                    description: Call url
                    example: /v1/product/addbanner
                  timestamp:
                    type: integer
                    description: 'Server time, EPOCH (Unix time or POSIX time or Unix timestamp)'
                    example: 1535531804
                  time_zone:
                    type: integer
                    description: Time zone of server
                    example: Europe/Madrid
                  status:
                    type: string
                    description: Response status
                    example: SUCCESS
                  local_time:
                    type: string
                    description: 'Local time for the response (ISO 8601 format)'
                    example: "2023-10-19T13:00:00+0200"
                  request_id:
                    type: string
                    description: 'Unique identifier for the request'
                    example: "caae62f7876a4b878c8d0e9b5c4b259b"
                  code:
                    type: integer
                    description: Response status code
                    example: '200'
                  message:
                    type: string
                    description: Response message
                    example: HTTP OK
                  details:
                    type: string
                    description: Response details
                    example: Delete banner image to the product
                  version:
                    type: string
                    description: Version Turitop App
                    example: 2.60.30
        '400':
          description: Request Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - access_token
                - data
              properties:
                access_token:
                  type: string
                  description: Access token
                  example: ttJhbGciJzaXQASDCJ222XAiOiJTV1QifQ==.ttJpYXQiOjE1MjgyODg4N4TESTAsdeasdQ0NCIsImFjY2Vzc19I6IjgxLjQ1LjEyOS43OSIsInR5cGUiOiJyZWZyZXNoIn0=.722332aasd793123395856b2c820e2323d0974c082a7c6a9d2df5bf8b73f5
                data:
                  type: object
                  required:
                    - product_short_id
                  properties:
                    product_short_id:
                      type: string
                      example: P4
                  example:
                    {
                      "product_short_id":"P1"
                    }
        description: Delete banner image to the product
  /product/getcalendardata:
    post:
      tags:
        - Product
      summary: Get all tickets booked and left por a period of time
      responses:
        '200':
          description: Request OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CalendarData'
        '400':
          description: Request Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - access_token
                - data
              properties:
                access_token:
                  type: string
                  description: Access token
                  example: ttJhbGciJzaXQASDCJ222XAiOiJTV1QifQ==.ttJpYXQiOjE1MjgyODg4N4TESTAsdeasdQ0NCIsImFjY2Vzc19I6IjgxLjQ1LjEyOS43OSIsInR5cGUiOiJyZWZyZXNoIn0=.722332aasd793123395856b2c820e2323d0974c082a7c6a9d2df5bf8b73f5
                data:
                  type: object
                  required:
                    - start_date
                    - end_date
                  properties:
                    product_short_ids:
                      type: array
                      items:
                        type: string
                        description:
                         List of products short ids to get the data. Can't be used simoultaneously with category_short_ids.
                         You can use the keyword "all" to retrieve the data for all available products.
                        example:
                          all products:
                            value: ["all"]
                            summary: Return the data for all available products
                            tag: lala
                          multiple products:
                            value: ["P1", "P2"]
                            summary: Return the data for product P1 and P2
                            tag: lele
                          single product:
                            value: ["P1"]
                            summary: Return the data for product P1
                            tag: lolo
                    category_short_ids:
                      type: array
                      items:
                        type: string
                        description: List of categories short ids to get the data. Can't be used simoultaneously with product_short_ids
                        example: ["C1", "C2"]
                    start_date:
                      type: integer
                      example: 1598911200
                    end_date:
                      type: integer
                      example: 1600000000
                  example:
                    {
                        "product_short_ids":["P1", "P3"],
                         "start_date":1598911200,
                         "end_date":1600000000
                    }
        description: Get the data required to render a calendar with events, products and tickets
  /product/closeevent:
    post:
      tags:
        - Product
      summary: Close an event
      responses:
        '200':
          description: Event closed successfully
        '400':
          description: Request Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
      requestBody:
        description: Close an event making it unavailable for future online bookings
        content:
          application/json:
            schema:
              type: object
              required:
                - access_token
                - data
              properties:
                access_token:
                  type: string
                  description: Access token
                  example: ttJhbGciJzaXQASDCJ222XAiOiJTV1QifQ==.ttJpYXQiOjE1MjgyODg4N4TESTAsdeasdQ0NCIsImFjY2Vzc19I6IjgxLjQ1LjEyOS43OSIsInR5cGUiOiJyZWZyZXNoIn0=.722332aasd793123395856b2c820e2323d0974c082a7c6a9d2df5bf8b73f5
                data:
                  type: object
                  required:
                    - product_short_id
                    - event_date
                  properties:
                    product_short_id:
                      type: string
                      description: Product short id
                      example: "P1"
                    event_date:
                      type: integer
                      description: Unixtimestamp of the event
                      example: 1598825700
  /product/openevent:
    post:
      tags:
        - Product
      summary: Open an event
      responses:
        '200':
          description: Event opened successfully
        '400':
          description: Request Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
      requestBody:
        description: Open a previously closed event, making it available for future online bookings
        content:
          application/json:
            schema:
              type: object
              required:
                - access_token
                - data
              properties:
                access_token:
                  type: string
                  description: Access token
                  example: ttJhbGciJzaXQASDCJ222XAiOiJTV1QifQ==.ttJpYXQiOjE1MjgyODg4N4TESTAsdeasdQ0NCIsImFjY2Vzc19I6IjgxLjQ1LjEyOS43OSIsInR5cGUiOiJyZWZyZXNoIn0=.722332aasd793123395856b2c820e2323d0974c082a7c6a9d2df5bf8b73f5
                data:
                  type: object
                  required:
                    - product_short_id
                    - event_date
                  properties:
                    product_short_id:
                      type: string
                      description: Product short id
                      example: "P1"
                    event_date:
                      type: integer
                      description: Unixtimestamp of the event
                      example: 1598825700
  /categories/get:
    post:
      tags:
        - Categories
      summary: Get a list of all categories and the products associated
      responses:
        '200':
          description: Request OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      categories:
                        type: array
                        items:
                          type: object
                          properties:
                            short_id:
                              type: string
                              description: Categoy short id
                              example: "C1"
                            id:
                              type: integer
                              description: Categoy id
                              example: 123456
                            name:
                              type: string
                              description: Categoy name
                              example: "Walking Tours"
                            products :
                              type: object
                              description: List of string with product short_ids that belongs to the category
                              example: ["P1", "P33"]
        '400':
          description: Request Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - access_token
                - data
              properties:
                access_token:
                  type: string
                  description: Access token
                  example: ttJhbGciJzaXQASDCJ222XAiOiJTV1QifQ==.ttJpYXQiOjE1MjgyODg4N4TESTAsdeasdQ0NCIsImFjY2Vzc19I6IjgxLjQ1LjEyOS43OSIsInR5cGUiOiJyZWZyZXNoIn0=.722332aasd793123395856b2c820e2323d0974c082a7c6a9d2df5bf8b73f5
                data:
                  type: object
                  properties:
                    language_code:
                      type: string
                      description: |
                        ISO 639-1. Standard nomenclature used to classify languages
                      example: "en"
        description: Get company categories
  /tickets/get:
    post:
      tags:
        - Tickets
      summary: Get all tickets for a product
      responses:
        '200':
          description: Request OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      product_short_id:
                        type: string
                        description: Product short id
                        example: P1
                      ticket_selector_format:
                        type: string
                        description: |
                          Ticket selector format:
                            * dropdown - allows changing the amount of tickets
                            * checkbox - let users select different ticket simultaneously
                            * radiobutton - means only one ticket can be selected while
                      tickets:
                        type: object
                        description: 'List of ticket by product '
                        properties:
                          identifier:
                            $ref: '#/components/schemas/TicketGet'
                  method:
                    type: string
                    description: Http Method
                    example: POST
                  url:
                    type: string
                    description: Call url
                    example: /v1/tickets/get
                  timestamp:
                    type: integer
                    description: 'Server time, EPOCH (Unix time or POSIX time or Unix timestamp)'
                    example: 1535533790
                  time_zone:
                    type: integer
                    description: Time zone of server
                    example: Europe/Madrid
                  status:
                    type: string
                    description: Response status
                    example: SUCCESS
                  local_time:
                    type: string
                    description: 'Local time for the response (ISO 8601 format)'
                    example: "2023-10-19T13:00:00+0200"
                  request_id:
                    type: string
                    description: 'Unique identifier for the request'
                    example: "caae62f7876a4b878c8d0e9b5c4b259b"
                  code:
                    type: integer
                    description: Response status code
                    example: '200'
                  message:
                    type: string
                    description: Response message
                    example: HTTP OK
                  details:
                    type: string
                    description: Response details
                    example: Get tickets
                  version:
                    type: string
                    description: Version Turitop App
                    example: 2.60.30
        '400':
          description: Request Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - access_token
                - data
              properties:
                access_token:
                  type: string
                  description: Access token
                  example: ttJhbGciJzaXQASDCJ222XAiOiJTV1QifQ==.ttJpYXQiOjE1MjgyODg4N4TESTAsdeasdQ0NCIsImFjY2Vzc19I6IjgxLjQ1LjEyOS43OSIsInR5cGUiOiJyZWZyZXNoIn0=.722332aasd793123395856b2c820e2323d0974c082a7c6a9d2df5bf8b73f5
                data:
                  type: object
                  required:
                    - product_short_id
                  properties:
                    product_short_id:
                      type: string
                      example: P1
                    language_code:
                      type: string
                      description: |
                        ISO 639-1. Standard nomenclature used to classify languages <br>
                        This is the preferred language. If translation is not found, it will return value in original language
                      example: en
        description: Tickets product
  /tickets/insert:
    post:
      tags:
        - Tickets
      summary: Insert a ticket for a product
      responses:
        '200':
          description: Request OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      product_short_id:
                        type: string
                        description: Product short id
                        example: P1
                      ticket:
                        $ref: '#/components/schemas/Ticket'
                  method:
                    type: string
                    description: Http Method
                    example: POST
                  url:
                    type: string
                    description: Call url
                    example: /v1/tickets/insert
                  timestamp:
                    type: integer
                    description: 'Server time, EPOCH (Unix time or POSIX time or Unix timestamp)'
                    example: 1535534300
                  time_zone:
                    type: integer
                    description: Time zone of server
                    example: Europe/Madrid
                  status:
                    type: string
                    description: Response status
                    example: SUCCESS
                  local_time:
                    type: string
                    description: 'Local time for the response (ISO 8601 format)'
                    example: "2023-10-19T13:00:00+0200"
                  request_id:
                    type: string
                    description: 'Unique identifier for the request'
                    example: "caae62f7876a4b878c8d0e9b5c4b259b"
                  code:
                    type: integer
                    description: Response status code
                    example: '200'
                  message:
                    type: string
                    description: Response message
                    example: HTTP OK
                  details:
                    type: string
                    description: Response details
                    example: Insert tickets
                  version:
                    type: string
                    description: Version Turitop App
                    example: 2.60.30
        '400':
          description: Request Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - access_token
                - data
              properties:
                access_token:
                  type: string
                  description: Access token
                  example: ttJhbGciJzaXQASDCJ222XAiOiJTV1QifQ==.ttJpYXQiOjE1MjgyODg4N4TESTAsdeasdQ0NCIsImFjY2Vzc19I6IjgxLjQ1LjEyOS43OSIsInR5cGUiOiJyZWZyZXNoIn0=.722332aasd793123395856b2c820e2323d0974c082a7c6a9d2df5bf8b73f5
                data:
                  type: object
                  required:
                    - product_short_id
                    - ticket
                  properties:
                    product_short_id:
                      type: string
                      example: P1
                    ticket:
                      $ref: '#/components/schemas/TicketInsert'
        description: Insert Ticket
  /tickets/update:
    post:
      tags:
        - Tickets
      summary: Update a ticket for a product
      responses:
        '200':
          description: Request OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      product_short_id:
                        type: string
                        description: Product short id
                      tickets:
                        $ref: '#/components/schemas/Ticket'
                  method:
                    type: string
                    description: Http Method
                    example: POST
                  url:
                    type: string
                    description: Call url
                    example: /v1/tickets/insert
                  timestamp:
                    type: integer
                    description: 'Server time, EPOCH (Unix time or POSIX time or Unix timestamp)'
                    example: 1535534300
                  time_zone:
                    type: integer
                    description: Time zone of server
                    example: Europe/Madrid
                  status:
                    type: string
                    description: Response status
                    example: SUCCESS
                  local_time:
                    type: string
                    description: 'Local time for the response (ISO 8601 format)'
                    example: "2023-10-19T13:00:00+0200"
                  request_id:
                    type: string
                    description: 'Unique identifier for the request'
                    example: "caae62f7876a4b878c8d0e9b5c4b259b"
                  code:
                    type: integer
                    description: Response status code
                    example: '200'
                  message:
                    type: string
                    description: Response message
                    example: HTTP OK
                  details:
                    type: string
                    description: Response details
                    example: Update tickets
                  version:
                    type: string
                    description: Version Turitop App
                    example: 2.60.30
        '400':
          description: Request Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - access_token
                - data
              properties:
                access_token:
                  type: string
                  description: Access token
                  example: ttJhbGciJzaXQASDCJ222XAiOiJTV1QifQ==.ttJpYXQiOjE1MjgyODg4N4TESTAsdeasdQ0NCIsImFjY2Vzc19I6IjgxLjQ1LjEyOS43OSIsInR5cGUiOiJyZWZyZXNoIn0=.722332aasd793123395856b2c820e2323d0974c082a7c6a9d2df5bf8b73f5
                data:
                  type: object
                  required:
                    - product_short_id
                    - ticket
                  properties:
                    product_short_id:
                      type: string
                      example: P1
                    ticket:
                      $ref: '#/components/schemas/Ticket'
        description: Update Ticket
  /tickets/delete:
    post:
      tags:
        - Tickets
      summary: Update a ticket for a product
      responses:
        '200':
          description: Request OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
        '400':
          description: Request Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - access_token
                - data
              properties:
                access_token:
                  type: string
                  description: Access token
                  example: ttJhbGciJzaXQASDCJ222XAiOiJTV1QifQ==.ttJpYXQiOjE1MjgyODg4N4TESTAsdeasdQ0NCIsImFjY2Vzc19I6IjgxLjQ1LjEyOS43OSIsInR5cGUiOiJyZWZyZXNoIn0=.722332aasd793123395856b2c820e2323d0974c082a7c6a9d2df5bf8b73f5
                data:
                  type: object
                  required:
                    - product_short_id
                    - ticket
                  properties:
                    product_short_id:
                      type: string
                      example: P1
                    ticket:
                      type: object
                      required:
                        - id
                      properties:
                        id:
                          type: integer
                          description: Identifier of ticket
                          example: 63571
        description: Delete Ticket
  /tickets/getprices:
    post:
      tags:
        - Tickets
      summary: Get prices for a event
      responses:
        '200':
          description: Request OK
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                properties:
                  data:
                    type: object
                    required:
                      - prices_per_ticket_full
                      - prices_per_ticket_full_clean
                      - prices_per_ticket
                      - prices_per_ticket_clean
                      - total_prices_full
                      - total_prices_full_clean
                      - total_prices
                      - total_prices_clean
                    properties:
                      prices_per_ticket_full:
                        type: object
                        description: |
                          List with ticket types as {integer : number}<br>
                          The first integer represents the ticket id in TuriTop and the second number represents the ticket price without discount
                        additionalProperties:
                            type: number
                      prices_per_ticket_full_clean:
                        type: object
                        description: |
                          List with ticket types as {integer : number}<br>
                          The first integer represents the ticket id in TuriTop and the second number represents the ticket price without discount. Floating-point precision is normalized to ensure consistent decimal representation.
                        additionalProperties:
                            type: string
                      prices_per_ticket:
                        type: object
                        description: |
                          List with ticket types as {integer : number}<br>
                          The first integer represents the ticket id in TuriTop and the second number represents the ticket price with discount if applicable
                        additionalProperties:
                            type: integer
                      prices_per_ticket_clean:
                        type: object
                        description: |
                          List with ticket types as {integer : number}<br>
                          The first integer represents the ticket id in TuriTop and the second number represents the ticket price with discount if applicable. Floating-point precision is normalized to ensure consistent decimal representation.
                        additionalProperties:
                            type: string
                      total_prices_full:
                        type: number
                        description: Sum of tickets price without discount, zero if not exist tickets in ticket_type_count
                        example: 50.50
                      total_prices_full_clean:
                        type: string
                        description: Sum of tickets price without discount, zero if not exist tickets in ticket_type_count. Floating-point precision is normalized to ensure consistent decimal representation.
                        example: "50.50"
                      total_prices:
                        type: number
                        description: sum of tickets price with discount if applicable, zero if not exist tickets in ticket_type_count
                        example: 50.50
                      total_prices_clean:
                        type: string
                        description: sum of tickets price with discount if applicable, zero if not exist tickets in ticket_type_count. Floating-point precision is normalized to ensure consistent decimal representation.
                        example: "50.50"
                  method:
                    type: string
                    description: Http Method
                    example: POST
                  url:
                    type: string
                    description: Call url
                    example: /v1/product/validpromocode
                  timestamp:
                    type: integer
                    description: 'Server time, EPOCH (Unix time or POSIX time or Unix timestamp)'
                    example: 1535531804
                  time_zone:
                    type: integer
                    description: Time zone of server
                    example: Europe/Madrid
                  status:
                    type: string
                    description: Response status
                    example: SUCCESS
                  local_time:
                    type: string
                    description: 'Local time for the response (ISO 8601 format)'
                    example: "2023-10-19T13:00:00+0200"
                  request_id:
                    type: string
                    description: 'Unique identifier for the request'
                    example: "caae62f7876a4b878c8d0e9b5c4b259b"
                  code:
                    type: integer
                    description: Response status code
                    example: '200'
                  message:
                    type: string
                    description: Response message
                    example: HTTP OK
                  details:
                    type: string
                    description: Response details
                    example: Check if promo_code is valid
                  version:
                    type: string
                    description: Version Turitop App
                    example: 2.60.30
                example:
                  {
                      "data": {
                          "prices_per_ticket_full": {
                              "11111": 50,
                              "22222": 20
                          },
                          "prices_per_ticket_full_clean": {
                              "11111": "50.00",
                              "22222": "20.00"
                          },
                          "prices_per_ticket": {
                              "11111": 40,
                              "22222": 20
                          },
                          "prices_per_ticket_clean": {
                              "11111": "40.00",
                              "22222": "20.00"
                          },
                          "total_prices_full": 50,
                          "total_prices_full_clean": "50.00",
                          "total_prices": 40,
                          "total_prices_clean": "40.00"
                      },
                      "method": "POST",
                      "url": "/v1/tickets/getprices",
                      "timestamp": 1585235745,
                      "time_zone": "Europe/Madrid",
                      "status": "SUCCESS",
                      "code": "200",
                      "message": "HTTP OK",
                      "details": "Get ticket prices of a event"
                  }
        '400':
          description: Request Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - access_token
                - data
              properties:
                access_token:
                  type: string
                  description: Access token
                  example: ttJhbGciJzaXQASDCJ222XAiOiJTV1QifQ==.ttJpYXQiOjE1MjgyODg4N4TESTAsdeasdQ0NCIsImFjY2Vzc19I6IjgxLjQ1LjEyOS43OSIsInR5cGUiOiJyZWZyZXNoIn0=.722332aasd793123395856b2c820e2323d0974c082a7c6a9d2df5bf8b73f5
                data:
                  type: object
                  required:
                    - product_short_id
                  properties:
                    product_short_id:
                      type: string
                      example: P4
                    date_event:
                      type: integer
                      description: Event time, in EPOCH (Unix time or POSIX time or Unix timestamp), not required if product flow is open
                      example: 1518598800
                    user_id:
                      type: integer
                      description: User identificator for Agents registered in the provider's panel
                    gift_certificate:
                      type: boolean
                      description: Get prices when the gift voucher is active, only for tour flow product
                    promo_code:
                      type: string
                      description: Promo code
                      example: TestPromo01
                    ticket_type_count:
                      $ref: '#/components/schemas/TicketCount'
                    booking_short_id:
                      type: string
                      description: Check the ticket price when editing a booking, this field only makes sense to use it when using promotional codes with limited uses
                      example: T000-200515-1
                  example:
                    {
                      "product_short_id":"P1",
                      "date_event":1585558800,
                      "promo_code":"TestPromo01",
                      "ticket_type_count": {
                        "11111":1
                      }
                    }
        description: Get tickets prices for a event
  /discount/get:
    post:
      tags:
        - Discount
      summary: Get discounts of a product
      responses:
        '200':
          description: Request OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      discounts:
                        type: array
                        description: List with discount
                        items:
                          $ref: '#/components/schemas/Discount'
                        example:
                          - time_zone: Europe/Madrid
                            discount_id: '41580'
                            type: percent_off
                            value: '10.00'
                            anticipation: '0'
                            promo_code: DRW642
                            weekdays: '1234567'
                            uses: '1'
                          - time_zone: Europe/Madrid
                            discount_id: '41581'
                            type: percent_off
                            value: '10.00'
                            anticipation: '0'
                            promo_code: GV64Y3
                            weekdays: '1234567'
                            uses: '1'
                          - time_zone: Europe/Madrid
                            discount_id: '45659'
                            type: final_total_price_minus
                            value: '6.00'
                            anticipation: '24'
                            weekdays: '1234567'
                  method:
                    type: string
                    description: Http Method
                    example: POST
                  url:
                    type: string
                    description: Call url
                    example: /v1/discount/get
                  timestamp:
                    type: integer
                    description: 'Server time, EPOCH (Unix time or POSIX time or Unix timestamp)'
                    example: 1535536055
                  time_zone:
                    type: integer
                    description: Time zone of server
                    example: Europe/Madrid
                  status:
                    type: string
                    description: Response status
                    example: SUCCESS
                  local_time:
                    type: string
                    description: 'Local time for the response (ISO 8601 format)'
                    example: "2023-10-19T13:00:00+0200"
                  request_id:
                    type: string
                    description: 'Unique identifier for the request'
                    example: "caae62f7876a4b878c8d0e9b5c4b259b"
                  code:
                    type: integer
                    description: Response status code
                    example: '200'
                  message:
                    type: string
                    description: Response message
                    example: HTTP OK
                  details:
                    type: string
                    description: Response details
                    example: Get discount
                  version:
                    type: string
                    description: Version Turitop App
                    example: 2.60.30
        '400':
          description: Request Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - access_token
                - data
              properties:
                access_token:
                  type: string
                  description: Access token
                  example: ttJhbGciJzaXQASDCJ222XAiOiJTV1QifQ==.ttJpYXQiOjE1MjgyODg4N4TESTAsdeasdQ0NCIsImFjY2Vzc19I6IjgxLjQ1LjEyOS43OSIsInR5cGUiOiJyZWZyZXNoIn0=.722332aasd793123395856b2c820e2323d0974c082a7c6a9d2df5bf8b73f5
                data:
                  type: object
                  required:
                    - product_short_id
                  properties:
                    product_short_id:
                      type: string
                      example: P1
        description: Product discount
  /discount/insert:
    post:
      tags:
        - Discount
      summary: Insert discount in a product
      responses:
        '200':
          description: Request OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      discount:
                        $ref: '#/components/schemas/Discount'
                    example:
                      time_zone: Europe/Madrid
                      discount_id: '45661'
                      type: final_price
                      value: '10.00'
                      tickets_id: ["43989", "43990"]
                      agent_reseller_visibility: 'resellers'
                      apply_to_gift_voucher: '0'
                      anticipation: '24'
                      groupal_max_count: '10'
                      groupal_min_count: '5'
                      purchase_date_from: 1550052000
                      purchase_date_to: 1550138400
                      promo_code: "TEST"
                      cumulative: "1"
                      apply_to_deposit: "1"
                      weekdays: '1234567'
                  method:
                    type: string
                    description: Http Method
                    example: POST
                  url:
                    type: string
                    description: Call url
                  timestamp:
                    type: integer
                    description: 'Server time, EPOCH (Unix time or POSIX time or Unix timestamp)'
                  time_zone:
                    type: integer
                    description: Time zone of server
                  status:
                    type: string
                    description: Response status
                  request_id:
                    type: string
                    description: 'Unique identifier for the request'
                    example: "caae62f7876a4b878c8d0e9b5c4b259b"
                  code:
                    type: integer
                    description: Response status code
                  message:
                    type: string
                    description: Response message
                  details:
                    type: string
                    description: Response details
                  version:
                    type: string
                    description: Version Turitop App
                    example: 2.60.30
        '400':
          description: Request Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - access_token
                - data
              properties:
                access_token:
                  type: string
                  description: Access token
                data:
                  type: object
                  required:
                    - product_short_id
                    - discount
                  properties:
                    product_short_id:
                      type: string
                      example: P1
                    discount:
                      type: object
                      required:
                        - type
                        - anticipation
                        - value
                      properties:
                        type:
                          type: string
                          description: |
                            Type of discount. Allowed values:
                              * percent_off
                              * final_price
                              * final_total_price
                              * final_total_price_minus
                        anticipation:
                          type: integer
                          description: Hours of anticipation for apply discount.
                        value:
                          type: number
                          description: Value of discount.
                        agent_reseller_visibility:
                          type: string
                          description: |
                            Discount visibility. Allowed values:
                              * no
                              * agents_and_resellers
                              * agents
                              * resellers
                        apply_to_gift_voucher:
                          type: boolean
                          description: Apply discount to gift voucher.
                        tickets_id:
                          type: array
                          items:
                            type: integer
                            description: |
                              Array of tickets_id. Does not compatible with ticket_id parameter. Only for discount type:
                                * percent_off
                                * final_price
                            properties:
                                ticket_id:
                                  type: integer
                                  description: ticket_id
                        ticket_id:
                          deprecated: true
                          type: integer
                          description: |
                            Ticket identificater. Does not compatible with tickets_id parameter. Only for discount type:
                              * percent_off
                              * final_price
                        date_from:
                          type: integer
                          description: Date event to start apply discount
                        date_to:
                          type: integer
                          description: Date event to finish apply discount
                        purchase_date_from:
                          type: integer
                          description: Purchase date to start apply discount
                        purchase_date_to:
                          type: integer
                          description: Purchase date to finish apply discount
                        uses:
                          type: integer
                          description: Number of uses of the promocode. Can only be used with a promocode
                        weekdays:
                          type: string
                          description: Days of the week the promocode will apply. Numbers from 1 to 7. Week starts on monday
                        hour_from:
                          type: string
                          description: 'Hour to start applying the discount. 24 hour format (HH:mm)'
                        hour_to:
                          type: string
                          description: 'Hour to finish the using of the discount. 24 hour format (HH:mm)'
                        blacklist:
                          type: array
                          description: Array of timestamps indicating the date where the discount will not apply
                          items:
                            type: integer
                        group_max_count:
                          type: integer
                          description: Maximum seats to apply the discount
                        group_min_count:
                          type: integer
                          description: Minimum seats to apply the discount
                        apply_to_deposit:
                          type: boolean
                          description: If discount is applicable to deposit booking, not valid for dicount type final_total_price.
                        cumulative:
                          type: boolean
                          description: If discount is cumulative, not valid for dicount type final_total_price.
                      example:
                        type: final_price
                        value: 10
                        tickets_id: ["43989","43990"]
                        anticipation: '24'
                        promo_code: 'TEST'
                        uses: 0
                        multiple_promo_code: 0
                        prefix: 'TEST'
                        purchase_date_from: 1550052000
                        purchase_date_to: 1550138400
                        agent_reseller_visibility: "resellers"
                        apply_to_gift_voucher: 0
                        group_max_count: 10
                        group_min_count: 5
                        cumulative: 1,
                        apply_to_deposit: 1
        description: Insert product discount
  /discount/delete:
    post:
      tags:
        - Discount
      summary: Delete discount of a product
      responses:
        '200':
          description: Request OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
        '400':
          description: Request Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - access_token
                - data
              properties:
                access_token:
                  type: string
                  description: Access token
                  example: ttJhbGciJzaXQASDCJ222XAiOiJTV1QifQ==.ttJpYXQiOjE1MjgyODg4N4TESTAsdeasdQ0NCIsImFjY2Vzc19I6IjgxLjQ1LjEyOS43OSIsInR5cGUiOiJyZWZyZXNoIn0=.722332aasd793123395856b2c820e2323d0974c082a7c6a9d2df5bf8b73f5
                data:
                  type: object
                  required:
                    - product_short_id
                    - discount_id
                  properties:
                    product_short_id:
                      type: string
                      example: P1
                    discount_id:
                      type: integer
                      example: 45661
        description: Product discount
  /variation/get:
    post:
      tags:
        - Variation
      summary: Get variation of a product
      responses:
        '200':
          description: Request OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      variations:
                        type: array
                        description: List with variation
                        items:
                          $ref: '#/components/schemas/Variation'
                        example:
                          - time_zone: Europe/Madrid
                            variation_id: 45875
                            type: final_price
                            value: 10.00
                            date_from: 1535929200
                            date_to: 1537225140
                            weekdays: 1234567
                            hour_from: 00:00:00
                            hour_to: 19:15:00
                          - time_zone: Europe/Madrid
                            variation_id: 45876
                            type: final_price
                            value: 10.00
                            date_from: 1536188400
                            date_to: 1537225140
                            weekdays: 1234567
                            blacklist:
                            - 1536534000
                  method:
                    type: string
                    description: Http Method
                    example: POST
                  url:
                    type: string
                    description: Call url
                    example: /v1/variation/get
                  timestamp:
                    type: integer
                    description: 'Server time, EPOCH (Unix time or POSIX time or Unix timestamp)'
                    example: 1536051954
                  time_zone:
                    type: integer
                    description: Time zone of server
                    example: Europe/Madrid
                  status:
                    type: string
                    description: Response status
                    example: SUCCESS
                  local_time:
                    type: string
                    description: 'Local time for the response (ISO 8601 format)'
                    example: "2023-10-19T13:00:00+0200"
                  request_id:
                    type: string
                    description: 'Unique identifier for the request'
                    example: "caae62f7876a4b878c8d0e9b5c4b259b"
                  code:
                    type: integer
                    description: Response status code
                    example: '200'
                  message:
                    type: string
                    description: Response message
                    example: HTTP OK
                  details:
                    type: string
                    description: Response details
                    example: Get variations
                  version:
                    type: string
                    description: Version Turitop App
                    example: 2.60.30
        '400':
          description: Request Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - access_token
                - data
              properties:
                access_token:
                  type: string
                  description: Access token
                  example: ttJhbGciJzaXQASDCJ222XAiOiJTV1QifQ==.ttJpYXQiOjE1MjgyODg4N4TESTAsdeasdQ0NCIsImFjY2Vzc19I6IjgxLjQ1LjEyOS43OSIsInR5cGUiOiJyZWZyZXNoIn0=.722332aasd793123395856b2c820e2323d0974c082a7c6a9d2df5bf8b73f5
                data:
                  type: object
                  required:
                    - product_short_id
                  properties:
                    product_short_id:
                      type: string
                      example: P1
        description: Product variation
  /variation/insert:
    post:
      tags:
        - Variation
      summary: Insert variation in a product
      responses:
        '200':
          description: Request OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      variation:
                        $ref: '#/components/schemas/Variation'
                    example:
                      time_zone: Europe/Madrid
                      variation_id: '45661'
                      type: final_price
                      value: '10.00'
                      date_from: 1536188400
                      date_to: 1537225140
                      weekdays: 1234567
                      blacklist:
                        - 1536534000
                  method:
                    type: string
                    description: Http Method
                    example: POST
                  url:
                    type: string
                    description: Call url
                    example: /v1/variation/insert
                  timestamp:
                    type: integer
                    description: Server time, EPOCH (Unix time or POSIX time or Unix timestamp)
                    example: 1536050155
                  time_zone:
                    type: integer
                    description: Time zone of server
                    example: Europe/Madrid
                  status:
                    type: string
                    description: Response status
                    example: SUCCESS
                  local_time:
                    type: string
                    description: 'Local time for the response (ISO 8601 format)'
                    example: "2023-10-19T13:00:00+0200"
                  request_id:
                    type: string
                    description: 'Unique identifier for the request'
                    example: "caae62f7876a4b878c8d0e9b5c4b259b"
                  code:
                    type: integer
                    description: Response status code
                    example: '200'
                  message:
                    type: string
                    description: Response message
                    example: HTTP OK
                  details:
                    type: string
                    description: Response details
                    example: Insert variation
                  version:
                    type: string
                    description: Version Turitop App
                    example: 2.60.30
        '400':
          description: Request Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - access_token
                - data
              properties:
                access_token:
                  type: string
                  description: Access token
                  example: ttJhbGciJzaXQASDCJ222XAiOiJTV1QifQ==.ttJpYXQiOjE1MjgyODg4N4TESTAsdeasdQ0NCIsImFjY2Vzc19I6IjgxLjQ1LjEyOS43OSIsInR5cGUiOiJyZWZyZXNoIn0=.722332aasd793123395856b2c820e2323d0974c082a7c6a9d2df5bf8b73f5
                data:
                  type: object
                  required:
                    - product_short_id
                    - discount
                  properties:
                    product_short_id:
                      type: string
                      example: P1
                    variation:
                      type: object
                      required:
                        - type
                        - value
                        - date_from
                        - date_to
                      properties:
                        type:
                          type: string
                          description: |
                            Type of discount. Allowed values:
                              * final_price
                              * final_total_price_minus
                        value:
                          type: number
                          description: Value of discount
                        date_from:
                          type: integer
                          description: Date event to start apply variation, in EPOCH (Unix time or POSIX time or Unix timestamp)
                        date_to:
                          type: integer
                          description: Date event to finish apply variation, in EPOCH (Unix time or POSIX time or Unix timestamp)
                        blacklist:
                          type: array
                          description: Array of timestamps indicating the date where the discount will not apply
                          items:
                            type: integer
                      example:
                        type: final_price
                        value: 10
                        date_from: 1536188400
                        date_to: 1537225140
                        group_max_count: 10
                        group_min_count: 5
                        blacklist:
                          - 1536537600
        description: Product variation
  /variation/delete:
    post:
      tags:
        - Variation
      summary: Delete variation of a product
      responses:
        '200':
          description: Request OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
        '400':
          description: Request Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - access_token
                - data
              properties:
                access_token:
                  type: string
                  description: Access token
                  example: ttJhbGciJzaXQASDCJ222XAiOiJTV1QifQ==.ttJpYXQiOjE1MjgyODg4N4TESTAsdeasdQ0NCIsImFjY2Vzc19I6IjgxLjQ1LjEyOS43OSIsInR5cGUiOiJyZWZyZXNoIn0=.722332aasd793123395856b2c820e2323d0974c082a7c6a9d2df5bf8b73f5
                data:
                  type: object
                  required:
                    - product_short_id
                    - variation_id
                  properties:
                    product_short_id:
                      type: string
                      example: P1
                    variation_id:
                      type: integer
                      example: 45876
        description: Product variation
  /booking/getbooking:
    post:
      tags:
        - Booking
      summary: Get booking by short_id.
      responses:
        '200':
          description: Request OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      booking:
                        $ref: '#/components/schemas/Booking'
                  method:
                    type: string
                    description: Http Method
                    example: POST
                  url:
                    type: string
                    description: Call url
                    example: /v1/booking/getbooking
                  timestamp:
                    type: integer
                    description: 'Server time, EPOCH (Unix time or POSIX time or Unix timestamp)'
                    example: 1535539955
                  time_zone:
                    type: integer
                    description: Time zone of server
                    example: Europe/Madrid
                  status:
                    type: string
                    description: Response status
                    example: SUCCESS
                  local_time:
                    type: string
                    description: 'Local time for the response (ISO 8601 format)'
                    example: "2023-10-19T13:00:00+0200"
                  request_id:
                    type: string
                    description: 'Unique identifier for the request'
                    example: "caae62f7876a4b878c8d0e9b5c4b259b"
                  code:
                    type: integer
                    description: Response status code
                    example: '200'
                  message:
                    type: string
                    description: Response message
                    example: HTTP OK
                  details:
                    type: string
                    description: Response details
                    example: Get booking by short_id
                  version:
                    type: string
                    description: Version Turitop App
                    example: 2.60.30
        '400':
          description: Request Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
      requestBody:
        $ref: '#/components/requestBodies/Body3'
  /booking/getbookings:
    post:
      tags:
        - Booking
      summary: Get bookings by filter.
      responses:
        '200':
          description: Request OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      bookings:
                        type: array
                        description: Array with bookings
                        items:
                          $ref: '#/components/schemas/Booking'
                  method:
                    type: string
                    description: Http Method
                    example: POST
                  url:
                    type: string
                    description: Call url
                    example: /v1/booking/getbookings
                  timestamp:
                    type: integer
                    description: 'Server time, EPOCH (Unix time or POSIX time or Unix timestamp)'
                    example: 1535540986
                  time_zone:
                    type: integer
                    description: Time zone of server
                    example: Europe/Madrid
                  status:
                    type: string
                    description: Response status
                    example: SUCCESS
                  local_time:
                    type: string
                    description: 'Local time for the response (ISO 8601 format)'
                    example: "2023-10-19T13:00:00+0200"
                  request_id:
                    type: string
                    description: 'Unique identifier for the request'
                    example: "caae62f7876a4b878c8d0e9b5c4b259b"
                  code:
                    type: integer
                    description: Response status code
                    example: '200'
                  message:
                    type: string
                    description: Response message
                    example: HTTP OK
                  details:
                    type: string
                    description: Response details
                    example: Get bookings by filter
                  version:
                    type: string
                    description: Version Turitop App
                    example: 2.60.30
        '400':
          description: Request Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - access_token
                - data
              properties:
                access_token:
                  type: string
                  description: Access token
                  example: ttJhbGciJzaXQASDCJ222XAiOiJTV1QifQ==.ttJpYXQiOjE1MjgyODg4N4TESTAsdeasdQ0NCIsImFjY2Vzc19I6IjgxLjQ1LjEyOS43OSIsInR5cGUiOiJyZWZyZXNoIn0=.722332aasd793123395856b2c820e2323d0974c082a7c6a9d2df5bf8b73f5
                data:
                  type: object
                  properties:
                    filter:
                      type: object
                      description: Booking filter
                      properties:
                        bookings_date_from:
                          type: integer
                          description: Booking date from. The timestamp used for this filter must be set using the company timezone
                        bookings_date_to:
                          type: integer
                          description: Booking date to. The timestamp used for this filter must be set using the company timezone
                        bookings_modified_from:
                          type: integer
                          description: Booking date modified from. The timestamp used for this filter must be set using the company timezone
                        bookings_modified_to:
                          type: integer
                          description: Booking date modified to. The timestamp used for this filter must be set using the company timezone
                        event_date_from:
                          type: integer
                          description: Event date from. The timestamp used for this filter must be set using the company timezone
                        event_date_to:
                          type: integer
                          description: Event date to. The timestamp used for this filter must be set using the company timezone
                        valid_until_date_from:
                          type: integer
                          description: Valid until date from. The timestamp used for this filter must be set using the company timezone
                        valid_until_date_to:
                          type: integer
                          description: Valid until date to. The timestamp used for this filter must be set using the company timezone
                        show_prebookings:
                          type: boolean
                          description: Display bookings not confirmed
                        show_deleted:
                          type: boolean
                          description: Display delete booking default is false
                        deleted:
                          type: string
                          description: |
                                       The deleted param is incompatible with show_deleted. Possible values:
                                       * yes
                                       * no
                                       * all
                          example: "yes"
                        checked_in:
                          type: boolean
                          description: Display by checked status
                        gift_certificate:
                          type: boolean
                          description: Display by gift status
                        gift:
                          type: string
                          description: |
                                       The gift param is incompatible with gift_certificate. Possible values:
                                       * no
                                       * yes_unredeemed
                                       * yes_all
                                       * yes_redeemed
                          example: "yes_all"
                        status:
                          $ref: '#/components/schemas/Status'
                        multi_status:
                          type: array
                          description: |
                                       The status param is incompatible with multi_status.Payment Status. Possible values:
                                       * pending
                                       * not confirmed
                                       * confirmed
                                       * provisional
                                       * paid
                                       * not paid
                                       * refunded
                                       * cancelled
                                       * declined
                                       * not done
                          example: ["paid", "not paid", "declined"]
                          items:
                            type: string
                        user_id:
                          type: integer
                          description: 'User identifier'
                        multi_user_id:
                          type: array
                          description: 'The user_id param is incompatible with multi_user_id. Display booking from this users id list'
                          example: ["1765", "5544", "2222"]
                          items:
                            type: string
                        booking_limit:
                          type: integer
                          description: 'Booking limit per page, default 100'
                        booking_page:
                          type: integer
                          description: 'Number of the page to display'
                        product_short_id:
                          type: string
                          description: 'Display booking from this product'
                        multi_product_short_id:
                          type: array
                          description: 'The product_short_id param is incompatible with multi_product_short_id. Display booking from this products list'
                          example: ["P1", "P2", "P8"]
                          items:
                            type: string
                        generic_values:
                          type: array
                          description: Array of data of the customer, the product or the booking
                          example: ["John", "Boat travel", "River"]
                          items:
                            type: string
                        multi_channel:
                          type: array
                          description: |
                                       Channels. Possible values:
                                       * widget
                                       * backoffice
                          example: ["widget", "backoffice"]
                          items:
                            type: string
                        multi_payment_gateway:
                          type: array
                          description: 'Display booking from this Payments gateway list'
                          example: ["paypal", "stripe"]
                          items:
                            type: string
                        multi_created_by:
                          type: array
                          description: 'Display booking created by users of this users id list'
                          example: ["1765", "5544", "2222"]
                          items:
                            type: string
                        multi_transfer_point:
                          type: array
                          description: 'Display booking with transfer point on the transfer points code list'
                          example: ["1765", "5544", "2222"]
                          items:
                            type: string
                        multi_language_code:
                          type: array
                          description: 'Display booking with language on the language code list'
                          example: ["en", "es"]
                          items:
                            type: string
                        multi_order:
                          type: array
                          description: |
                                       Orders type. Possible values:
                                       * booking_date_asc
                                       * event_date_asc
                                       * product_asc
                                       * agent_asc
                                       * transfer_point_asc
                                       * pick_up_time_asc
                                       * booking_date_desc
                                       * event_date_desc
                                       * product_desc
                                       * agent_desc
                                       * transfer_point_desc
                                       * pick_up_time_desc
                          example: ["booking_date_asc", "event_date_asc"]
                          items:
                            type: string
                        bookings_pick_up_time_from:
                          type: string
                          description: 'Booking with pick up time from'
                          example: "08:40"
                        bookings_pick_up_time_to:
                          type: string
                          description: 'Booking with pick up time to'
                          example: "23:59"
                      example:
                        bookings_date_from: 1516060800
                        bookings_date_to: 1533035968
                        product_short_id: "P1"
                        show_deleted: 1
                        checked_in: 1
        description: Booking
  /booking/delete:
    post:
      tags:
        - Booking
      summary: Delete booking by short_id.
      responses:
        '200':
          description: Request OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  method:
                    type: string
                    description: Http Method
                    example: POST
                  url:
                    type: string
                    description: Call url
                    example: /v1/booking/delete
                  timestamp:
                    type: integer
                    description: 'Server time, EPOCH (Unix time or POSIX time or Unix timestamp)'
                    example: 1535541332
                  time_zone:
                    type: integer
                    description: Time zone of server
                    example: Europe/Madrid
                  status:
                    type: string
                    description: Response status
                    example: SUCCESS
                  local_time:
                    type: string
                    description: 'Local time for the response (ISO 8601 format)'
                    example: "2023-10-19T13:00:00+0200"
                  request_id:
                    type: string
                    description: 'Unique identifier for the request'
                    example: "caae62f7876a4b878c8d0e9b5c4b259b"
                  code:
                    type: integer
                    description: Response status code
                    example: '200'
                  message:
                    type: string
                    description: Response message
                    example: HTTP OK
                  details:
                    type: string
                    description: Response details
                    example: Delete booking by short_id
                  version:
                    type: string
                    description: Version Turitop App
                    example: 2.60.30
        '400':
          description: Request Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
      requestBody:
        $ref: '#/components/requestBodies/Body3'
  /booking/undelete:
    post:
      tags:
        - Booking
      summary: Undelete booking by short_id.
      responses:
        '200':
          description: Request OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  method:
                    type: string
                    description: Http Method
                    example: POST
                  url:
                    type: string
                    description: Call url
                    example: /v1/booking/undelete
                  timestamp:
                    type: integer
                    description: 'Server time, EPOCH (Unix time or POSIX time or Unix timestamp)'
                    example: 1535541467
                  time_zone:
                    type: integer
                    description: Time zone of server
                    example: Europe/Madrid
                  status:
                    type: string
                    description: Response status
                    example: SUCCESS
                  local_time:
                    type: string
                    description: 'Local time for the response (ISO 8601 format)'
                    example: "2023-10-19T13:00:00+0200"
                  request_id:
                    type: string
                    description: 'Unique identifier for the request'
                    example: "caae62f7876a4b878c8d0e9b5c4b259b"
                  code:
                    type: integer
                    description: Response status code
                    example: '200'
                  message:
                    type: string
                    description: Response message
                    example: HTTP OK
                  details:
                    type: string
                    description: Response details
                    example: Undelete booking by short_id
                  version:
                    type: string
                    description: Version Turitop App
                    example: 2.60.30
        '400':
          description: Request Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
      requestBody:
        $ref: '#/components/requestBodies/Body3'
  /booking/tour/insert:
    post:
      tags:
        - Booking
      summary: Insert a booking for tour services
      responses:
        '200':
          description: Request OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      booking:
                        $ref: '#/components/schemas/Booking'
                  method:
                    type: string
                    description: Http Method
                    example: POST
                  url:
                    type: string
                    description: Call url
                    example: /v1/booking/tour/insert
                  timestamp:
                    type: integer
                    description: 'Server time, EPOCH (Unix time or POSIX time or Unix timestamp)'
                    example: 1535542415
                  time_zone:
                    type: integer
                    description: Time zone of server
                    example: Europe/Madrid
                  status:
                    type: string
                    description: Response status
                    example: SUCCESS
                  local_time:
                    type: string
                    description: 'Local time for the response (ISO 8601 format)'
                    example: "2023-10-19T13:00:00+0200"
                  request_id:
                    type: string
                    description: 'Unique identifier for the request'
                    example: "caae62f7876a4b878c8d0e9b5c4b259b"
                  code:
                    type: integer
                    description: Response status code
                    example: '200'
                  message:
                    type: string
                    description: Response message
                    example: HTTP OK
                  details:
                    type: string
                    description: Response details
                    example: Insert booking
                  version:
                    type: string
                    description: Version Turitop App
                    example: 2.60.30
        '400':
          description: Request Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - access_token
                - data
              properties:
                access_token:
                  type: string
                  description: Access token
                data:
                  type: object
                  required:
                    - product_short_id
                    - booking
                  properties:
                    product_short_id:
                      type: string
                      description: Product short id
                      example: P12
                    override_client_data:
                      type: boolean
                      description: Override the provider-defined required fields (disable client-side validation and auto-fill required fields with placeholders)
                    booking:
                      type: object
                      description: Booking data
                      required:
                        - event_start
                        - ticket_type_count
                        - status
                        - payment_gateway
                        - client_data
                      properties:
                        language_code:
                          type: string
                          description: Booking language<br>ISO 639-1. Standard nomenclature used to classify languages <br>
                        event_start:
                          type: integer
                          description: Date event for booking
                        only_open:
                          type: boolean
                          description: Allow to insert only on open events
                        ticket_type_count:
                          $ref: '#/components/schemas/TicketCount'
                        total_price:
                          type: number
                          description: Total price for booking
                        payment_partial:
                          type: number
                          description: Partial payment for booking
                        status:
                          $ref: '#/components/schemas/Status'
                        gift_certificate:
                          type: boolean
                          description: Booking is a gift
                        gift_details:
                          type: object
                          description: Data with gift details
                          properties:
                            name_of_beneficiary:
                              type: string
                              description: Name of beneficiary
                            gift_email_date:
                              type: integer
                              description: Date send email to beneficiary
                            email_of_beneficiary:
                              type: string
                              description: Email beneficiary is required is exist gift_email_date
                            dedicatory:
                              type: string
                              description: Dedicatory
                        payment_gateway:
                          $ref: '#/components/schemas/PaymentGateway'
                        client_data:
                          $ref: '#/components/schemas/ClientData'
                        comments:
                          type: string
                          description: Comment for booking
                        notes:
                          type: string
                          description: Note for booking
                        hotel:
                          type: integer
                          description: Code for transfer hotel (not to be confused with client_data > hotel).
                        coordinates:
                          type: string
                          description: Latitude and longitude used to automatically determine the nearest pickup point 
                        send_booking_email:
                          type: boolean
                          description: Send booking email to the client after inserting the booking
                          example: true
                        send_booking_email_copies:
                          type: boolean
                          description: Send booking email to the company after inserting the booking
                        user_id:
                          type: integer
                          description: |
                            User ID of the supplier’s agent making the booking. (Optional)
                            User must be a registered agent in the supplier's panel (not the reseller panel).
                        reseller_company_short_id:
                          type: string
                          description: The reseller company identifier
                        expires_in:
                          type: integer
                          description: Time in seconds until the booking is deleted if the status is pending
                        promo_code:
                          type: string
                          description: Code to apply discount
                      example:
                        event_start: 1567416600
                        ticket_type_count:
                          '33849': 1
                        coordinates: '28.46824,-16.25462'
                        client_data:
                          name: Peter Griffin
                          email: PGriffin@familyguy.com
                          phone: '+3454681208'
                          landline: '+3492215054'
                          nationalid: 787775426821X
                          birthday: 11/01/1981
                          age: '37'
                          language: English
                          country: USA
                          locality: Texas
                          comments: I need a size XXXL for the life jacket
                          hotel: Tenerife Palace
                          room: Suite A23
                          address: 31 Spooner Street
                          postalcode: '47616'
                          acceptterms: 1
                          newsletter: 1
                        short_id_seat: 'F_PP_1_24'
                        status: paid
                        notes: The customer has XXXL size
                        hotel: 17314
                        payment_gateway: stripe
        description: Booking
  /booking/tour/reserve:
    post:
      tags:
        - Booking
      summary: Insert a prebooking for tour services
      responses:
        '200':
          description: Request OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      booking:
                        $ref: '#/components/schemas/Prebooking'
                  method:
                    type: string
                    description: Http Method
                    example: POST
                  url:
                    type: string
                    description: Call url
                    example: /v1/booking/tour/reserve
                  timestamp:
                    type: integer
                    description: 'Server time, EPOCH (Unix time or POSIX time or Unix timestamp)'
                    example: 1535542415
                  time_zone:
                    type: integer
                    description: Time zone of server
                    example: Europe/Madrid
                  status:
                    type: string
                    description: Response status
                    example: SUCCESS
                  local_time:
                    type: string
                    description: 'Local time for the response (ISO 8601 format)'
                    example: "2023-10-19T13:00:00+0200"
                  request_id:
                    type: string
                    description: 'Unique identifier for the request'
                    example: "caae62f7876a4b878c8d0e9b5c4b259b"
                  code:
                    type: integer
                    description: Response status code
                    example: '200'
                  message:
                    type: string
                    description: Response message
                    example: HTTP OK
                  details:
                    type: string
                    description: Response details
                    example: Insert prebooking
                  version:
                    type: string
                    description: Version Turitop App
                    example: 2.60.30
        '400':
          description: Request Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - access_token
                - data
              properties:
                access_token:
                  type: string
                  description: Access token
                data:
                  type: object
                  required:
                    - product_short_id
                    - booking
                  properties:
                    product_short_id:
                      type: string
                      description: Product short id
                      example: P12
                    check_cutoff:
                      type: boolean
                      description: Verify the cutoff time before inserting the pre-booking
                      example: true
                    booking:
                      type: object
                      description: Booking data
                      required:
                        - event_start
                        - ticket_type_count
                        - expires_in
                      properties:
                        language_code:
                          type: string
                          description: Booking language<br>ISO 639-1. Standard nomenclature used to classify languages <br>
                        event_start:
                          type: integer
                          description: Date event for booking
                        ticket_type_count:
                          $ref: '#/components/schemas/TicketCount'
                        expires_in:
                          type: integer
                          description: Time in seconds until the booking is deleted if the status is pending
                        user_id:
                          type: integer
                          description: |
                            User ID of the supplier’s agent making the booking. (Optional)<br>
                            User must be a registered agent in the supplier's panel (not the reseller panel).
                        notes:
                          type: string
                          description: Note for prebooking
                        hotel:
                          type: integer
                          description: Code for transfer hotel (not to be confused with client_data > hotel).
                        coordinates:
                          type: string
                          description: Latitude and longitude used to automatically determine the nearest pickup point 
                      example:
                        event_start: 1567416600
                        ticket_type_count:
                          '33849': 1
                        expires_in: 300
                        user_id: 14852
                        notes: This is a prebooking
                        coordinates: '28.46824,-16.25462'
        description: Booking
  /booking/tour/edit:
    post:
      tags:
        - Booking
      summary: Edit a booking for service flow is tour
      responses:
        '200':
          description: Request OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      booking:
                        $ref: '#/components/schemas/Booking'
                  method:
                    type: string
                    description: Http Method
                    example: POST
                  url:
                    type: string
                    description: Call url
                    example: /v1/booking/tour/edit
                  timestamp:
                    type: integer
                    description: 'Server time, EPOCH (Unix time or POSIX time or Unix timestamp)'
                    example: 1535542726
                  time_zone:
                    type: integer
                    description: Time zone of server
                    example: Europe/Madrid
                  status:
                    type: string
                    description: Response status
                    example: SUCCESS
                  local_time:
                    type: string
                    description: 'Local time for the response (ISO 8601 format)'
                    example: "2023-10-19T13:00:00+0200"
                  request_id:
                    type: string
                    description: 'Unique identifier for the request'
                    example: "caae62f7876a4b878c8d0e9b5c4b259b"
                  code:
                    type: integer
                    description: Response status code
                    example: '200'
                  message:
                    type: string
                    description: Response message
                    example: HTTP OK
                  details:
                    type: string
                    description: Response details
                    example: Edit booking
                  version:
                    type: string
                    description: Version Turitop App
                    example: 2.60.30
        '400':
          description: Request Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - access_token
                - data
              properties:
                access_token:
                  type: string
                  description: Access token
                  example: ttJhbGciJzaXQASDCJ222XAiOiJTV1QifQ==.ttJpYXQiOjE1MjgyODg4N4TESTAsdeasdQ0NCIsImFjY2Vzc19I6IjgxLjQ1LjEyOS43OSIsInR5cGUiOiJyZWZyZXNoIn0=.722332aasd793123395856b2c820e2323d0974c082a7c6a9d2df5bf8b73f5
                data:
                  type: object
                  required:
                    - short_id
                    - booking
                  properties:
                    short_id:
                      type: string
                      description: Booking short id
                      example: E227-T444-180821-1
                    override_client_data:
                      type: boolean
                      description: Override the provider-defined required fields (disable client-side validation and auto-fill required fields with placeholders)
                    booking:
                      type: object
                      description: Booking data
                      properties:
                        language_code:
                          type: string
                          description: Booking language<br>ISO 639-1. Standard nomenclature used to classify languages <br>
                        event_start:
                          type: integer
                          description: Date event for booking
                        ticket_type_count:
                          $ref: '#/components/schemas/TicketCount'
                        total_price:
                          type: number
                          description: Total price for booking
                        payment_partial:
                          type: number
                          description: Partial payment for booking
                        status:
                          $ref: '#/components/schemas/Status'
                        gift_certificate:
                          type: boolean
                          description: Boogink is a gift
                        gift_details:
                          type: object
                          description: Data with gift details
                          properties:
                            name_of_beneficiary:
                              type: string
                              description: Name of beneficiary
                            gift_email_date:
                              type: integer
                              description: Date send email to beneficiary
                            email_of_beneficiary:
                              type: string
                              description: Email beneficiary is required is exist gift_email_date
                            dedicatory:
                              type: string
                              description: Dedicatory
                        payment_gateway:
                          $ref: '#/components/schemas/PaymentGateway'
                        client_data:
                          $ref: '#/components/schemas/ClientData'
                        comments:
                          type: string
                          description: Comment for booking
                        notes:
                          type: string
                          description: Additional internal notes related to the booking. Not visible to customers
                        hotel:
                          type: integer
                          description: Code for transfer hotel (not to be confused with client_data > hotel)
                        send_booking_email:
                          type: boolean
                          description: Send booking email to the client after inserting the booking
                          example: true
                        send_booking_email_copies:
                          type: boolean
                          description: Send booking email to the company after inserting the booking
                        user_id:
                          type: integer
                          description: |
                            User ID of the supplier’s agent making the booking (Optional)<br>
                            User must be a registered agent in the supplier's panel (not the reseller panel)
                        reseller_company_short_id:
                          type: string
                          description: The reseller company identifier
                        override_payment_transaction:
                          type: boolean
                          description: Override payment transaction data validation and fill with placeholders all the required fields
                        payment_transaction:
                         $ref: '#/components/schemas/PaymentHistoryLog'
                      example:
                        ticket_type_count:
                          '33849': 1
                        client_data:
                          name: Peter Griffin
                          email: PGriffin@familyguy.com
                          phone: '+3454681208'
                          landline: '+3492215054'
                          nationalid: 787775426821X
                          birthday: 11/01/1981
                          age: '37'
                          language: English
                          country: USA
                          locality: Texas
                          comments: I need a size XXXL for the life jacket
                          hotel: Tenerife Palace
                          room: Suite A23
                          address: 31 Spooner Street
                          postalcode: '47616'
                          acceptterms: 1
                          newsletter: 1
                        override_payment_transaction: true
                        payment_transaction:
                            date: "2025-06-03"
                            payment_method: "redsysinsite"
                            amount: 35
                            gateway_fee: 0
                            note: "test transaction"
                            read_only: false
                            tracking_id_external: "681480f9d3dd5"
                            tracking_id: "C1683ecb0274889"
                            is_manual: true
                        short_id_seat: 'F_PP_1_24'
                        status: paid
                        notes: The customer has XXXL size
                        payment_gateway: stripe
        description: Booking
  /booking/open/insert:
    post:
      tags:
        - Booking
      summary: Insert a booking for service flow is open
      responses:
        '200':
          description: Request OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      booking:
                        $ref: '#/components/schemas/Booking'
                    example:
                      product_name: Open service
                      product_short_id: P3
                      product_time_zone: Europe/Madrid
                      short_id: T444-180829-1
                      language_code: en
                      location: ''
                      service_flow: open
                      valid_until: 1543327440
                      date_prebooking: 1535544266
                      date_booking: 1535544266
                      client_data:
                        name: Test name
                        email: test@turitop.com
                        phone: '666587412'
                        comments: This a test
                      ticket_type_count:
                        - id: 23432
                          name: Child
                          count: 1
                          price_per_ticket: '30.00'
                        - id: 23452
                          name: Adult
                          count: 0
                          price_per_ticket: '45.00'
                      currency: EUR
                      total_price: '30.00'
                      payment_partial: '30.00'
                      gateway_fee: '0'
                      agent_fee: '0'
                      source: api-turitop
                      multi_client_hash: ''
                      status: pending
                      notes: ''
                      payment_gateway: stripe
                      gift_certificate: '0'
                      checked: false
                  method:
                    type: string
                    description: Http Method
                    example: POST
                  url:
                    type: string
                    description: Call url
                    example: /v1/booking/open/insert
                  timestamp:
                    type: integer
                    description: 'Server time, EPOCH (Unix time or POSIX time or Unix timestamp)'
                    example: 1535544583
                  time_zone:
                    type: integer
                    description: Time zone of server
                    example: Europe/Madrid
                  status:
                    type: string
                    description: Response status
                    example: SUCCESS
                  local_time:
                    type: string
                    description: 'Local time for the response (ISO 8601 format)'
                    example: "2023-10-19T13:00:00+0200"
                  request_id:
                    type: string
                    description: 'Unique identifier for the request'
                    example: "caae62f7876a4b878c8d0e9b5c4b259b"
                  code:
                    type: integer
                    description: Response status code
                    example: '200'
                  message:
                    type: string
                    description: Response message
                    example: HTTP OK
                  details:
                    type: string
                    description: Response details
                    example: Insert booking
                  version:
                    type: string
                    description: Version Turitop App
                    example: 2.60.30
        '400':
          description: Request Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - access_token
                - data
              properties:
                access_token:
                  type: string
                  description: Access token
                  example: ttJhbGciJzaXQASDCJ222XAiOiJTV1QifQ==.ttJpYXQiOjE1MjgyODg4N4TESTAsdeasdQ0NCIsImFjY2Vzc19I6IjgxLjQ1LjEyOS43OSIsInR5cGUiOiJyZWZyZXNoIn0=.722332aasd793123395856b2c820e2323d0974c082a7c6a9d2df5bf8b73f5
                data:
                  type: object
                  required:
                    - product_short_id
                    - booking
                  properties:
                    product_short_id:
                      type: string
                      description: Product short id
                      example: P3
                    booking:
                      type: object
                      description: Booking data
                      required:
                        - ticket_type_count
                        - status
                        - payment_gateway
                        - client_data
                      properties:
                        ticket_type_count:
                          $ref: '#/components/schemas/TicketCount'
                        total_price:
                          type: number
                          description: Total price for booking
                        payment_partial:
                          type: number
                          description: Partial payment for booking
                        status:
                          $ref: '#/components/schemas/Status'
                        payment_gateway:
                          $ref: '#/components/schemas/PaymentGateway'
                        client_data:
                          $ref: '#/components/schemas/ClientData'
                        comments:
                          type: string
                          description: Comment for booking
                        notes:
                          type: string
                          description: Additional internal notes related to the booking. Not visible to customers
                        send_booking_email:
                          type: boolean
                          description: Choose if sending the confirmation mail to client and company
                        user_id:
                          type: integer
                          description: User identificator for Agents registered in the provider's panel (Optional)
                        expires_in:
                          type: integer
                          description: Time in seconds until the booking is deleted if the status is pending
                        promo_code:
                          type: string
                          description: Code to apply discount
                      example:
                        ticket_type_count:
                          '23432': 1
                          '23452': 0
                        status: pending
                        payment_gateway: stripe
                        client_data:
                          name: Test name
                          email: test@turitop.com
                          phone: '666587412'
                          comments: This a test
        description: Booking
  /booking/open/edit:
    post:
      tags:
        - Booking
      summary: Edit a booking for service flow is open
      responses:
        '200':
          description: Request OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      booking:
                        $ref: '#/components/schemas/Booking'
                    example:
                      product_name: Open service
                      product_short_id: P3
                      product_time_zone: Europe/Madrid
                      short_id: T444-180829-1
                      language_code: en
                      location: ''
                      service_flow: open
                      valid_until: 1543327440
                      date_prebooking: 1535544266
                      date_booking: 1535544266
                      client_data:
                        name: Test name
                        email: test@turitop.com
                        phone: '666587412'
                        comments: This a test
                      ticket_type_count:
                        - id: 23432
                          name: Child
                          count: 1
                          price_per_ticket: '30.00'
                        - id: 23452
                          name: Adult
                          count: 0
                          price_per_ticket: '45.00'
                      currency: EUR
                      total_price: '30.00'
                      payment_partial: '30.00'
                      gateway_fee: '0'
                      agent_fee: '0'
                      source: api-turitop
                      multi_client_hash: ''
                      status: pending
                      notes: ''
                      payment_gateway: stripe
                      gift_certificate: '0'
                      checked: false
                  method:
                    type: string
                    description: Http Method
                    example: POST
                  url:
                    type: string
                    description: Call url
                    example: /v1/booking/open/edit
                  timestamp:
                    type: integer
                    description: 'Server time, EPOCH (Unix time or POSIX time or Unix timestamp)'
                    example: 1535547588
                  time_zone:
                    type: integer
                    description: Time zone of server
                    example: Europe/Madrid
                  status:
                    type: string
                    description: Response status
                    example: SUCCESS
                  local_time:
                    type: string
                    description: 'Local time for the response (ISO 8601 format)'
                    example: "2023-10-19T13:00:00+0200"
                  request_id:
                    type: string
                    description: 'Unique identifier for the request'
                    example: "caae62f7876a4b878c8d0e9b5c4b259b"
                  code:
                    type: integer
                    description: Response status code
                    example: '200'
                  message:
                    type: string
                    description: Response message
                    example: HTTP OK
                  details:
                    type: string
                    description: Response details
                    example: Edit booking
                  version:
                    type: string
                    description: Version Turitop App
                    example: 2.60.30
        '400':
          description: Request Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - access_token
                - data
              properties:
                access_token:
                  type: string
                  description: Access token
                data:
                  type: object
                  required:
                    - short_id
                    - booking
                  properties:
                    short_id:
                      type: string
                      description: Booking short id
                      example: T444-180829-1
                    booking:
                      type: object
                      description: Booking data
                      properties:
                        ticket_type_count:
                          $ref: '#/components/schemas/TicketCount'
                        total_price:
                          type: number
                          description: Total price for booking
                        payment_partial:
                          type: number
                          description: Partial payment for booking
                        status:
                          $ref: '#/components/schemas/Status'
                        payment_gateway:
                          $ref: '#/components/schemas/PaymentGateway'
                        client_data:
                          $ref: '#/components/schemas/ClientData'
                        comments:
                          type: string
                          description: Comment for booking
                        notes:
                          type: string
                          description: Additional internal notes related to the booking. Not visible to customers
                        user_id:
                          type: integer
                          description: User identificator for Agents registered in the provider's panel
                      example:
                        ticket_type_count:
                          '23432': 1
                          '23452': 0
                        status: pending
                        payment_gateway: stripe
                        client_data:
                          name: Test name
                          email: test@turitop.com
                          phone: '666587412'
                          comments: This a test
        description: Booking
  /booking/pay:
    post:
      tags:
        - Booking
      summary: Paid a booking for redsys gateway
      responses:
        '200':
          description: Request OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      payment_url:
                        type: string
                        description: Url for pay the booking list
                        example: 'https://paymenttest.turitop.com/form/payment/redsys/NWI4NmIGRTSwODA1MWE0'
                  method:
                    type: string
                    description: Http Method
                    example: POST
                  url:
                    type: string
                    description: Call url
                    example: v1/booking/pay
                  timestamp:
                    type: integer
                    description: 'Server time, EPOCH (Unix time or POSIX time or Unix timestamp)'
                    example: 1535553664
                  time_zone:
                    type: integer
                    description: Time zone of server
                    example: Europe/Madrid
                  status:
                    type: string
                    description: Response status
                    example: SUCCESS
                  local_time:
                    type: string
                    description: 'Local time for the response (ISO 8601 format)'
                    example: "2023-10-19T13:00:00+0200"
                  request_id:
                    type: string
                    description: 'Unique identifier for the request'
                    example: "caae62f7876a4b878c8d0e9b5c4b259b"
                  code:
                    type: integer
                    description: Response status code
                    example: '200'
                  message:
                    type: string
                    description: Response message
                    example: HTTP OK
                  details:
                    type: string
                    description: Response details
                    example: Payment bookings
                  version:
                    type: string
                    description: Version Turitop App
                    example: 2.60.30
        '400':
          description: Request Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - access_token
                - data
              properties:
                access_token:
                  type: string
                  description: Access token
                  example: ttJhbGciJzaXQASDCJ222XAiOiJTV1QifQ==.ttJpYXQiOjE1MjgyODg4N4TESTAsdeasdQ0NCIsImFjY2Vzc19I6IjgxLjQ1LjEyOS43OSIsInR5cGUiOiJyZWZyZXNoIn0=.722332aasd793123395856b2c820e2323d0974c082a7c6a9d2df5bf8b73f5
                data:
                  type: object
                  required:
                    - bookings_short_id
                  properties:
                    bookings_short_id:
                      type: array
                      description: List of booking short_id
                      items:
                        type: string
                        example: T444-180829-1
                    description:
                      type: string
                      description: Payment description
                      example: Payment test
                    name:
                      type: string
                      description: Payment name
                      example: Test name
                    url_ok:
                      type: string
                      description: Url to redirect when payment is success
                      example: 'http://urlpaymentsuccess.com'
                    url_fail:
                      type: string
                      description: Url to redirect when payment is failed
                      example: 'http://urlpaymentfailed.com'
        description: paid
  /booking/checkin:
    post:
      tags:
        - Booking
      summary: Update booking as checked
      responses:
        '200':
          description: Request OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      date_enjoyed:
                        type: integer
                        description: 'Date, in epoch format, when the check was performed'
                        example: 1535557860
                  method:
                    type: string
                    description: Http Method
                    example: POST
                  url:
                    type: string
                    description: Call url
                    example: /v1/booking/checkin
                  timestamp:
                    type: integer
                    description: 'Server time, EPOCH (Unix time or POSIX time or Unix timestamp)'
                    example: 1535554279
                  time_zone:
                    type: integer
                    description: Time zone of server
                    example: Europe/Madrid
                  status:
                    type: string
                    description: Response status
                    example: SUCCESS
                  local_time:
                    type: string
                    description: 'Local time for the response (ISO 8601 format)'
                    example: "2023-10-19T13:00:00+0200"
                  request_id:
                    type: string
                    description: 'Unique identifier for the request'
                    example: "caae62f7876a4b878c8d0e9b5c4b259b"
                  code:
                    type: integer
                    description: Response status code
                    example: '200'
                  message:
                    type: string
                    description: Response message
                    example: HTTP OK
                  details:
                    type: string
                    description: Response details
                    example: Checked
                  version:
                    type: string
                    description: Version Turitop App
                    example: 2.60.30
        '400':
          description: Request Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - access_token
                - data
              properties:
                access_token:
                  type: string
                  description: Access token
                  example: ttJhbGciJzaXQASDCJ222XAiOiJTV1QifQ==.ttJpYXQiOjE1MjgyODg4N4TESTAsdeasdQ0NCIsImFjY2Vzc19I6IjgxLjQ1LjEyOS43OSIsInR5cGUiOiJyZWZyZXNoIn0=.722332aasd793123395856b2c820e2323d0974c082a7c6a9d2df5bf8b73f5
                data:
                  type: object
                  required:
                    - short_id
                  properties:
                    short_id:
                      type: string
                      description: Booking short id
                      example: T444-180829-1
        description: Booking
  /booking/uncheckin:
    post:
      tags:
        - Booking
      summary: Update booking as unchecked
      responses:
        '200':
          description: Request OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
        '400':
          description: Request Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - access_token
                - data
              properties:
                access_token:
                  type: string
                  description: Access token
                  example: ttJhbGciJzaXQASDCJ222XAiOiJTV1QifQ==.ttJpYXQiOjE1MjgyODg4N4TESTAsdeasdQ0NCIsImFjY2Vzc19I6IjgxLjQ1LjEyOS43OSIsInR5cGUiOiJyZWZyZXNoIn0=.722332aasd793123395856b2c820e2323d0974c082a7c6a9d2df5bf8b73f5
                data:
                  type: object
                  required:
                    - short_id
                  properties:
                    short_id:
                      type: string
                      description: Booking short id
                      example: T444-180829-1
        description: Booking
  /booking/redeem:
    post:
      tags:
        - Booking
      summary: Redeem a gift voucher
      responses:
        '200':
          description: Request OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
        '400':
          description: Request Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - access_token
                - data
              properties:
                access_token:
                  type: string
                  description: Access token
                data:
                  type: object
                  required:
                    - gift_code
                    - event_date
                  properties:
                    gift_code:
                      type: string
                      description: 'Code of the gift voucher to be redeemed'
                      example: "7akj6b1lh"
                    event_date:
                      type: integer
                      description: 'Epoch date of the event'
                      example: 1535557860
                    hotel_id:
                      type: integer
                      description: Hotel id. Only required if the transfer is mandatory to complete the booking
                      example: 5166
                    name:
                      type: string
                      description: Customer name. This will override the name of the beneficiary in the Gift Voucher
                      example: "Jhon Doe"
                    phone:
                      type: string
                      description: Customer phone number
                      example: "+3465983265"
                    email:
                      type: string
                      description: Customer email. This will override the email of the beneficiary in the Gift Voucher
                      example: johndoe@gmail.com
  /resell/getMarketplaceProviders:
    post:
      tags:
        - Resell
      summary: Get all marketplace providers
      description: >
        Returns all providers from the TuriTop Marketplace, paginated in pages of 100 results.
        Results can be filtered by country and location. If the page parameter is not sent,
        page 1 is returned by default. Keep requesting page=1, 2, 3... until has_more is false
        to retrieve all providers.
      responses:
        '200':
          description: Request OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      providers:
                        type: array
                        items:
                          type: object
                          properties:
                            short_id:
                              type: string
                              description: 'Short identifier of the provider'
                              example: "T5"
                            name:
                              type: string
                              description: 'Name of the provider'
                              example: "Test SL"
                            country:
                              type: string
                              description: 'Country of the provider'
                              example: "Spain"
                            location:
                              type: string
                              description: 'Location of the provider'
                              example: "Santa Cruz de Tenerife"
                      pagination:
                        type: object
                        description: 'Pagination info for navigating through results'
                        properties:
                          current_page:
                            type: integer
                            description: 'The page number returned'
                            example: 1
                          page_size:
                            type: integer
                            description: 'Number of results per page (always 100)'
                            example: 100
                          total:
                            type: integer
                            description: 'Total number of providers in the marketplace'
                            example: 1
                          total_pages:
                            type: integer
                            description: 'Total number of pages available'
                            example: 1
                          has_more:
                            type: boolean
                            description: 'Whether there are more pages after the current one'
                            example: false
                  method:
                    type: string
                    description: Http Method
                    example: POST
                  url:
                    type: string
                    description: Call url
                    example: /v1/resell/getMarketplaceProviders
                  timestamp:
                    type: integer
                    description: 'Server time, EPOCH (Unix time or POSIX time or Unix timestamp)'
                    example: 1777041030
                  time_zone:
                    type: string
                    description: Time zone of server
                    example: Europe/Madrid
                  status:
                    type: string
                    description: Response status
                    example: SUCCESS
                  local_time:
                    type: string
                    description: 'Local time for the response (ISO 8601 format)'
                    example: "2026-04-24T16:30:30+02:00"
                  request_id:
                    type: string
                    description: 'Unique identifier for the request'
                    example: "27e390ed65d542e699c309f6fbdf4243"
                  code:
                    type: string
                    description: Response status code
                    example: '200'
                  message:
                    type: string
                    description: Response message
                    example: HTTP OK
                  details:
                    type: string
                    description: Response details
                    example: Get Marketplace Providers
                  version:
                    type: string
                    description: Version Turitop App
                    example: 2.63.36
        '400':
          description: Request Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - access_token
              properties:
                access_token:
                  type: string
                  description: Access token
                data:
                  type: object
                  properties:
                    page:
                      type: integer
                      description: 'Page number to retrieve (default: 1). Each page returns up to 100 providers.'
                      example: 1
                    filter:
                      type: object
                      description: 'Optional filters to narrow down providers'
                      properties:
                        country:
                          type: string
                          description: 'Filter providers by country'
                          example: Spain
                        location:
                          type: string
                          description: 'Filter providers by location'
                          example: "Santa Cruz de Tenerife"
        description: Marketplace providers
  /resell/getProductsToResell:
    post:
      tags:
        - Resell
      summary: Get products available to resell (max. 250)
      responses:
        '200':
          description: Request OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      products:
                        type: array
                        items:
                          $ref: '#/components/schemas/ProductDataResell'
                  method:
                    type: string
                    description: Http Method
                    example: POST
                  url:
                    type: string
                    description: Call url
                    example: /v1/resell/getProductsToResell
                  timestamp:
                    type: integer
                    description: 'Server time, EPOCH (Unix time or POSIX time or Unix timestamp)'
                    example: 1535533331
                  time_zone:
                    type: integer
                    description: Time zone of server
                    example: Europe/Madrid
                  status:
                    type: string
                    description: Response status
                    example: SUCCESS
                  local_time:
                    type: string
                    description: 'Local time for the response (ISO 8601 format)'
                    example: "2023-10-19T13:00:00+0200"
                  request_id:
                    type: string
                    description: 'Unique identifier for the request'
                    example: "caae62f7876a4b878c8d0e9b5c4b259b"
                  code:
                    type: integer
                    description: Response status code
                    example: '200'
                  message:
                    type: string
                    description: Response message
                    example: HTTP OK
                  details:
                    type: string
                    description: Response details
                    example: Products to resell
                  version:
                    type: string
                    description: Version Turitop App
                    example: 2.60.30
        '400':
          description: Request Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - access_token
              properties:
                access_token:
                  type: string
                  description: Access token
                data:
                  type: object
                  properties:
                    filter:
                      type: object
                      properties:
                        company_name:
                          type: string
                          description: 'The name of the company'
                          example: Deep Blue
                        product_name:
                          type: string
                          description: 'The name of the product'
                          example: DeepBlue Travels
                        location:
                          type: string
                          description: 'The city of the company'
                          example: Madrid
                        country:
                          type: string
                          description: 'The country of the company'
                          example: Spain
                        province:
                          type: string
                          description: 'The province of the company'
                          example: Madrid
                        destination:
                          type: string
                          description: 'The destination of the company'
                          example: Madrid
        description: Products to resell (max. 250)
  /resell/sendResaleRequest:
    post:
      tags:
        - Resell
      summary: Send resell request
      responses:
        '200':
          description: Request OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      product:
                        type: array
                        items:
                          $ref: '#/components/schemas/ProductDataResellRequest'
                  method:
                    type: string
                    description: Http Method
                    example: POST
                  url:
                    type: string
                    description: Call url
                    example: /v1/resell/sendResaleRequest
                  timestamp:
                    type: integer
                    description: 'Server time, EPOCH (Unix time or POSIX time or Unix timestamp)'
                    example: 1535533331
                  time_zone:
                    type: integer
                    description: Time zone of server
                    example: Europe/Madrid
                  status:
                    type: string
                    description: Response status
                    example: SUCCESS
                  local_time:
                    type: string
                    description: 'Local time for the response (ISO 8601 format)'
                    example: "2023-10-19T13:00:00+0200"
                  request_id:
                    type: string
                    description: 'Unique identifier for the request'
                    example: "caae62f7876a4b878c8d0e9b5c4b259b"
                  code:
                    type: integer
                    description: Response status code
                    example: '200'
                  message:
                    type: string
                    description: Response message
                    example: HTTP OK
                  details:
                    type: string
                    description: Response details
                    example: Send resale request
                  version:
                    type: string
                    description: Version Turitop App
                    example: 2.60.30
        '400':
          description: Request Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - access_token
              properties:
                access_token:
                  type: string
                  description: Access token
                data:
                  type: object
                  properties:
                    resell:
                      type: object
                      required:
                        - company_short_id
                        - product_short_id
                        - product_fee
                        - resell_pay_to
                      properties:
                        company_short_id:
                          type: string
                          description: 'The company identifier to resell'
                          example: D220
                        product_short_id:
                          type: string
                          description: 'The product identifier to resell'
                          example: P1
                        product_fee:
                          type: string
                          description: 'Preferred fee, it is a percentage numeric value, between 0 and 1 '
                          example: 0.513
                        resell_pay_to:
                          type: string
                          description: 'Defines who charges first (reseller or provider)'
                          example: provider
        description: Send request to resell
  /resell/acceptResaleRequest:
    post:
      tags:
        - Resell
      summary: Accept resale request
      responses:
        '200':
          description: Request OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      product:
                        type: array
                        items:
                          $ref: '#/components/schemas/ProductDataAcceptRequest'
                  method:
                    type: string
                    description: Http Method
                    example: POST
                  url:
                    type: string
                    description: Call url
                    example: /v1/resell/acceptResaleRequest
                  timestamp:
                    type: integer
                    description: 'Server time, EPOCH (Unix time or POSIX time or Unix timestamp)'
                    example: 1535533331
                  time_zone:
                    type: integer
                    description: Time zone of server
                    example: Europe/Madrid
                  status:
                    type: string
                    description: Response status
                    example: SUCCESS
                  local_time:
                    type: string
                    description: 'Local time for the response (ISO 8601 format)'
                    example: "2023-10-19T13:00:00+0200"
                  request_id:
                    type: string
                    description: 'Unique identifier for the request'
                    example: "caae62f7876a4b878c8d0e9b5c4b259b"
                  code:
                    type: integer
                    description: Response status code
                    example: '200'
                  message:
                    type: string
                    description: Response message
                    example: HTTP OK
                  details:
                    type: string
                    description: Response details
                    example: Accept resale request
                  version:
                    type: string
                    description: Version Turitop App
                    example: 2.60.30
        '400':
          description: Request Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - access_token
              properties:
                access_token:
                  type: string
                  description: Access token
                data:
                  type: object
                  required:
                    - product_short_id
                    - reseller_company_short_id
                    - reseller_product_short_id
                  properties:
                    product_short_id:
                      type: string
                      description: 'The product identifier'
                      example: P1
                    reseller_company_short_id:
                      type: string
                      description: 'The reseller company identifier'
                      example: D220
                    reseller_product_short_id:
                      type: string
                      description: 'The reseller product identifier'
                      example: P1
        description: Accept resale request
  /resell/denyResaleRequest:
    post:
      tags:
        - Resell
      summary: Deny resale request
      responses:
        '200':
          description: Request OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      product:
                        type: array
                        items:
                          $ref: '#/components/schemas/ProductDataDenyRequest'
                  method:
                    type: string
                    description: Http Method
                    example: POST
                  url:
                    type: string
                    description: Call url
                    example: /v1/resell/denyResaleRequest
                  timestamp:
                    type: integer
                    description: 'Server time, EPOCH (Unix time or POSIX time or Unix timestamp)'
                    example: 1535533331
                  time_zone:
                    type: integer
                    description: Time zone of server
                    example: Europe/Madrid
                  status:
                    type: string
                    description: Response status
                    example: SUCCESS
                  local_time:
                    type: string
                    description: 'Local time for the response (ISO 8601 format)'
                    example: "2023-10-19T13:00:00+0200"
                  request_id:
                    type: string
                    description: 'Unique identifier for the request'
                    example: "caae62f7876a4b878c8d0e9b5c4b259b"
                  code:
                    type: integer
                    description: Response status code
                    example: '200'
                  message:
                    type: string
                    description: Response message
                    example: HTTP OK
                  details:
                    type: string
                    description: Response details
                    example: Deny Resale Request
                  version:
                    type: string
                    description: Version Turitop App
                    example: 2.60.30
        '400':
          description: Request Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - access_token
              properties:
                access_token:
                  type: string
                  description: Access token
                data:
                  type: object
                  required:
                    - product_short_id
                    - reseller_company_short_id
                    - reseller_product_short_id
                  properties:
                    product_short_id:
                      type: string
                      description: 'The product identifier'
                      example: P1
                    reseller_company_short_id:
                      type: string
                      description: 'The reseller company identifier'
                      example: D220
                    reseller_product_short_id:
                      type: string
                      description: 'The reseller product identifier'
                      example: P1
        description: Deny resale request
  /resell/getResaleRequestsReceived:
    post:
      tags:
        - Resell
      summary: Get resale requests received
      responses:
        '200':
          description: Request OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/ProductDataGetResaleRequestsReceived'
                  method:
                    type: string
                    description: Http Method
                    example: POST
                  url:
                    type: string
                    description: Call url
                    example: /v1/resell/getResaleRequestsReceived
                  timestamp:
                    type: integer
                    description: 'Server time, EPOCH (Unix time or POSIX time or Unix timestamp)'
                    example: 1535533331
                  time_zone:
                    type: integer
                    description: Time zone of server
                    example: Europe/Madrid
                  status:
                    type: string
                    description: Response status
                    example: SUCCESS
                  local_time:
                    type: string
                    description: 'Local time for the response (ISO 8601 format)'
                    example: "2023-10-19T13:00:00+0200"
                  request_id:
                    type: string
                    description: 'Unique identifier for the request'
                    example: "caae62f7876a4b878c8d0e9b5c4b259b"
                  code:
                    type: integer
                    description: Response status code
                    example: '200'
                  message:
                    type: string
                    description: Response message
                    example: HTTP OK
                  details:
                    type: string
                    description: Response details
                    example: Get resale requests received
                  version:
                    type: string
                    description: Version Turitop App
                    example: 2.60.30
        '400':
          description: Request Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - access_token
              properties:
                access_token:
                  type: string
                  description: Access token
        description: Get resale requests received
  /resell/getResaleRequestsSended:
    post:
      tags:
        - Resell
      summary: Get resale requests sended
      responses:
        '200':
          description: Request OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/ProductDataGetResaleRequestsSended'
                  method:
                    type: string
                    description: Http Method
                    example: POST
                  url:
                    type: string
                    description: Call url
                    example: /v1/resell/getResaleRequestsSended
                  timestamp:
                    type: integer
                    description: 'Server time, EPOCH (Unix time or POSIX time or Unix timestamp)'
                    example: 1535533331
                  time_zone:
                    type: integer
                    description: Time zone of server
                    example: Europe/Madrid
                  status:
                    type: string
                    description: Response status
                    example: SUCCESS
                  local_time:
                    type: string
                    description: 'Local time for the response (ISO 8601 format)'
                    example: "2023-10-19T13:00:00+0200"
                  request_id:
                    type: string
                    description: 'Unique identifier for the request'
                    example: "caae62f7876a4b878c8d0e9b5c4b259b"
                  code:
                    type: integer
                    description: Response status code
                    example: '200'
                  message:
                    type: string
                    description: Response message
                    example: HTTP OK
                  details:
                    type: string
                    description: Response details
                    example: Get resale requests sended
                  version:
                    type: string
                    description: Version Turitop App
                    example: 2.60.30
        '400':
          description: Request Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - access_token
              properties:
                access_token:
                  type: string
                  description: Access token
        description: Get resale requests sended
  /resell/getResellProductSupplier:
    post:
      tags:
        - Resell
      summary: Get full list of resold services (supplier panel)
      responses:
        '200':
          description: Request OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/ProductDataGetResellProductSupplier'
                  method:
                    type: string
                    description: Http Method
                    example: POST
                  url:
                    type: string
                    description: Call url
                    example: /v1/resell/getResellProductSupplier
                  timestamp:
                    type: integer
                    description: 'Server time, EPOCH (Unix time or POSIX time or Unix timestamp)'
                    example: 1535533331
                  time_zone:
                    type: integer
                    description: Time zone of server
                    example: Europe/Madrid
                  status:
                    type: string
                    description: Response status
                    example: SUCCESS
                  local_time:
                    type: string
                    description: 'Local time for the response (ISO 8601 format)'
                    example: "2023-10-19T13:00:00+0200"
                  request_id:
                    type: string
                    description: 'Unique identifier for the request'
                    example: "caae62f7876a4b878c8d0e9b5c4b259b"
                  code:
                    type: integer
                    description: Response status code
                    example: '200'
                  message:
                    type: string
                    description: Response message
                    example: HTTP OK
                  details:
                    type: string
                    description: Response details
                    example: Get resell product supplier
                  version:
                    type: string
                    description: Version Turitop App
                    example: 2.60.30
        '400':
          description: Request Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - access_token
              properties:
                access_token:
                  type: string
                  description: Access token
        description: Get full list of resold services (supplier panel)
  /resell/getResellProductReseller:
    post:
      tags:
        - Resell
      summary:  Get full list of resold services (reseller panel)
      responses:
        '200':
          description: Request OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/ProductDataGetResellProductReseller'
                  method:
                    type: string
                    description: Http Method
                    example: POST
                  url:
                    type: string
                    description: Call url
                    example: /v1/resell/getResellProductReseller
                  timestamp:
                    type: integer
                    description: 'Server time, EPOCH (Unix time or POSIX time or Unix timestamp)'
                    example: 1535533331
                  time_zone:
                    type: integer
                    description: Time zone of server
                    example: Europe/Madrid
                  status:
                    type: string
                    description: Response status
                    example: SUCCESS
                  local_time:
                    type: string
                    description: 'Local time for the response (ISO 8601 format)'
                    example: "2023-10-19T13:00:00+0200"
                  request_id:
                    type: string
                    description: 'Unique identifier for the request'
                    example: "caae62f7876a4b878c8d0e9b5c4b259b"
                  code:
                    type: integer
                    description: Response status code
                    example: '200'
                  message:
                    type: string
                    description: Response message
                    example: HTTP OK
                  details:
                    type: string
                    description: Response details
                    example: Get resell product reseller
                  version:
                    type: string
                    description: Version Turitop App
                    example: 2.60.30
        '400':
          description: Request Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - access_token
              properties:
                access_token:
                  type: string
                  description: Access token
        description: Get full list of resold services (reseller panel)
  /company/getusers:
    post:
      tags:
        - Company
      summary: Get list of company users
      responses:
        '200':
          description: Request OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      users:
                        type: array
                        description: Array with users
                        items:
                          $ref: '#/components/schemas/User'
                  method:
                    type: string
                    description: Http Method
                    example: POST
                  url:
                    type: string
                    description: Call url
                    example: /v1/company/getusers
                  timestamp:
                    type: integer
                    description: 'Server time, EPOCH (Unix time or POSIX time or Unix timestamp)'
                    example: 1534759136
                  time_zone:
                    type: string
                    description: Time zone of server
                    example: Europe/Madrid
                  status:
                    type: string
                    description: Response status
                    example: SUCCESS
                  local_time:
                    type: string
                    description: 'Local time for the response (ISO 8601 format)'
                    example: "2023-10-19T13:00:00+0200"
                  request_id:
                    type: string
                    description: 'Unique identifier for the request'
                    example: "caae62f7876a4b878c8d0e9b5c4b259b"
                  code:
                    type: integer
                    description: Response status code
                    example: '200'
                  message:
                    type: string
                    description: Response message
                    example: HTTP OK
                  details:
                    type: string
                    description: Response details
                    example: Get users
                  version:
                    type: string
                    description: Version Turitop App
                    example: 2.60.30
        '400':
          description: Request Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - access_token
              properties:
                access_token:
                  type: string
                  description: Access token
                  example: ttJhbGciJzaXQASDCJ222XAiOiJTV1QifQ==.ttJpYXQiOjE1MjgyODg4N4TESTAsdeasdQ0NCIsImFjY2Vzc19I6IjgxLjQ1LjEyOS43OSIsInR5cGUiOiJyZWZyZXNoIn0=.722332aasd793123395856b2c820e2323d0974c082a7c6a9d2df5bf8b73f5
        description: Company
  /company/createinvitation:
    post:
      tags:
        - Company
      summary: Send an invitation to a user to join the company
      responses:
        '200':
          description: Request OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/Invitation'
                  method:
                    type: string
                    description: Http Method
                    example: POST
                  url:
                    type: string
                    description: Call url
                    example: /v1/company/createinvitation
                  timestamp:
                    type: integer
                    description: 'Server time, EPOCH (Unix time or POSIX time or Unix timestamp)'
                    example: 1534759136
                  time_zone:
                    type: string
                    description: Time zone of server
                    example: Europe/Madrid
                  status:
                    type: string
                    description: Response status
                    example: SUCCESS
                  local_time:
                    type: string
                    description: 'Local time for the response (ISO 8601 format)'
                    example: "2023-10-19T13:00:00+0200"
                  request_id:
                    type: string
                    description: 'Unique identifier for the request'
                    example: "caae62f7876a4b878c8d0e9b5c4b259b"
                  code:
                    type: integer
                    description: Response status code
                    example: '200'
                  message:
                    type: string
                    description: Response message
                    example: HTTP OK
                  details:
                    type: string
                    description: Response details
                    example: Create invitation
                  version:
                    type: string
                    description: Version Turitop App
                    example: 2.60.30
        '400':
          description: Request Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - access_token
                - data
              properties:
                access_token:
                  type: string
                  description: Access token
                  example: ttJhbGciJzaXQASDCJ222XAiOiJTV1QifQ==.ttJpYXQiOjE1MjgyODg4N4TESTAsdeasdQ0NCIsImFjY2Vzc19I6IjgxLjQ1LjEyOS43OSIsInR5cGUiOiJyZWZyZXNoIn0=.722332aasd793123395856b2c820e2323d0974c082a7c6a9d2df5bf8b73f5
                data:
                  type: object
                  required:
                    - email_invitation
                  properties:
                    email_invitation:
                      type: string
                      description: Email of the user to be invited
                      example: johndoe@gmail.com
        description: Company
  /company/getinvitations:
    post:
      tags:
        - Company
      summary: Get list of all active invitations
      responses:
        '200':
          description: Request OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      invitations:
                        type: array
                        description: Array with invitations
                        items:
                          $ref: '#/components/schemas/Invitation'
                  method:
                    type: string
                    description: Http Method
                    example: POST
                  url:
                    type: string
                    description: Call url
                    example: /v1/company/getinvitations
                  timestamp:
                    type: integer
                    description: 'Server time, EPOCH (Unix time or POSIX time or Unix timestamp)'
                    example: 1534759136
                  time_zone:
                    type: string
                    description: Time zone of server
                    example: Europe/Madrid
                  status:
                    type: string
                    description: Response status
                    example: SUCCESS
                  local_time:
                    type: string
                    description: 'Local time for the response (ISO 8601 format)'
                    example: "2023-10-19T13:00:00+0200"
                  request_id:
                    type: string
                    description: 'Unique identifier for the request'
                    example: "caae62f7876a4b878c8d0e9b5c4b259b"
                  code:
                    type: integer
                    description: Response status code
                    example: '200'
                  message:
                    type: string
                    description: Response message
                    example: HTTP OK
                  details:
                    type: string
                    description: Response details
                    example: Get invitations
                  version:
                    type: string
                    description: Version Turitop App
                    example: 2.60.30
        '400':
          description: Request Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - access_token
              properties:
                access_token:
                  type: string
                  description: Access token
                  example: ttJhbGciJzaXQASDCJ222XAiOiJTV1QifQ==.ttJpYXQiOjE1MjgyODg4N4TESTAsdeasdQ0NCIsImFjY2Vzc19I6IjgxLjQ1LjEyOS43OSIsInR5cGUiOiJyZWZyZXNoIn0=.722332aasd793123395856b2c820e2323d0974c082a7c6a9d2df5bf8b73f5
        description: Company
  /company/deleteinvitation:
    post:
      tags:
        - Company
      summary: Delete an invitation
      responses:
        '200':
          description: Request OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  method:
                    type: string
                    description: Http Method
                    example: POST
                  url:
                    type: string
                    description: Call url
                    example: /v1/company/deleteinvitation
                  timestamp:
                    type: integer
                    description: 'Server time, EPOCH (Unix time or POSIX time or Unix timestamp)'
                    example: 1534759136
                  time_zone:
                    type: string
                    description: Time zone of server
                    example: Europe/Madrid
                  status:
                    type: string
                    description: Response status
                    example: SUCCESS
                  local_time:
                    type: string
                    description: 'Local time for the response (ISO 8601 format)'
                    example: "2023-10-19T13:00:00+0200"
                  request_id:
                    type: string
                    description: 'Unique identifier for the request'
                    example: "caae62f7876a4b878c8d0e9b5c4b259b"
                  code:
                    type: integer
                    description: Response status code
                    example: '200'
                  message:
                    type: string
                    description: Response message
                    example: HTTP OK
                  details:
                    type: string
                    description: Response details
                    example: Delete invitation
                  version:
                    type: string
                    description: Version Turitop App
                    example: 2.60.30
        '400':
          description: Request Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - access_token
                - data
              properties:
                access_token:
                  type: string
                  description: Access token
                  example: ttJhbGciJzaXQASDCJ222XAiOiJTV1QifQ==.ttJpYXQiOjE1MjgyODg4N4TESTAsdeasdQ0NCIsImFjY2Vzc19I6IjgxLjQ1LjEyOS43OSIsInR5cGUiOiJyZWZyZXNoIn0=.722332aasd793123395856b2c820e2323d0974c082a7c6a9d2df5bf8b73f5
                data:
                  type: object
                  required:
                    - invitation_id
                  properties:
                    invitation_id:
                      type: integer
                      description: Invitation identifier
                      example: 21542
        description: Company
  /company/getwebhooks:
    post:
      tags:
        - Company
      summary: Get list of all webhooks
      responses:
        '200':
          description: Request OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      webhooks:
                        type: array
                        description: Array with invitations
                        items:
                          $ref: '#/components/schemas/Webhook'
                  method:
                    type: string
                    description: Http Method
                    example: POST
                  url:
                    type: string
                    description: Call url
                    example: /v1/company/getwebhooks
                  timestamp:
                    type: integer
                    description: 'Server time, EPOCH (Unix time or POSIX time or Unix timestamp)'
                    example: 1534759136
                  time_zone:
                    type: string
                    description: Time zone of server
                    example: Europe/Madrid
                  status:
                    type: string
                    description: Response status
                    example: SUCCESS
                  local_time:
                    type: string
                    description: 'Local time for the response (ISO 8601 format)'
                    example: "2023-10-19T13:00:00+0200"
                  request_id:
                    type: string
                    description: 'Unique identifier for the request'
                    example: "caae62f7876a4b878c8d0e9b5c4b259b"
                  code:
                    type: integer
                    description: Response status code
                    example: '200'
                  message:
                    type: string
                    description: Response message
                    example: HTTP OK
                  details:
                    type: string
                    description: Response details
                    example: Get webhooks
                  version:
                    type: string
                    description: Version Turitop App
                    example: 2.60.30
        '400':
          description: Request Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - access_token
              properties:
                access_token:
                  type: string
                  description: Access token
                  example: ttJhbGciJzaXQASDCJ222XAiOiJTV1QifQ==.ttJpYXQiOjE1MjgyODg4N4TESTAsdeasdQ0NCIsImFjY2Vzc19I6IjgxLjQ1LjEyOS43OSIsInR5cGUiOiJyZWZyZXNoIn0=.722332aasd793123395856b2c820e2323d0974c082a7c6a9d2df5bf8b73f5
        description: Company webhook
  /company/insertwebhooks:
    post:
      tags:
        - Company
      summary: Insert a webhook
      responses:
        '200':
          description: Request OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      webhook:
                          $ref: '#/components/schemas/Webhook'
                  method:
                    type: string
                    description: Http Method
                    example: POST
                  url:
                    type: string
                    description: Call url
                    example: /v1/company/insertwebhooks
                  timestamp:
                    type: integer
                    description: 'Server time, EPOCH (Unix time or POSIX time or Unix timestamp)'
                    example: 1534759136
                  time_zone:
                    type: string
                    description: Time zone of server
                    example: Europe/Madrid
                  status:
                    type: string
                    description: Response status
                    example: SUCCESS
                  local_time:
                    type: string
                    description: 'Local time for the response (ISO 8601 format)'
                    example: "2023-10-19T13:00:00+0200"
                  request_id:
                    type: string
                    description: 'Unique identifier for the request'
                    example: "caae62f7876a4b878c8d0e9b5c4b259b"
                  code:
                    type: integer
                    description: Response status code
                    example: '200'
                  message:
                    type: string
                    description: Response message
                    example: HTTP OK
                  details:
                    type: string
                    description: Response details
                    example: Insert webhooks
                  version:
                    type: string
                    description: Version Turitop App
                    example: 2.60.30
        '400':
          description: Request Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - access_token
                - data
              properties:
                access_token:
                  type: string
                  description: Access token
                  example: ttJhbGciJzaXQASDCJ222XAiOiJTV1QifQ==.ttJpYXQiOjE1MjgyODg4N4TESTAsdeasdQ0NCIsImFjY2Vzc19I6IjgxLjQ1LjEyOS43OSIsInR5cGUiOiJyZWZyZXNoIn0=.722332aasd793123395856b2c820e2323d0974c082a7c6a9d2df5bf8b73f5
                data:
                  type: object
                  required:
                    - action
                    - end_point
                  properties:
                    action:
                      type: string
                      description: |
                        Action of webhooks, values:
                          * all
                          * booking.insert
                          * booking.update
                          * booking.delete
                      example: all
                    end_point:
                      type: string
                      description: Url to send notify of the booking
                      example: https://notifyurl.com/notify
        description: Company webhook
  /company/deletewebhooks:
    post:
      tags:
        - Company
      summary: Delete a webhook
      responses:
        '200':
          description: Request OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
        '400':
          description: Request Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - access_token
                - data
              properties:
                access_token:
                  type: string
                  description: Access token
                  example: ttJhbGciJzaXQASDCJ222XAiOiJTV1QifQ==.ttJpYXQiOjE1MjgyODg4N4TESTAsdeasdQ0NCIsImFjY2Vzc19I6IjgxLjQ1LjEyOS43OSIsInR5cGUiOiJyZWZyZXNoIn0=.722332aasd793123395856b2c820e2323d0974c082a7c6a9d2df5bf8b73f5
                data:
                  type: object
                  required:
                    - hash
                  properties:
                    hash:
                      type: string
                      description: Unique identifier the webhook
                      example: 4ccc76d78bd7b0d4f67bde01715117c3
        description: Company webhook
  /company/testwebhooks:
    post:
      tags:
        - Company
      summary: Delete a webhook
      responses:
        '200':
          description: Request OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      status:
                        type: string
                        description: |
                          Notification status, values:
                            * OK
                            * ERROR
                        example: OK
                  method:
                    type: string
                    description: Http Method
                    example: POST
                  url:
                    type: string
                    description: Call url
                    example: /v1/company/testwebhooks
                  timestamp:
                    type: integer
                    description: 'Server time, EPOCH (Unix time or POSIX time or Unix timestamp)'
                    example: 1534759136
                  time_zone:
                    type: string
                    description: Time zone of server
                    example: Europe/Madrid
                  status:
                    type: string
                    description: Response status
                    example: SUCCESS
                  local_time:
                    type: string
                    description: 'Local time for the response (ISO 8601 format)'
                    example: "2023-10-19T13:00:00+0200"
                  request_id:
                    type: string
                    description: 'Unique identifier for the request'
                    example: "caae62f7876a4b878c8d0e9b5c4b259b"
                  code:
                    type: integer
                    description: Response status code
                    example: '200'
                  message:
                    type: string
                    description: Response message
                    example: HTTP OK
                  details:
                    type: string
                    description: Response details
                    example: Test webhooks
                  version:
                    type: string
                    description: Version Turitop App
                    example: 2.60.30
        '500':
          description: Request OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      status:
                        type: string
                        description: |
                          Notification status, values:
                            * OK
                            * ERROR
                        example: ERROR
                  method:
                    type: string
                    description: Http Method
                    example: POST
                  url:
                    type: string
                    description: Call url
                    example: /v1/company/testwebhooks
                  timestamp:
                    type: integer
                    description: 'Server time, EPOCH (Unix time or POSIX time or Unix timestamp)'
                    example: 1534759136
                  time_zone:
                    type: string
                    description: Time zone of server
                    example: Europe/Madrid
                  status:
                    type: string
                    description: Response status
                    example: SUCCESS
                  local_time:
                    type: string
                    description: 'Local time for the response (ISO 8601 format)'
                    example: "2023-10-19T13:00:00+0200"
                  request_id:
                    type: string
                    description: 'Unique identifier for the request'
                    example: "caae62f7876a4b878c8d0e9b5c4b259b"
                  code:
                    type: integer
                    description: Response status code
                    example: '200'
                  message:
                    type: string
                    description: Response message
                    example: HTTP OK
                  details:
                    type: string
                    description: Response details
                    example: Test webhook failed
                  version:
                    type: string
                    description: Version Turitop App
                    example: 2.60.30
        '400':
          description: Request Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - access_token
                - data
              properties:
                access_token:
                  type: string
                  description: Access token
                  example: ttJhbGciJzaXQASDCJ222XAiOiJTV1QifQ==.ttJpYXQiOjE1MjgyODg4N4TESTAsdeasdQ0NCIsImFjY2Vzc19I6IjgxLjQ1LjEyOS43OSIsInR5cGUiOiJyZWZyZXNoIn0=.722332aasd793123395856b2c820e2323d0974c082a7c6a9d2df5bf8b73f5
                data:
                  type: object
                  required:
                    - hash
                    - booking_short_id
                  properties:
                    hash:
                      type: string
                      description: Unique identifier the webhook
                      example: 4ccc76d78bd7b0d4f67bde01715117c3
                    booking_short_id:
                      type: string
                      description: Booking short_id to test webhook
                      example: T444-180829-1
        description: Company webhook
  /company/getpaymentgateways:
    post:
      tags:
        - Company
      summary: Get payment gateways for a company
      responses:
        '200':
          description: Request OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      payment_gateways:
                        type: array
                        items:
                          $ref: '#/components/schemas/PaymentGateways'
                  method:
                    type: string
                    description: Http Method
                    example: POST
                  url:
                    type: string
                    description: Call url
                    example: /v1/company/getpaymentgateways
                  timestamp:
                    type: integer
                    description: 'Server time, EPOCH (Unix time or POSIX time or Unix timestamp)'
                    example: 1535533331
                  time_zone:
                    type: integer
                    description: Time zone of server
                    example: Europe/Madrid
                  status:
                    type: string
                    description: Response status
                    example: SUCCESS
                  local_time:
                    type: string
                    description: 'Local time for the response (ISO 8601 format)'
                    example: "2023-10-19T13:00:00+0200"
                  request_id:
                    type: string
                    description: 'Unique identifier for the request'
                    example: "caae62f7876a4b878c8d0e9b5c4b259b"
                  code:
                    type: integer
                    description: Response status code
                    example: '200'
                  message:
                    type: string
                    description: Response message
                    example: HTTP OK
                  details:
                    type: string
                    description: Response details
                    example: Payment Gateways
                  version:
                    type: string
                    description: Version Turitop App
                    example: 2.60.30
        '400':
          description: Request Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - access_token
                - data
              properties:
                access_token:
                  type: string
                  description: Access token
        description: Payment Gateways
  /company/getlanguages:
    post:
      tags:
        - Company
      summary: Get available languages
      responses:
        '200':
          description: Request OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      languages:
                        type: array
                        items:
                          $ref: '#/components/schemas/Languages'
                  method:
                    type: string
                    description: Http Method
                    example: POST
                  url:
                    type: string
                    description: Call url
                    example: /v1/company/getlanguages
                  timestamp:
                    type: integer
                    description: 'Server time, EPOCH (Unix time or POSIX time or Unix timestamp)'
                    example: 1535533331
                  time_zone:
                    type: integer
                    description: Time zone of server
                    example: Europe/Madrid
                  status:
                    type: string
                    description: Response status
                    example: SUCCESS
                  local_time:
                    type: string
                    description: 'Local time for the response (ISO 8601 format)'
                    example: "2023-10-19T13:00:00+0200"
                  request_id:
                    type: string
                    description: 'Unique identifier for the request'
                    example: "caae62f7876a4b878c8d0e9b5c4b259b"
                  code:
                    type: integer
                    description: Response status code
                    example: '200'
                  message:
                    type: string
                    description: Response message
                    example: HTTP OK
                  details:
                    type: string
                    description: Response details
                    example: Available languages
                  version:
                    type: string
                    description: Version Turitop App
                    example: 2.60.30
        '400':
          description: Request Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - access_token
                - data
              properties:
                access_token:
                  type: string
                  description: Access token
        description: Available languages
  /company/transfer/getpickuppoints:
    post:
      tags:
        - Company
      summary: Get all transfer pick-up points
      responses:
        '200':
          description: Request OK
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                properties:
                  data:
                    type: object
                    required:
                      - transfer
                    properties:
                      transfer:
                        type: object
                        properties:
                          pick_up_points:
                            type: array
                            description: Array with transfer pick-up points
                            items:
                              type: object
                              description: Pick-up point data
                              required:
                                - code
                                - name
                              properties:
                                code:
                                  type: string
                                  description: Code of pick-up point
                                  example: 23147
                                name:
                                  type: string
                                  description: Name of pick-up point
                                  example: 'Blue point'
                                blacklist:
                                  type: array
                                  description: Array with pick-up point exception
                                  items:
                                    type: object
                                    description: Pick-up point exception data
                                    properties:
                                      weekdays:
                                        type: array
                                        description: Days of week where the exception applies (1-7)
                                        items:
                                          type: string
                                      hours:
                                        type: array
                                        description: Optional list of specific hours for the exception (HH:mm)
                                        items:
                                          type: string
                                      date_start:
                                        type: string
                                        description: Start date in EPOCH format
                                      date_end:
                                        type: string
                                        description: End date in EPOCH format
                                hotels:
                                  type: array
                                  description: Array with hotels by pick up point
                                  items:
                                    type: object
                                    description: Hotel data
                                    required:
                                      - code
                                      - name
                                    properties:
                                      code:
                                        type: string
                                        description: Code of hotel
                                        example: 545875
                                      name:
                                        type: string
                                        description: Name of hotel
                                        example: 'Blue hotel'
                                      pickup_time_before_event:
                                        type: integer
                                        description: Pick-up time, seconds before the event time
                                        example: 1020
                                      transfer_exception:
                                        type: array
                                        items:
                                          type: object
                                          description: Array with transfer point exception
                                          required:
                                            - time
                                            - pickup_time_before_event
                                          properties:
                                            time:
                                              type: integer
                                              description: Event time, in EPOCH (Unix time or POSIX time or Unix timestamp)
                                              example: 1538125200
                                            pickup_time_before_event:
                                              type: integer
                                              description: Pick-up time, second before the event time
                                              example: 3600
                  method:
                    type: string
                    description: Http Method
                    example: POST
                  url:
                    type: string
                    description: Call url
                    example: /v1/company/transfer/getpickuppoints
                  timestamp:
                    type: integer
                    description: 'Server time, EPOCH (Unix time or POSIX time or Unix timestamp)'
                    example: 1535531804
                  time_zone:
                    type: integer
                    description: Time zone of server
                    example: Europe/Madrid
                  status:
                    type: string
                    description: Response status
                    example: SUCCESS
                  local_time:
                    type: string
                    description: 'Local time for the response (ISO 8601 format)'
                    example: "2023-10-19T13:00:00+0200"
                  request_id:
                    type: string
                    description: 'Unique identifier for the request'
                    example: "caae62f7876a4b878c8d0e9b5c4b259b"
                  code:
                    type: integer
                    description: Response status code
                    example: '200'
                  message:
                    type: string
                    description: Response message
                    example: HTTP OK
                  details:
                    type: string
                    description: Response details
                    example: Pick up points
                  version:
                    type: string
                    description: Version Turitop App
                    example: 2.60.30
        '400':
          description: Request Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - access_token
                - data
              properties:
                access_token:
                  type: string
                  description: Access token
                  example: ttJhbGciJzaXQASDCJ222XAiOiJTV1QifQ==.ttJpYXQiOjE1MjgyODg4N4TESTAsdeasdQ0NCIsImFjY2Vzc19I6IjgxLjQ1LjEyOS43OSIsInR5cGUiOiJyZWZyZXNoIn0=.722332aasd793123395856b2c820e2323d0974c082a7c6a9d2df5bf8b73f5
        description: Availabe Pick-up points
components:
  schemas:
    Oauth2token:
      type: object
      properties:
        access_token:
          type: string
          description: Token to perform API calls (valid for 3600 seconds)
          example: ttJhbGciJzaXQASDCJ222XAiOiJTV1QifQ==.ttJpYXQiOjE1MjgyODg4N4TESTAsdeasdQ0NCIsImFjY2Vzc19I6IjgxLjQ1LjEyOS43OSIsInR5cGUiOiJyZWZyZXNoIn0=.722332aasd793123395856b2c820e2323d0974c082a7c6a9d2df5bf8b73f5
        refresh_token:
          type: string
          description: Token to generete new access_token (valid for 60 days)
          example: eyJhbGciJzaGEyNTYiLCJ222XAiOiJTV1QifQ==.eyJpYXQiOjE1MjgyODg4N434ksInNob3J0X2lkIjoiVDQ0NCIsImFjY2Vzc19I6IjgxLjQ1LjEyOS43OSIsInR5cGUiOiJyZWZyZXNoIn0=.72fd741a18318793123395856b2c820e2323d0974c082a7c6a9d2df5bf8b73f5
        type:
          type: string
          description: Type of authorization
          example: jwt
        access_ip:
          type: string
          description: Ip for authorization
          example: 81.45.129.79
        company_name:
          type: string
          description: Company name for authorization
          example: TuriTop Travel
        company_short_id:
          type: string
          description: Company short id
          example: T444
    Product:
      type: object
      required:
        - short_id
        - name
        - flow
        - summary
        - description
        - pricing_notes
        - duration
        - timezone
        - company_categories
        - images
      properties:
        supplier_company_short_id:
          type: string
          description: 'In resold products, it indicates the short_id of the supplier company. (Optional)'
          example: D220
        supplier_company_name:
          type: string
          description: 'In resold products, it indicates the name of the supplier company. (Optional)'
          example: DeepBlue Travels
        short_id:
          type: string
          description: Product short id
          example: P12
        name:
          type: string
          description: Product name
          example: Surf with dolphins
        flow:
          type: string
          description: |
            Type of flow in the purchase. Possible values:
              * tour
              * open
          example: tour
        summary:
          type: string
          description: Product summary
          example: You are never alone in the ocean.
        description:
          type: string
          description: Product description
          example: 'Oceans are teeming with life, intriguing and mysterious.\n There’s a whole underwater natural order that we land-dwellers are not always aware of.'
        pricing_notes:
          type: string
          description: Clarification on prices and types of tickets
          example: 'Ages:From 12 years old choose "Adult". Between 3 and 12 years old choose "child".'
        default_language:
          type: string
          description: Default language
          example: 'en'
        duration:
          type: integer
          description: 'Duration of an event, in minutes. 0 if it does not have a specific duration'
          example: 120
          required:
            - time_precision
          properties:
            time_precision:
              type: integer
              description: 'Interval precision, expressed in seconds'
              example: 1800
        timezone:
          type: string
          description: Product time zone
          example: Europe/Madrid
        company_categories:
          type: array
          description: Information of the categories to which the product belongs
          items:
            $ref: '#/components/schemas/Company_category'
        country_code:
          type: string
          description: Define internationally recognised codes of letters and/or numbers that we can use when we refer to the country for this booking. (ISO 3166-1 alpha-2)
          example: ES
        coordinates:
          type: string
          description: Latitude and longitude GPS coordinates
          example: '28.053218455155378,-16.544301762921123'
        location_code:
          type: string
          description: Code for Trade and Transport Locations
          example: ACE
        location_name:
          type: string
          description: Name of the location where the activity is enjoyed
          example: Lanzarote
        type:
          type: array
          description: Information about the type of activity
          items:
            $ref: '#/components/schemas/Service_type'
        images:
          type: array
          description: Product images
          items:
            $ref: '#/components/schemas/AmazonS3Url'
        viator:
          $ref: '#/components/schemas/Viator'
        resellers:
          type: array
          description: Companies reselling this product
          items:
            $ref: '#/components/schemas/Resellers'
        banner_image:
          type: string
          description: Product banner image url
        display_hours:
          type: boolean
          description: Display event hours
        show_closed_by_availability:
          type: boolean
          description: Display different colours for events closed by cutoff
      example:
        {
          "supplier_company_short_id": "D220",
          "supplier_company_name": "DeepBlue Travels",
          "short_id": "P12",
          "name": "Surf with dolphins",
          "flow": "tour",
          "summary": "You are never alone in the ocean.",
          "description": "Oceans are teeming with life, intriguing and mysterious.\\n There’s a whole underwater natural order that we land-dwellers are not always aware of.",
          "pricing_notes": "Ages:From 12 years old choose \"Adult\". Between 3 and 12 years old choose \"child\".",
          "duration": 120,
          "timezone": "Europe/Madrid",
          "company_categories": [
            {
              "short_id": "C1",
              "name": "Events in the ocean"
            }
          ],
          "images": [
            {
              "amazon_key": "T444/products/P12/15253466728_4240016-dolphin.jpg",
              "url": "https: //appturitop.s3.eu-central-1.amazonaws.com/T444/products/P12/15253466728_4240016-dolphin.jpg?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIUJsE4SQUPJABRMEA%2F201s80821%2Feu-central-1%2Fs3%2Faws4_request&X-Amz-Date=20180821T091122Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Signature=e1091a824f5d15c7f1es8b5468d2e7fd1eeda7394efd8850a764s391a1ac538532"
            }
          ]
        }
    Resellers:
      type: object
      description: Product resellers
      required:
        - reseller_company_short_id
        - reseller_company_name
        - reseller_status
        - reseller_commission
      properties:
        reseller_company_short_id:
          type: string
          description: Reseller company short_id
        reseller_company_name:
          type: string
          description: Reseller company name
        reseller_status:
          type: string
          description: |
            Reselling status. Possible values:
              * accept
              * deny
              * pending
        reseller_commission:
          type: number
          description: Reselling commission percentage
    Viator:
      type: object
      description: Product viator info
      required:
        - supplier_product_code
        - country_code
        - destination_code
        - destination_name
        - ticket_match
      properties:
        supplier_product_code:
          type: string
          description: Supplier product code for viator
        country_code:
          type: string
          description: Define internationally recognised codes of letters and/or numbers that we can use when we refer to the country for this booking. (ISO 3166-1 alpha-2)
        destination_code:
          type: string
          description: Product destination code
        destination_name:
          type: string
          description: Product destination name
        ticket_match:
          type: object
          description: Product ticket matching with viator
          required:
            - adult
            - child
            - youth
            - infant
            - senior
          properties:
            adult:
              type: object
              required:
                - id
                - name
              properties:
                id:
                  type: integer
                  description: Ticket id in TuriTop booking system
                name:
                  type: string
                  description: Ticket name in TuriTop booking system
            child:
              type: object
              required:
                - id
                - name
              properties:
                id:
                  type: integer
                  description: Ticket id in TuriTop booking system
                name:
                  type: string
                  description: Ticket name in TuriTop booking system
            youth:
              type: object
              required:
                - id
                - name
              properties:
                id:
                  type: integer
                  description: Ticket id in TuriTop booking system
                name:
                  type: string
                  description: Ticket name in TuriTop booking system
            infant:
              type: object
              required:
                - id
                - name
              properties:
                id:
                  type: integer
                  description: Ticket id in TuriTop booking system
                name:
                  type: string
                  description: Ticket name in TuriTop booking system
            senior:
              type: object
              required:
                - id
                - name
              properties:
                id:
                  type: integer
                  description: Ticket id in TuriTop booking system
                name:
                  type: string
                  description: Ticket name in TuriTop booking system
    Event_closed_code:
      type: array
      description: |
        Event closed code:
          * 1000 - Event full
          * 2000 - Event autoclosed
          * 3000 - Event started
          * 4000 - Too late for online sales
          * 5000 - Maintenance or out of season
          * 6000 - Event during entire month
          * 7000 - Entire month closed
          * 8000 - Single event closed
          * 9000 - Entire day closed
      items:
        type: integer
        example: 1000
    Event:
      type: object
      required:
        - time
        - status
      properties:
        time:
          type: integer
          description: Event time in EPOCH (Unix time or POSIX time or Unix timestamp)
          example: 1602590400
        time_iso8601:
          type: string
          description: Even time in iso 8601 format
          example: "2020-10-13T00:00:00+0200"
        status:
          type: string
          description: Event status
          enum:
            - closed
            - open
        full:
          type: boolean
          description: If event is full
        code_closed:
          $ref: '#/components/schemas/Event_closed_code'
    IndividualEvent:
      type: object
      required:
        - time
      properties:
        time:
          type: integer
          description: Event time in EPOCH (Unix time or POSIX time or Unix timestamp)
          example: 1602590400
    AvailableEvent:
      type: object
      required:
        - time
        - status
      properties:
        time:
          type: integer
          description: Event time in EPOCH (Unix time or POSIX time or Unix timestamp)
        time_iso8601:
          type: string
          description: Event time in iso 8601 format
        status:
          type: string
          description: |
            Event status:
              * open - Display tickets_available
              * closed - Display code_closed
          enum:
            - open
            - closed
        full:
          type: boolean
          description: If event is fully booked
        max_seats_left:
          type: integer
          description: Maximum number of free seats for this event
        tickets_available:
          type: object
          description: List ticket available by event
          properties:
            indentifier_ticket:
              type: object
              required:
                - name
                - available
              properties:
                name:
                  type: string
                  description: Ticket name
                available:
                  type: integer
                  description: Number of tickets available for the event
                is_addon:
                  type: boolean
                  description: If ticket is addon
                seats:
                  type: integer
                  description: Number of seats the ticket occupies
                tickets_min:
                  type: integer
                  description: Minimum amount of tickets required to make the booking
                tickets_max:
                  type: integer
                  description: Maximum number tickets that can be booked
                prices_per_ticket_full:
                  type: number
                  description: Price per ticket when fully booked
                prices_per_ticket_full_clean:
                  type: string
                  description: Price per ticket when fully booked formatted as string to avoid floating-point precision issues
                cent_prices:
                  type: object
                  required:
                    - full
                    - full_clean
                    - per_ticket
                    - per_ticket_clean
                  properties:
                    full:
                      type: number
                      description: Price per ticket when fully booked in cents
                    full_clean:
                      type: number
                      description: Price per ticket when fully booked in cents as integer without decimals
                    per_ticket:
                      type: number
                      description: Price per ticket when not fully booked in cents
                    per_ticket_clean:
                      type: number
                      description: Price per ticket when not fully booked in cents as integer without decimals
                prices_per_ticket:
                  type: number
                  description: Ticket price without discount
                prices_per_ticket_clean:
                  type: string
                  description: Ticket price without discount formatted as string to avoid floating-point precision issues
        code_closed:
          $ref: '#/components/schemas/Event_closed_code'
      example:
        time: 1602590400
        status: open
        max_seats_left: 19
        tickets_available:
          '12342':
            name: Adult
            available: 14
            is_addon: 0
            seats: 1
            tickets_min: 0
            tickets_max: 50
            prices_per_ticket_full: 19.989999999999998
            prices_per_ticket_full_clean: "19.99"
            cent_prices:
              full: 1998
              full_clean: 1999
              per_ticket: 1998
              per_ticket_clean: 1999
            prices_per_ticket: 19.989999999999998
            prices_per_ticket_clean: "19.99"
          '15467':
            name: Child
            available: 19
            is_addon: 0
            seats: 1
            tickets_min: 0
            tickets_max: 50
            prices_per_ticket_full: 14.99
            prices_per_ticket_full_clean: "14.99"
            cent_prices:
              full: 1499
              full_clean: 1499
              per_ticket: 1499
              per_ticket_clean: 1499
            prices_per_ticket: 14.99
            prices_per_ticket_clean: "14.99"
    ClientForm:
      type: object
      required:
        - key
        - name
        - required
      properties:
        key:
          type: string
          description: Key variable form
        name:
          type: string
          description: Client form name
        required:
          type: boolean
          description: Client form is required
      example:
        - key: name
          name: Name
          required: true
        - key: email
          name: Email
          required: false
        - key: phone
          name: Phone
          required: false
    Ticket:
      type: object
      required:
        - name
        - price
        - tickets_max
      properties:
        id:
          type: number
          description: Ticket identifier
        name:
          type: string
          description: Ticket name
        price:
          type: number
          description: Default price for ticket
        tickets_max:
          type: integer
          description: Max available tickets
        tickets_min:
          type: integer
          description: Min tickets by booking
        seats:
          type: integer
          description: Seat occupied by each ticket
        order:
          type: integer
          description: Order for display
        close_min_tickets:
          type: integer
          description: Be closed when close_min_tickets seat is booked
        visibility:
          type: string
          description: |
            Visibility for this ticket:
              * none - Not display ticket
              * widget - Display ticket for widget
              * backoffice - Display ticket for backoffice/Api
              * all - Display ticket for all sites
        allow_agent_reseller:
          type: boolean
          description: If this ticket display for agent and reseller
      example:
        id: 63571
        name: Child over 14
        price: '30'
        tickets_max: '2'
        tickets_min: 0
        seats: 0
        order: 2
        close_min_tickets: 0
        visibility: all
        allow_agent_reseller: '1'
    TicketInsert:
      type: object
      required:
        - name
        - price
        - tickets_max
      properties:
        name:
          type: string
          description: Ticket name
        price:
          type: number
          description: Default price for ticket
        tickets_max:
          type: integer
          description: Max available tickets
        tickets_min:
          type: integer
          description: Min tickets by booking
        seats:
          type: integer
          description: Seat occupied by each ticket
        order:
          type: integer
          description: Order for display
        close_min_tickets:
          type: integer
          description: Be closed when close_min_tickets seat is booked
        visibility:
          type: string
          description: |
            Visibility for this ticket:
              * none - Not display ticket
              * widget - Display ticket for widget
              * backoffice - Display ticket for backoffice/Api
              * all - Display ticket for all sites
        allow_agent_reseller:
          type: boolean
          description: If this ticket display for agent and reseller
      example:
        name: Child over 14
        price: '30'
        tickets_max: '2'
        tickets_min: 0
        seats: 0
        order: 2
        close_min_tickets: 0
        visibility: all
        allow_agent_reseller: '1'
    TicketGet:
      type: object
      required:
        - name
        - price
        - tickets_max
      properties:
        name:
          type: string
          description: Ticket name
        price:
          type: number
          description: Default price for ticket
        tickets_max:
          type: integer
          description: Max available tickets
        tickets_min:
          type: integer
          description: Min tickets by booking
        seats:
          type: integer
          description: Seat occupied by each ticket
        order:
          type: integer
          description: Order for display
        close_min_tickets:
          type: integer
          description: Be closed when close_min_tickets seat is booked
        visibility:
          type: string
          description: |
            Visibility for this ticket:
              * none - Not display ticket
              * widget - Display ticket for widget
              * backoffice - Display ticket for backoffice/Api
              * all - Display ticket for all sites
        allow_agent_reseller:
          type: boolean
          description: If this ticket display for agent and reseller
        required:
          type: integer
          description: If this ticket is required
        ticket_notes:
          type: string
          description: Notes for ticket
        is_addon:
          type: integer
          description: If this ticket is an addon
        currency:
          type: string
          description: Currency for ticket
        external_id:
          type: string
          description: External id for ticket
      example:
        '43989':
          name: Adult
          price: '40.00'
          tickets_max: '50'
          tickets_min: '0'
          seats: '1'
          order: '0'
          close_min_tickets: '0'
          visibility: all
          allow_agent_reseller: '1'
          required: "1"
          ticket_notes: "Lorem Ipsum is simply dummy text of the printing and typesetting industry"
          is_addon: "0"
          currency: "EUR"
          external_id: "TICKET_ID_1"
        '43990':
          name: Child
          price: '20.00'
          tickets_max: '20'
          tickets_min: '0'
          seats: '1'
          order: '1'
          close_min_tickets: '0'
          visibility: all
          allow_agent_reseller: '1'
          required: "0"
          ticket_notes: "This is a ticket for kids"
          is_addon: "0"
          currency: "EUR"
          external_id: "TICKET_ID_2"
    Status:
      type: string
      description: |
        Payment Status. Possible values:
          * pending
          * not confirmed
          * confirmed
          * provisional
          * paid
          * not paid
          * refunded
          * cancelled
          * declined
          * not done
      example: paid
    Booking:
      type: object
      required:
        - product_name
        - product_short_id
        - product_time_zone
        - short_id
        - language_code
        - location
        - service_flow
        - date_event
        - date_prebooking
        - date_booking
        - date_deleted
        - date_undeleted
        - client_data
        - ticket_type_count
        - currency
        - total_price
        - status
        - payment_transaction
        - source
        - payment_gateway
        - gift_certificate
      properties:
        product_name:
          type: string
          description: Product name
          example: Surf with dolphins
        product_short_id:
          type: string
          description: Product short_id
          example: P12
        product_time_zone:
          type: string
          description: Product timezone
          example: Europe/Madrid
        supplier_company_short_id:
          type: string
          description: 'In resold products, it indicates the short_id of the supplier company. Optional'
          example: D220
        supplier_company_name:
          type: string
          description: 'In resold products, it indicates the name of the supplier company. Optional'
          example: DeepBlue Travels
        seller_company_short_id:
          type: string
          description: 'In resold products, it indicates the short_id of the seller company. Optional'
          example: T444
        seller_company_name:
          type: string
          description: 'In resold products, it indicates the name of the seller company. Optional'
          example: Seafarer Excursions
        short_id:
          type: string
          description: Booking short_id
          example: E227-T444-180821-1
        archived:
          type: boolean
          description: 'Set to "true" for bookings older than 90 days from the event date. Archived bookings cannot be edited'
          example: false
        hide_hour:
          type: boolean
          description: 'If the event time is hidden.'
          example: true
        language_code:
          type: string
          description: |
            ISO 639-1. Standard nomenclature used to classify languages <br>
            This is the preferred language. If translation is not found, it will return value in original language
          example: en
        location:
          type: string
          description: Booking location
          example: Australia
        service_flow:
          type: string
          description: |
            Type of flow in the purchase. Possible values:
              * tour
              * open
          example: tour
        valid_until:
          type: integer
          description: Date valid booking only for gift or open booking. Optional
          example: 1535921200
        date_event:
          type: integer
          description: Date of the booking event. Epoch format
          example: 1534921200
        date_event_iso8601:
          type: string
          description: Date of the booking event. ISO 8601 format
          example: '2018-08-22T14:00:00Z'
        date_prebooking:
          type: integer
          description: Date booking was added. Epoch format
          example: 1534842633
        date_prebooking_iso8601:
          type: string
          description: Date booking was added. ISO 8601 format
          example: '2018-08-21T15:57:13Z'
        date_booking:
          type: integer
          description: Date booking was paid. Epoch format
          example: 1534842634
        date_booking_iso8601:
          type: string
          description: Date booking was paid. ISO 8601 format
          example: '2018-08-21T09:10:34.000Z'
        date_modified:
          type: integer
          description: Date booking was edited. Epoch format
          example: 1534921200
        date_modified_iso8601:
          type: integer
          description: Date booking was edited. ISO 8601 format
          example: '2018-08-22T14:00:00Z'
        date_deleted:
          type: integer
          description: Date booking was deleted. Epoch format
          example: 1534842644
        date_deleted_iso8601:
          type: string
          description: Date booking was deleted. ISO 8601 format
          example: '2018-08-21T09:10:44.000Z'
        date_autodeleted_system:
          type: integer
          description: Date uncompleted booking was deleted. Epoch format
          example: 1534842634
        date_autodeleted_system_iso8601:
          type: string
          description: Date uncompleted booking was deleted. ISO 8601 format
          example: '2018-08-21T09:10:34.000Z'
        date_undeleted:
          type: integer
          description: Date booking was undeleted. Epoch format
          example: 1534842665
        date_undeleted_iso8601:
          type: string
          description: Date booking was undeleted. ISO 8601 format
          example: '2018-08-21T09:11:05.000Z'
        client_data:
          $ref: '#/components/schemas/ClientData'
        ticket_type_count:
          type: array
          description: Array with the booked tickets
          items:
            $ref: '#/components/schemas/TicketTypeCount'
        currency:
          type: string
          description: Currency for booking. ISO 4217
          example: EUR
        taxes:
          type: number
          description: Taxes included in the price of the booking
          example: 1.05
        total_price:
          type: number
          description: Total price for booking
          example: 20.5
        total_credit:
          type: number
          description: Total credit for booking, is used with Credit feature
          example: 20.5
        payment_partial:
          type: number
          description: Partial payment for booking
          example: 20.5
        gateway_fee:
          type: number
          description: Fee for gateway
          example: 0
        user_name:
          type: string
          description: Agent name
          example: "Sara Agent"
        agent_fee:
          type: number
          description: Fee for agent
          example: 0
        status:
          $ref: '#/components/schemas/Status'
        notes:
          type: string
          description: Internal notes for booking
          example: The customer has XXXL size
        payment_transaction:
          type: array
          description: Payment history log
          items:
            $ref: '#/components/schemas/PaymentHistoryLog'
        source:
          type: string
          description: |-
            Source of booking. Possible values:
             * widget
             * backoffice
             * API
             * OTA
          example: widget
        multi_client_hash:
          type: string
          description: Identifier shared by the bookings of the same purchase
          example: 3f61cae0a3add1537a3cfe14e3b48bae
        cart_hash:
          type: string
          description: Identifier shared by the bookings of the same purchase by cart
          example: 3f61cae0a3add1537a3cfe14e3b48bae
        payment_gateway:
          type: string
          description: Payment gateway of booking
          example: stripe
        gift_certificate:
          type: boolean
          description: If booking is a gift
          example: 0
        checked:
          type: boolean
          description: Indicates if the booking was checked
          example: false
        date_enjoyed:
          type: integer
          description: Date booking was checked. Epoch format
          example: 1535921200
        date_enjoyed_:
          type: string
          description: Date booking was checked. ISO 8601 format
          example: '2018-09-02T20:46:40.000Z'
        gift_details:
          type: object
          description: Data with gift details
          properties:
            name_of_beneficiary:
              type: string
              description: Name of beneficiary
            email_of_beneficiary:
              type: string
              description: Email beneficiary
            gift_email_date:
              type: string
              description: Date send email to beneficiary. Epoch format
            gift_email_date_:
              type: string
              description: Date send email to beneficiary.ISO 8601 format
            dedicatory:
              type: string
              description: Dedicatory
            gift_code:
              type: string
              description: Redemtion code
            redeem_pdf:
              type: string
              description: PDF of the redeemed gift voucher
        transfer_hotel:
          type: string
          description: Name for transfer hotel
          example: 'Sunset Oasis'
        transfer_point:
          type: string
          description: Name of pick-up point
          example: 'Villa Shopping Center Bus Stop'
        transfer_time:
          type: string
          description: Pick-up time
          example: '14:30'
        pdf_download:
          type: string
          description: URL for download the ticket
          example: https://domain.com/sghlkhgfoiwefbnowfsw3435.dsfgsdifgs435.vudf89673489563hdfsgf
        verification_code:
          type: string
          description: Check-in URL
          example: 'https://apptest.turitop.com/qr/E227-T444-180821-1/mb8qv69p7b",'
        verification_type:
          type: string
          description: Check-in type
          example: 'QR_CODE'
        deleted:
          type: boolean
          description: If the booking is deleted
          example: 'true'
        created_data:
          type: object
          description: Booking creation data
          properties:
            created_by_id:
              type: string
              description: Identifier of the user on the system that created the booking, if not exist, it is not an user
              example: "1865"
            created_by:
              type: string
              description: Name of User, Company or Origin that created the booking
              example: "Jhon Doe"
        sold_data:
          type: object
          description: Booking selling data
          properties:
            sold_by_id:
              type: string
              description: Identifier of the user on the system that selled the booking, if not exist, it is not an user
              example: "1865"
            sold_by:
              type: string
              description: Name of User, Company or Origin that selled the booking
              example: "Jhon Doe"
        payment_link_data:
          type: object
          description: Payment link data
          properties:
            is_open:
              type: boolean
              description: Specified if the payment link can be used or not
              example: "1"
            payment_link_created:
              type: integer
              description: Date of the payment link creation. Epoch format.
              example: 1534921200
            payment_link_duration:
              type: string
              description: Payment link duration
              example: "48"
    Prebooking:
      type: object
      required:
        - product_name
        - product_short_id
        - product_time_zone
        - supplier_company_short_id
        - supplier_company_name
        - seller_company_short_id
        - seller_company_name
        - short_id
        - language_code
        - service_flow
        - date_event
        - date_prebooking
        - date_booking
        - ticket_type_count
        - currency
        - total_price
        - payment_partial
        - gateway_fee
        - agent_fee
        - source
        - multi_client_hash
        - status
        - notes
        - payment_gateway
        - gift_certificate
        - checked
      properties:
        product_name:
          type: string
          description: Product name
          example: Surf with dolphins
        product_short_id:
          type: string
          description: Product short_id
          example: P12
        product_time_zone:
          type: string
          description: Product timezone
          example: Europe/Madrid
        supplier_company_short_id:
          type: string
          description: 'In resold products, it indicates the short_id of the supplier company. Otherwise, it indicates the short_id of the company that owns the prebooking'
          example: T444
        supplier_company_name:
          type: string
          description: 'In resold products, it indicates the name of the supplier company. Otherwise, it indicates the name of the company that owns the prebooking'
          example: DeepBlue Travels
        seller_company_short_id:
          type: string
          description: 'It indicates the short_id of the seller company.'
          example: T444
        seller_company_name:
          type: string
          description: 'It indicates the name of the seller company.'
          example: DeepBlue Travels
        short_id:
          type: string
          description: Booking short_id
          example: T444-180821-1
        language_code:
          type: string
          description: |
            ISO 639-1. Standard nomenclature used to classify languages <br>
            This is the preferred language. If translation is not found, it will return value in original language
          example: en
        service_flow:
          type: string
          description: |
            Type of flow in the purchase. Possible values:
              * tour
              * open
          example: tour
        date_event:
          type: integer
          description: Date of the booking event. Epoch format.
          example: 1534921200
        date_prebooking:
          type: integer
          description: Date booking was added. Epoch format.
          example: 1534842633
        date_booking:
          type: integer
          description: Date booking was created. Epoch format
          example: 1534842634
        ticket_type_count:
          type: array
          description: Array with the amounts of each ticket type
          items:
            $ref: '#/components/schemas/TicketTypeCount'
        currency:
          type: string
          description: Currency for booking. ISO 4217
          example: EUR
        taxes:
          type: number
          description: Taxes included in the price of the booking
          example: 1.05
        total_price:
          type: number
          description: Total price for booking
          example: 20.5
        payment_partial:
          type: number
          description: Partial payment for booking
          example: 20.5
        gateway_fee:
          type: number
          description: Fee for gateway
          example: 0
        agent_fee:
          type: number
          description: Fee for agent
          example: 0
        status:
          $ref: '#/components/schemas/Status'
        notes:
          type: string
          description: Internal notes for booking
          example: The customer has XXXL size
        source:
          type: string
          description: |-
            Source of booking. Possible values:
             * widget
             * backoffice
             * API-TuriTop
             * OTA
          example: widget
        multi_client_hash:
          type: string
          description: Identifier shared by the bookings of the same purchase
          example: 3f61cae0a3add1537a3cfe14e3b48bae
        payment_gateway:
          type: string
          description: Payment gateway of booking
          example: stripe
        checked:
          type: boolean
          description: Indicates if the booking was checked
          example: false
    InsertBookingTour:
      type: object
      required:
        - event_start
        - ticket_type_count
        - total_price
        - payment_partial
        - status
        - payment_gateway
        - client_data
      properties:
        event_start:
          type: integer
          description: Date event for booking
        ticket_type_count:
          $ref: '#/components/schemas/TicketCount'
        total_price:
          type: number
          description: Total price for booking
        payment_partial:
          type: number
          description: Partial payment for booking
        status:
          $ref: '#/components/schemas/Status'
        gift_certificate:
          type: boolean
          description: Boogink is a gift
        gift_details:
          type: object
          description: Data with gift details
          properties:
            name_of_beneficiary:
              type: string
              description: Name of beneficiary
            gift_email_date:
              type: integer
              description: Date send email to beneficiary
            email_of_beneficiary:
              type: string
              description: Email beneficiary is required is exist gift_email_date
            dedicatory:
              type: string
              description: Dedicatory
        payment_gateway:
          $ref: '#/components/schemas/PaymentGateway'
        client_data:
          $ref: '#/components/schemas/ClientData'
        comments:
          type: string
          description: Comment for booking
        notes:
          type: string
          description: Additional internal notes related to the booking. Not visible to customers
        hotel:
          type: integer
          description: Code transfer hotel
    ClientData:
      type: object
      description: Data client form
      properties:
        name:
          type: string
          description: Customer full name
          example: Peter Griffin
        email:
          type: string
          description: Customer email
          example: PGriffin@familyguy.com
        phone:
          type: string
          description: Customer mobile phone
          example: '+3454681208'
        landline:
          type: string
          description: Customer landline
          example: '+3492215054'
        nationalid:
          type: string
          description: Customer national identity card
          example: 787775426821X
        birthday:
          type: string
          description: Customer birthday
          example: 11/01/1981
        age:
          type: string
          description: Customer age
          example: '37'
        language:
          type: string
          description: Customer language
          example: English
        country:
          type: string
          description: Customer country
          example: USA
        locality:
          type: string
          description: Customer locality
          example: Texas
        comments:
          type: string
          description: Customer comments
          example: I need a size XXXL for the life jacket
        hotel:
          type: string
          description: Customer hotel
          example: Tenerife Palace
        room:
          type: string
          description: Customer room
          example: Suite A23
        address:
          type: string
          description: Customer address
          example: 31 Spooner Street
        postalcode:
          type: string
          description: Customer postal code
          example: '47616'
        acceptterms:
          type: integer
          description: Indicates if the customer has accepted the terms and conditions shown in the purchase flow
          example: 1
        newsletter:
          type: integer
          description: Indicates if the customer has agreed to receive newsletters
          example: 1
        customtext:
          type: string
          description: Customer response for the custom form
        customtext2:
          type: string
          description: Customer response for the custom form
        customtext3:
          type: string
          description: Customer response for the custom form
        customtext4:
          type: string
          description: Customer response for the custom form
        customtext5:
          type: string
          description: Customer response for the custom form
        customtext6:
          type: string
          description: Customer response for the custom form
        customtextarea:
          type: string
          description: Customer response for the custom form
        customtextarea2:
          type: string
          description: Customer response for the custom form
        customcheck:
          type: integer
          description: Indicates if the customer has accepted the custom question
          example: 0
        customcheck2:
          type: string
          description: Customer response for the custom form
        customcheck3:
          type: string
          description: Customer response for the custom form
        custom:
          type: string
          description: Customer response for the custom form
        custom2:
          type: string
          description: Customer response for the custom form
        custom3:
          type: string
          description: Customer response for the custom form
        custom4:
          type: string
          description: Customer response for the custom form
        custom5:
          type: string
          description: Customer response for the custom form
    TicketTypeCount:
      type: object
      description: Data with ticket type
      properties:
        code:
          type: integer
          description: Ticket type code
          example: 33849
        name:
          type: string
          description: Name for ticket type
          example: Adult
        count:
          type: integer
          description: Amount of the type of ticket for the booking
          example: 1
        price_per_ticket:
          type: integer
          description: Price of the ticket for the booking
          example: 10
    TicketCount:
      type: object
      description: |
        List with ticket types as {integer : integer}<br>
        The first integer represents the ticket id in TuriTop and the second integer represents the ticket quantity<br>
        Note: Minimum ticket quantity is ignored via insert/edit booking<br>
      additionalProperties:
          type: integer
    PaymentHistoryLog:
      type: object
      description: Data with relevant information over a payment transaction
      properties:
        date:
          type: string
          description: Date when the transaction was sent. ISO 8601
          example: "2018-08-31"
        note:
          type: string
          description: Aditional info
          example: Paid in the office
        amount:
          type: number
          description: Total amount for the transaction
          example: 20
        gateway_fee:
          type: number
          description: Commission charged for the gateway
          example: 2.5
        transaction:
          type: number
          description: Number of the transaction
          example: 5
        read_only:
          type: boolean
          description: Read only transaction. If true, the transaction cannot be modified
          example: true
        tracking_id_external:
          type: string
          description: External tracking identifier for the transaction
          example: "681480f9d3dd5"
        is_manual:
          type: boolean
          description: Indicates if the transaction was manually added
          example: true
        transaction_id:
          type: string
          description: Transaction identifier 
          example: "0d52c122-8eb1-4c6c-98d8-8009e0112017"
        tracking_id:
          type: string
          description: Tracking identifier
          example: "C1683ecb0274889"
        payment_method:
          $ref: '#/components/schemas/PaymentGateway'
    PaymentGateway:
      type: string
      description: |
        Payment gateway for booking. Allowed values:
          * paypal
          * paypalEC
          * paypalPPCP
          * paypalPPCPCard
          * stripe
          * mypos
          * ideal
          * sofort
          * ecomm365
          * realex
          * bizum
          * sis
          * redsysinsite
          * redsysextra
          * paygate
          * mercadopago
          * mercadopago2
          * transfer
          * banktransfer
          * check
          * optional
          * card
          * prepaid
          * giftvoucher
          * cash
          * other
          * on arrival
      example: paypal
    Discount:
      type: object
      description: Discount data
      properties:
        time_zone:
          type: string
          description: Product time zone
        discount_id:
          type: integer
          description: Discount identifier
        type:
          type: string
          description: Type of discount
        value:
          type: integer
          description: Value of discount
        ticket_id:
          type: integer
          description: Ticket identifier that apply discount
        tickets_id:
          type: array
          description: Array of tickets id. Tickets identifier that apply discount.
          items:
            type: integer
        agent_reseller_visibility:
          type: string
          description: Discounts visibility of agents and resellers
        apply_to_gift_voucher:
          type: boolean
          description: Apply discount to gift voucher
        anticipation:
          type: integer
          description: Purchase anticipation in hours to apply the discount
        groupal_max_count:
          type: integer
          description: Maximum seats to apply the discount
        groupal_min_count:
          type: integer
          description: Minimum seats to apply the discount
        date_from:
          type: string
          description: Date event to start apply discount
        date_to:
          type: string
          description: Date event to finish apply discount
        purchase_date_from:
          type: string
          description: Date purchase to start apply discount
        purchase_date_to:
          type: string
          description: Date purchase to finish apply discount
        promo_code:
          type: string
          description: Code to apply discount
        uses:
          type: integer
          description: Number of uses of the promocode
        uses_left:
          type: integer
          description: Number of uses left of the promocode
        blacklist:
          type: array
          description: Array of timestamps indicating the date where the discount will not apply
          items:
            type: integer
        weekdays:
          type: string
          description: Days of the week the promocode will apply. Numbers from 1 to 7. Week starts on monday
        hour_from:
          type: string
          description: 'Hour to start applying the discount. 24 hour format (HH:mm)'
        hour_to:
          type: string
          description: 'Hour to finish the using of the discount. 24 hour format (HH:mm)'
        cumulative:
          type: boolean
          description: If discount is cumulative
        apply_to_deposit:
          type: boolean
          description: If discount is applicable to deposit booking
    Variation:
      type: object
      description: Variation data
      properties:
        time_zone:
          type: string
          description: Product time zone
        variation_id:
          type: integer
          description: Variation identifier
        type:
          type: string
          description: Type of variation
        value:
          type: integer
          description: Value of variation
        ticket_id:
          type: integer
          description: Ticket identifier that apply variation
        date_from:
          type: string
          description: Date event to start apply variation
        date_to:
          type: string
          description: Date event to finish apply variation
        weekdays:
          type: string
          description: Days of the week the promocode will apply. Numbers from 1 to 7. Week starts on monday
        hour_from:
          type: string
          description: 'Hour to start applying the variation. 24 hour format (HH:mm)'
        hour_to:
          type: string
          description: 'Hour to finish the using of the variation. 24 hour format (HH:mm)'
        blacklist:
          type: array
          description: Array of timestamps indicating the date where the discount will not apply
          items:
            type: integer
    Company_category:
      type: object
      properties:
        short_id:
          type: string
          description: Category short id
          example: C1
        name:
          type: string
          description: Category name
          example: Events in the ocean
    Service_type:
      type: object
      properties:
        name:
          type: string
          description: Type of activity the service provides
          example: Water Activities
        subtype:
          type: string
          description: Subtype of activity the service provides
          example: Snorkel
    AmazonS3Url:
      type: object
      properties:
        url:
          type: string
          description: Image URL
          example: 'https: //appturitop.s3.eu-central-1.amazonaws.com/T444/products/P12/15253466728_4240016-dolphin.jpg?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIUJsE4SQUPJABRMEA%2F201s80821%2Feu-central-1%2Fs3%2Faws4_request&X-Amz-Date=20180821T091122Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Signature=e1091a824f5d15c7f1es8b5468d2e7fd1eeda7394efd8850a764s391a1ac538532'
    standardResponse:
      type: object
      properties:
        method:
          type: string
          description: Http Method
          example: POST
        url:
          type: string
          description: Call url
          example: '/v1/company/<action>'
        timestamp:
          type: integer
          description: 'Server time, EPOCH (Unix time or POSIX time or Unix timestamp)'
          example: 1534759136
        time_zone:
          type: integer
          description: Time zone of server
          example: Europe/Madrid
        status:
          type: string
          description: Response status
        code:
          type: integer
          description: Response status code
          example: 400
        message:
          type: string
          description: Response message
        details:
          type: string
          description: Response details
    User:
      type: object
      required:
       - user_id
       - name
       - email
       - telephone
       - description
       - language
       - country
       - type
      properties:
        user_id:
          type: integer
          description: User identificator for Agents registered in the provider's panel
          example: 2237
        name:
          type: string
          description: User's full name
          example: John Doe
        email:
          type: string
          description: User's email
          example: johndoe@gmail.com
        telephone:
          type: string
          description: User telephone
          example: 999457895
        description:
          type: string
          description: Internal annotations about the user
          example: It has a special fee of 5%
        alias:
          type: string
          description: User's alias on the company
        language:
          type: string
          description: User language code
          example: en
        country:
          type: string
          description: Internal annotations about the user
          example: User country
        type:
          type: string
          description: Kind of user
          example: agent
        fee:
          type: object
          description: User fee
          required:
           - type
          properties:
            type:
              type: string
              description: |
                Fee type, values:
                  - net
                  - percentage
              example: percentage
            percentage:
              type: number
              description: Returned when type is percentage
              example: 10
            net:
              type: string
              description: Returned when type is net
      example:
        {
          "user_id": 2237,
          "name": "John Doe",
          "email": "johndoe@gmail.com",
          "telephone": 999457895,
          "description": "It has a special fee of 5%",
          "language": "en",
          "country": "User country",
          "type": "agent",
          "fee": {
            "type": "percentage",
            "percentage": 5
          }
        }
    Invitation:
      type: object
      required:
       - invitation_id
       - email
       - created_date
      properties:
        invitation_id:
          type: integer
          description: Invitation identifier
          example: 21542
        email:
          type: string
          description: User's email
          example: johndoe@gmail.com
        created_date:
          type: string
          description: Date the invitation was sent. ISO 8601
          example: '2018-08-31T16:02:45+02:00'
        created_by:
          type: integer
          description: Identifier of the user who created the invitation
          example: 4547
    Webhook:
      type: object
      required:
       - invitation_id
       - email
       - created_date
      properties:
        action:
          type: string
          description: |
            Action of webhooks, values:
              * all
              * booking.insert
              * booking.update
              * booking.delete
          example: all
        end_point:
          type: string
          description: Url to send notify of the booking
          example: https://notifyurl.com/notify
        created_date:
          type: string
          description: Date the invitation was sent. ISO 8601
          example: '2018-08-31T16:02:45+02:00'
        hash:
          type: string
          description: Webhook unique identifier
          example: 4ccc76d78bd7b0d4f67bde01715117c3
    PaymentGateways:
      type: object
      description: Payment gateways availables
      required:
        - id
        - name
      properties:
        id:
          type: string
          description: Payment gateway identifier
          example: paypalEC
        name:
          type: string
          description: Payment gateway name
          example: Paypal Express Checkout
        offline:
          type: boolean
          description: Is offline payment method
          example: false
    Languages:
      type: object
      description: |
        Languages availables
      required:
        - id
        - code
        - name
      properties:
        id:
          type: string
          description: Language identifier
          example: 1
        code:
          type: string
          description: Code of language
          example: en
        name:
          type: string
          description: Name of language
          example: English
    ProductDataResell:
      type: object
      description: Products availables to resell
      properties:
        company_short_id:
          type: string
          description: Copmany identifier
          example: D220
        company_name:
          type: string
          description: Company name
          example: Deep Blue
        product_short_id:
          type: string
          description: Product identifier
          example: P1
        product_name:
          type: string
          description: Product name
          example: Deep Blue Travel
        product_prefered_fee:
          type: number
          format: float
          description: Preferred resell fee as a decimal percentage value between 0 and 1
          minimum: 0
          maximum: 1
          example: 0.100
    ProductDataResellRequest:
      type: object
      description: Product resell request
      properties:
        product_short_id:
          type: string
          description: Product identifier
          example: P3
        product_name:
          type: string
          description: Product name
          example: Deep Blue Travel
        supplier_company_short_id:
          type: string
          description: Supplier company identifier
          example: D220
        supplier_company_name:
          type: string
          description: Supplier company name
          example: Deep Blue
        supplier_product_short_id:
          type: string
          description: Supplier product identifier
          example: P1
        resell_pay_to:
          type: string
          description: Defines who charges first (reseller or provider)
          enum:
            - reseller
            - provider
          example: provider
        product_prefered_fee:
          type: number
          format: float
          description: Preferred resell fee as a decimal percentage value between 0 and 1
          minimum: 0
          maximum: 1
          example: 0.156
        timezone:
          type: string
          description: Product time zone
          example: Atlantic/Canary
    ProductDataAcceptRequest:
      type: object
      description: Product accept request
      properties:
        product_short_id:
          type: string
          description: Product identifier
          example: P3
        reseller_company_short_id:
          type: string
          description: Reseller company identifier
          example: D220
        reseller_company_name:
          type: string
          description: Reseller company name
          example: Deep Blue
        reseller_product_short_id:
          type: string
          description: Reseller product identifier
          example: P1
        resell_pay_to:
          type: string
          description: Defines who charges first (reseller or provider)
          enum:
            - reseller
            - provider
          example: provider
        product_fee:
          type: number
          format: float
          description: Preferred resell fee as a decimal percentage value between 0 and 1
          minimum: 0
          maximum: 1
          example: 0.156
        product_resell_status:
          type: string
          description: Status of the resell request
          example: accept
        timezone:
          type: string
          description: Product time zone
          example: Atlantic/Canary
    ProductDataDenyRequest:
      type: object
      description: Product deny request
      properties:
        product_short_id:
          type: string
          description: Product identifier
          example: P3
        reseller_company_short_id:
          type: string
          description: Reseller company identifier
          example: D220
        reseller_company_name:
          type: string
          description: Reseller company name
          example: Deep Blue
        reseller_product_short_id:
          type: string
          description: Reseller product identifier
          example: P1
        resell_pay_to:
          type: string
          description: Defines who charges first (reseller or provider)
          enum:
            - reseller
            - provider
          example: provider
        product_fee:
          type: number
          format: float
          description: Preferred resell fee as a decimal percentage value between 0 and 1
          minimum: 0
          maximum: 1
          example: 0.156
        product_resell_status:
          type: string
          description: Status of the resell request
          example: deny
        timezone:
          type: string
          description: Product time zone
          example: Atlantic/Canary
    ProductDataGetResaleRequestsReceived:
      type: object
      properties:
        P1:
          type: object
          description: Product identifier
          properties:
            D220:
              type: object
              description: Company reseller identifier
              properties:
                reseller_company_name:
                  type: string
                  description: Company reseller name
                  example: Deep Blue
                reseller_product_short_id:
                  type: string
                  description: Product reseller identifier
                  example: P3
                product_resell_status:
                  type: string
                  description: Status of the request resell
                  example: accept
                resell_pay_to:
                  type: string
                  description: Defines who charges first (reseller or provider)
                  example: reseller
                product_fee:
                  type: string
                  description: Preferred resell fee as a decimal percentage value between 0 and 1
                  example: 0.156
            D254:
              type: object
              description: Company reseller identifier
              properties:
                reseller_company_name:
                  type: string
                  description: Company reseller name
                  example: Deep Green
                reseller_product_short_id:
                  type: string
                  description: Product reseller identifier
                  example: P5
                product_resell_status:
                  type: string
                  description: Status of the request resell
                  example: accept
                resell_pay_to:
                  type: string
                  description: Defines who charges first (reseller or provider)
                  example: provider
                product_fee:
                  type: string
                  description: Preferred resell fee as a decimal percentage value between 0 and 1
                  example: 0.156
        P7:
          type: object
          description: Product identifier
          properties:
            D220:
              type: object
              description: Company reseller identifier
              properties:
                reseller_company_name:
                  type: string
                  description: Company reseller name
                  example: Deep Blue
                reseller_product_short_id:
                  type: string
                  description: Product reseller identifier
                  example: P4
                product_resell_status:
                  type: string
                  description: Status of the request resell
                  example: accept
                resell_pay_to:
                  type: string
                  description: Defines who charges first (reseller or provider)
                  example: reseller
                product_fee:
                  type: string
                  description: Preferred resell fee as a decimal percentage value between 0 and 1
                  example: 0.122
    ProductDataGetResaleRequestsSended:
      type: object
      properties:
        P6:
          type: object
          description: Product identifier
          properties:
            supplier_company_short_id:
              type: string
              description: Company supplier name
              example: D220
            supplier_company_name:
              type: string
              description: Company supplier name
              example: Deep Blue
            supplier_product_short_id:
              type: string
              description: Product supplier identifier
              example: P3
            product_resell_status:
              type: string
              description: Status of the request resell
              example: accept
            resell_pay_to:
              type: string
              description: Defines who charges first (reseller or provider)
              example: reseller
            product_fee:
              type: string
              description: Preferred resell fee as a decimal percentage value between 0 and 1
              example: 0.156
        P7:
          type: object
          description: Product identifier
          properties:
            supplier_company_short_id:
              type: string
              description: Company supplier name
              example: D220
            supplier_company_name:
              type: string
              description: Company supplier name
              example: Deep Blue
            supplier_product_short_id:
              type: string
              description: Product supplier identifier
              example: P4
            product_resell_status:
              type: string
              description: Status of the request resell
              example: accept
            resell_pay_to:
              type: string
              description: Defines who charges first (reseller or provider)
              example: reseller
            product_fee:
              type: string
              description: Preferred resell fee as a decimal percentage value between 0 and 1
              example: 0.751
    ProductDataGetResellProductSupplier:
      type: object
      description: >
        Object indexed by supplier product short_id. Each key, such as P1 or P7,
        represents a supplier product identifier.
      additionalProperties:
        type: object
        description: >
          Object indexed by reseller company short_id (e.g., D220). Each key
          represents a reseller company offering this supplier product.
        additionalProperties:
          type: object
          description: Reseller company data for the supplier product
          properties:
            reseller_company_short_id:
              type: string
              description: Reseller company short_id
              example: D220
            reseller_company_name:
              type: string
              description: Reseller company name
              example: Deep Blue
            reseller_product_short_id:
              type: string
              description: Reseller product short_id
              example: P3
            product_resell_status:
              type: string
              description: Resell request status (e.g., pending, accept, deny)
              example: accept
            resell_pay_to:
              type: string
              description: Defines who charges first (reseller or provider)
              enum:
                - reseller
                - provider
              example: reseller
            product_fee:
              type: number
              format: float
              description: Preferred resell fee as a decimal percentage value between 0 and 1
              minimum: 0
              maximum: 1
              example: 0.156
    ProductDataGetResellProductReseller:
      type: object
      description: >
        Object indexed by reseller product short_id. Each key, such as P6 or P7,
        represents a reseller product identifier
      additionalProperties:
        type: object
        description: Reseller product data linked to its supplier product
        properties:
          supplier_company_short_id:
            type: string
            description: Supplier company short_id
            example: D220
          supplier_company_name:
            type: string
            description: Supplier company name
            example: Deep Blue
          supplier_product_short_id:
            type: string
            description: Supplier product short_id
            example: P3
          product_resell_status:
            type: string
            description: Resell request status (e.g., pending, accept, deny)
            example: accept
          resell_pay_to:
            type: string
            description: Defines who charges first (reseller or provider)
            enum:
              - reseller
              - provider
            example: reseller
          product_fee:
            type: number
            format: float
            description: Preferred resell fee as a decimal percentage value between 0 and 1
            minimum: 0
            maximum: 1
            example: 0.156
    CalendarData:
      type: object
      properties:
        data:
          type: object
          properties:
            events:
              type: array
              items:
                type: object
                properties:
                  time:
                    type: integer
                    description: Unixtimestamp of the event
                    example: 1598825700
                  products:
                    type: array
                    items:
                      type: object
                      properties:
                        timezone:
                          type: string
                          description: Product Timezone
                          example: "Atlantic/Canary"
                        short_id:
                          type: string
                          description: Product short_id
                          example: P1
                        status:
                          type: object
                          properties:
                            status:
                              type: string
                              enum:
                                - closed
                                - open
                              description: Indicates if the event is open or closed
                            code:
                              description: Reason for the closure of the event  <br>
                                           (Only returned when the event is closed)
                              type: array
                              items:
                                $ref: '#/components/schemas/Event_closed_code'
                            note:
                              type: string
                              description: Internal notes indicating the reason for the closure <br>
                                           (Only returned when the event is closed)
                              example: This event is closed for holidays
                        seats:
                          type: object
                          properties:
                            total:
                              type: integer
                              description: Total of tickets configured in this event
                              example: 50
                            reserved:
                              type: integer
                              description: How many tickets are reserved
                              example: 30
                            left:
                              type: integer
                              description: How many tickets are left
                              example: 20
                            quotas:
                              type: integer
                              description: How many tickets are locked by agent quota
                              example: 0
                            resources:
                              type: integer
                              description: How many tickets are locked by resources
                              example: 0
                        tickets:
                          type: array
                          items:
                            type: object
                            properties:
                              name:
                                type: string
                                description: Ticket name
                                example: Adult
                              id:
                                type: integer
                                description: Ticket id
                                example: 12345
                              seats:
                                type: integer
                                description: Indicates how many seats does a ticket takes
                                example: 1
                              left:
                                type: integer
                                description: How many tickets are left
                                example: 20
                              reserved:
                                type: integer
                                description: How many tickets are booked
                                example: 30
                              addon:
                                type: boolean
                                description: Indicates if the tickets is addon
                                example: true
                              required:
                                type: boolean
                                description: Indicates if the ticket is required to make a booking
                                example: false
                        categories:
                          type: array
                          items:
                            type: object
                            properties:
                              short_id:
                                type: string
                                description: Category short id
                                example: C1
                              name:
                                type: string
                                description: Category name
                                example: Walking tours

  requestBodies:
    Body:
      content:
        application/json:
          schema:
            type: object
            required:
              - refresh_token
            properties:
              refresh_token:
                type: string
                description: Refresh token
                example: eyJhbGciJzaGEyNTYiLCJ222XAiOiJTV1QifQ==.eyJpYXQiOjE1MjgyODg4N434ksInNob3J0X2lkIjoiVDQ0NCIsImFjY2Vzc19I6IjgxLjQ1LjEyOS43OSIsInR5cGUiOiJyZWZyZXNoIn0=.72fd741a18318793123395856b2c820e2323d0974c082a7c6a9d2df5bf8b73f5
      description: Authorization
    Body3:
      content:
        application/json:
          schema:
            type: object
            required:
              - access_token
              - data
            properties:
              access_token:
                type: string
                description: Access token
                example: ttJhbGciJzaXQASDCJ222XAiOiJTV1QifQ==.ttJpYXQiOjE1MjgyODg4N4TESTAsdeasdQ0NCIsImFjY2Vzc19I6IjgxLjQ1LjEyOS43OSIsInR5cGUiOiJyZWZyZXNoIn0=.722332aasd793123395856b2c820e2323d0974c082a7c6a9d2df5bf8b73f5
              data:
                type: object
                required:
                  - short_id
                properties:
                  short_id:
                    type: string
                    description: Booking short id
                    example: E227-T444-180821-1
                  hard_delete:
                    type: boolean
                    description: Permanently delete booking if set to true
                    example: false
      description: Booking
    Body5:
      content:
        application/json:
          schema:
            type: object
            required:
              - access_token
              - data
            properties:
              access_token:
                type: string
                description: Access token
                example: ttJhbGciJzaXQASDCJ222XAiOiJTV1QifQ==.ttJpYXQiOjE1MjgyODg4N4TESTAsdeasdQ0NCIsImFjY2Vzc19I6IjgxLjQ1LjEyOS43OSIsInR5cGUiOiJyZWZyZXNoIn0=.722332aasd793123395856b2c820e2323d0974c082a7c6a9d2df5bf8b73f5
              data:
                type: object
                required:
                  - short_id
                  - booking
                properties:
                  short_id:
                    type: string
                    description: Booking short id
                    example: T444-180829-1
                  booking:
                    type: object
                    description: Booking data
                    properties:
                      event_start:
                        type: integer
                        description: Date event start for booking
                      event_end:
                        type: integer
                        description: Date event finish for booking
                      ticket_type_count:
                        $ref: '#/components/schemas/TicketCount'
                      total_price:
                        type: number
                        description: Total price for booking
                      payment_partial:
                        type: number
                        description: Partial payment for booking
                      status:
                        $ref: '#/components/schemas/Status'
                      payment_gateway:
                        $ref: '#/components/schemas/PaymentGateway'
                      client_data:
                        $ref: '#/components/schemas/ClientData'
                      comments:
                        type: string
                        description: Comment for booking
                      notes:
                        type: string
                        description: Additional internal notes related to the booking. Not visible to customers
                      user_id:
                        type: integer
                        description: User identificator for Agents registered in the provider's panel
                    example:
                      booking:
                        event_start: 1535623200
                        event_end: 1535644800
                        status: pending
                        payment_gateway: stripe
                        client_data:
                          name: Test name
      description: Booking