Spotnana Event Templates API

APIs to create and manage event templates.

Operations 10

POST /v2/event-templates Create an event template #
POST /v2/event-templates/hidden Toggle hidden template #
GET /v2/event-templates/hidden Get hidden template status #
GET /v2/event-templates/{templateId} Get event template #
DELETE /v2/event-templates/{templateId} Delete an event template #
POST /v2/event-templates/{templateId}/edit-basic-info Update template's basic information #
POST /v2/event-templates/{templateId}/edit-booking-guidelines Update template booking guidelines #
PUT /v2/event-templates/{templateId}/custom-field-responses Update template's custom field responses. #
POST /v2/event-templates/list List event templates #
GET /v2/event-templates/read-by-external-id Get template by external ID #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/spotnana-event-templates-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

spotnana-event-templates-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Air Event Templates API
  version: v2
  description: APIs to perform search, checkout and book an air pnr
servers:
- url: https://api-ext-sboxmeta.partners.spotnana.com
  description: Sandbox URL
security:
- Bearer: []
tags:
- name: Event Templates
  description: APIs to create and manage event templates.
paths:
  /v2/event-templates:
    post:
      tags:
      - Event Templates
      summary: Create an event template
      description: This endpoint creates an event template.
      operationId: createEventTemplate
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateEventTemplateRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityNonUUIDId'
                example:
                  id: 1234567890
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
  /v2/event-templates/hidden:
    post:
      tags:
      - Event Templates
      summary: Toggle hidden template
      description: Enable or disable hidden template for an organization. When enabled, creates or unarchives a hidden template. When disabled, archives it.
      operationId: toggleHiddenTemplate
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ToggleHiddenTemplateRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ToggleHiddenTemplateResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
    get:
      tags:
      - Event Templates
      summary: Get hidden template status
      description: Check if hidden template is enabled for an organization.
      operationId: getHiddenTemplateStatus
      parameters:
      - name: companyId
        in: query
        description: Company ID
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetHiddenTemplateStatusResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
  /v2/event-templates/{templateId}:
    parameters:
    - name: templateId
      in: path
      description: Template ID
      required: true
      schema:
        type: string
        example: '6926658168'
    get:
      tags:
      - Event Templates
      summary: Get event template
      description: This endpoint gets event template details for a given template ID.
      operationId: getEventTemplate
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetEventTemplateResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      tags:
      - Event Templates
      summary: Delete an event template
      description: This endpoint archives an event template.
      operationId: deleteEventTemplate
      responses:
        '200':
          description: OK
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
  /v2/event-templates/{templateId}/edit-basic-info:
    parameters:
    - name: templateId
      in: path
      description: Template ID
      required: true
      schema:
        type: string
        example: '6926658168'
    post:
      tags:
      - Event Templates
      summary: Update template's basic information
      description: This endpoint allows updating basic template information.
      operationId: updateTemplateBasicInfo
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateTemplateBasicInfoRequest'
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
  /v2/event-templates/{templateId}/edit-booking-guidelines:
    parameters:
    - name: templateId
      in: path
      description: Template ID
      required: true
      schema:
        type: string
        example: '6926658168'
    post:
      tags:
      - Event Templates
      summary: Update template booking guidelines
      description: This endpoint updates the booking guidelines for a template.
      operationId: updateTemplateBookingGuidelines
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateTemplateBookingGuidelinesRequest'
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
  /v2/event-templates/{templateId}/custom-field-responses:
    parameters:
    - name: templateId
      in: path
      description: Template ID
      required: true
      schema:
        type: string
        example: '6926658168'
    put:
      tags:
      - Event Templates
      summary: Update template's custom field responses.
      description: This endpoint updates the template's custom field responses.
      operationId: updateTemplateCustomFieldResponses
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TemplateCustomFieldResponsesRequest'
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
  /v2/event-templates/list:
    post:
      tags:
      - Event Templates
      summary: List event templates
      description: This endpoint lists event templates.
      operationId: listEventTemplates
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ListEventTemplatesRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListEventTemplatesResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
  /v2/event-templates/read-by-external-id:
    parameters:
    - name: externalId
      in: query
      description: External ID
      required: true
      schema:
        type: string
        example: '6926658168'
    - name: companyId
      in: query
      description: Company ID
      required: true
      schema:
        type: string
        format: uuid
        example: f49d00fe-1eda-4304-ba79-a980f565281d
    get:
      tags:
      - Event Templates
      summary: Get template by external ID
      description: 'Get template details using the template''s `externalId`. External IDs are unique identifiers which can be set based on the company''s preference.

        '
      operationId: getEventTemplateByExternalID
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetEventTemplateResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  schemas:
    CarBookingPaymentGuidelines:
      title: CarBookingPaymentGuidelines
      description: Car booking payment guidelines
      type: object
      properties:
        allowedPaymentVendors:
          description: List of allowed car vendors for the event
          type: array
          items:
            $ref: '#/components/schemas/VendorInfo'
        onlyVendorBooking:
          type: boolean
          description: Whether only Vendor bookings are allowed for the event.
          example: true
    PersonalFilter:
      type: object
      title: PersonalFilter
      description: TmcFilter details.
      required:
      - id
      properties:
        id:
          description: user id
          $ref: '#/components/schemas/UserId'
        managedTravelerAccess:
          description: Config for providing the access to Managed Travelers if any. Applicable for Arranger roles.
          $ref: '#/components/schemas/ManagedTravelerPaymentAccess'
    AirlineInfo:
      title: AirlineInfo
      type: object
      required:
      - airlineCode
      - airlineName
      properties:
        airlineCode:
          type: string
          description: IATA code for airline.
          example: AA
        airlineName:
          type: string
          description: Airline name
          example: American Airlines
    CashDescriptorWrapper:
      type: object
      title: CashDescriptorWrapper
      description: Wrapper for Cash Payment Source.
      properties:
        cashDescriptor:
          $ref: '#/components/schemas/CashDescriptor'
    NameSuffix:
      title: NameSuffix
      description: Suffix for name
      type: string
      enum:
      - NAME_SUFFIX_UNKNOWN
      - SR
      - JR
      - MD
      - PHD
      - II
      - III
      - IV
      - DO
      - ATTY
      - V
      - VI
      - ESQ
      - DC
      - DDS
      - VM
      - JD
      - SECOND
      - THIRD
      example: SR
    TravelTypeFilter:
      type: object
      title: TravelTypeFilter
      description: Filter for selecting payment sources according to different types of travel.
      properties:
        travelTypes:
          type: array
          description: Applicable travel types for Payment Source.
          items:
            $ref: '#/components/schemas/PaymentSourceTravelType'
    ThirdPartySource:
      type: string
      enum:
      - UNKNOWN_SOURCE
      - SABRE
      - TRAVEL_FUSION
      - AVIA
      - NDC
      - TRAINLINE
      - ATPCO_NDC
      - FARELOGIX_NDC
      - OFFLINE
      - CONNEXUS
      - ROUTEHAPPY
      - AMADEUS
      - GIATA
      - QBR
      - BCD
      - QANTAS_HOTELS
      - SOUTHWEST
      - EXPEDIA
      - HOTEL_HUB
      - MARRIOTT
      - CLEARTRIP
      - KYTE
      - GROUNDSPAN
      - SABRE_NDC
      - BOOKING_COM
      - CARTRAWLER
      - PREMIER_INN
      - TRAVELODGE
      - ENTERPRISE
      - HYATT
      - EUROSTAR
      - NATIONAL
      - ALAMO
      - AVIS
      - BUDGET
      - HERTZ
      - DOLLAR
      - THRIFTY
      - FIREFLY
      x-ignoreBreakingChanges:
      - ThirdPartySource->BOOKING_COM
      - ThirdPartySource->CARTRAWLER
      - ThirdPartySource->PREMIER_INN
      example: SABRE
    CustomFieldTravelerAccess:
      title: CustomFieldTravelerAccess
      description: Traveler access for a custom field
      type: string
      enum:
      - HIDDEN
      - READ_ACCESS
      - WRITE_ACCESS
      example: HIDDEN
    LimoItineraryId:
      type: object
      title: LimoItineraryId
      description: Limo itinerary id
      required:
      - limoId
      properties:
        limoId:
          type: string
          description: Selected Limo option
    TemplatePaymentConfig:
      type: string
      description: Allowed payment configuration for a travel type in the event template
      enum:
      - TRAVELER_DEFAULT
      - TRAVELER_DEFAULT_CENTRAL
      - PERSONAL
      - SELECTED_METHODS
      example: TRAVELER_DEFAULT
      x-ignoreBreakingChanges:
      - TemplatePaymentConfig->TRAVELER_DEFAULT_CENTRAL
    GetEventTemplateResponse:
      title: GetEventTemplateResponse
      description: Get Event template response object
      type: object
      properties:
        eventTemplate:
          $ref: '#/components/schemas/EventTemplate'
    PaymentEventFilter:
      type: object
      title: PaymentEventFilter
      description: Payment EventFilter details.
      required:
      - eventIds
      - companyId
      properties:
        eventIds:
          type: array
          description: Event ids List
          items:
            type: string
            example: '12345'
        companyId:
          description: The company Id for the filter.
          $ref: '#/components/schemas/CompanyId'
    UserTripGroup:
      type: object
      title: UserTripGroup
      description: Definition of a group to combine users and their trips.
      required:
      - ownerId
      properties:
        id:
          type: string
          description: ID of the group.
          format: uuid
          example: f49d00fe-1eda-4304-ba79-a980f565281d
        name:
          type: string
          description: Name of the group.
          example: Sample group name
        userGroupInfo:
          $ref: '#/components/schemas/UserGroupInfo'
        userTripInfos:
          type: array
          description: Details of the users and their trips in the group.
          items:
            $ref: '#/components/schemas/UserTripInfo'
        ownerId:
          $ref: '#/components/schemas/UserId'
        status:
          $ref: '#/components/schemas/UserFacingStatus'
        startDate:
          $ref: '#/components/schemas/DateModel'
        endDate:
          $ref: '#/components/schemas/DateModel'
        createdAt:
          $ref: '#/components/schemas/DateTimeOffset'
    UserTripInfo:
      type: object
      title: UserTripInfo
      description: User and their trip information.
      required:
      - userId
      properties:
        userId:
          $ref: '#/components/schemas/UserId'
        tripInfos:
          type: array
          description: List of trips for the user.
          items:
            $ref: '#/components/schemas/TripInfo'
    EventTemplateStatusFilter:
      type: array
      title: EventTemplateStatusFilter
      description: Event filter status filter
      items:
        $ref: '#/components/schemas/EventTemplateStatus'
    VirtualCardVendor:
      type: string
      description: Type of Virtual card vendor
      enum:
      - CONFERMA
      example: CONFERMA
    CreditStatus:
      type: string
      description: Status of the credit.
      enum:
      - STATUS_UNKNOWN
      - OPEN
      - USED
      - RESERVED
      x-ignoreBreakingChanges:
      - CreditStatus->RESERVED
    EventNameFilterWrapper:
      type: object
      title: EventNameFilterWrapper
      description: Wrapper for EventNameFilter
      properties:
        eventNameFilter:
          $ref: '#/components/schemas/EventNameFilter'
    AmadeusCheckoutWrapper:
      type: object
      title: AmadeusCheckoutWrapper
      description: Wrapper for Amadeus Checkout payment source.
      required:
      - amadeusCheckout
      properties:
        amadeusCheckout:
          $ref: '#/components/schemas/AmadeusCheckout'
    TripContact:
      title: TripContact
      description: Contacts for the trip
      type: object
      required:
      - label
      - name
      properties:
        label:
          type: string
          description: Label for the contact
          example: Coordinator
        name:
          type: string
          description: Name of the contact
          example: Himani Jain
          x-pii: SENSITIVE
        email:
          type: string
          description: Email of the contact
          example: himani@spotnana.com
          x-pii: IDENTIFIER
        phoneNumber:
          description: Phone no. of the trip contact
          $ref: '#/components/schemas/PhoneNumber'
        isPrimary:
          type: boolean
          description: Whether the contact is primary or not
          example: true
          default: false
        restrictVisibility:
          type: boolean
          description: Whether to restrict visibility of the contact to only agents and admins
          example: true
          default: false
    EventTemplateScope:
      title: EventTemplateScope
      description: Scope of an event template.
      type: string
      enum:
      - DEFAULT
      - HIDDEN
      example: DEFAULT
    PaymentSourceType:
      type: string
      description: Type of Payment Source
      enum:
      - CARD
      - VIRTUAL_CARD
      - REWARDS_PROGRAM
      - DELAYED_INVOICING
      - CUSTOM_PAYMENT_METHOD
      - VENDOR_PROGRAM_PAYMENT
      - UNUSED_CREDIT
      - CASH
    ErrorResponse:
      type: object
      properties:
        debugIdentifier:
          type: string
          description: Link to debug the error internally.
        errorMessages:
          type: array
          items:
            type: object
            properties:
              errorCode:
                type: string
                description: Error code to identify the specific errors.
              message:
                type: string
                description: Message containing details of error.
              errorParameters:
                type: array
                description: Error message parameters.
                items:
                  $ref: '#/components/schemas/ErrorParameter'
              errorDetail:
                type: string
                description: More details about the error.
    CardDescriptorWrapper:
      type: object
      title: CardDescriptorWrapper
      description: Wrapper for CardDescriptor
      properties:
        cardDescriptor:
          $ref: '#/components/schemas/CardDescriptor'
    PaymentSourceTravelType:
      type: object
      title: PaymentSourceTravelType
      required:
      - travelType
      properties:
        travelType:
          description: Applicable travel segment type, e.g. AIR, HOTEL etc.
          $ref: '#/components/schemas/TravelType'
        isRequired:
          type: boolean
          description: Whether this is a required payment source for this travel type.
        allowPostPaidBookings:
          type: boolean
          description: Whether post paid bookings are allowed for this travel type.
          default: false
        metadata:
          description: Travel Type specific metadata for payment source.
          $ref: '#/components/schemas/PaymentSourceTravelTypeMetadata'
    HotelAmenities:
      title: HotelAmenities
      type: object
      description: Type of hotel amenity
      properties:
        type:
          $ref: '#/components/schemas/HotelAmenityType'
        additionalInfo:
          type: string
          description: Amenity description
          example: Complimentary in-room coffee or tea
        complimentary:
          type: boolean
          description: Is Amenity complimentary
          example: true
    Persona:
      type: string
      title: Persona
      description: Persona of the user
      enum:
      - UNKNOWN_PERSONA
      - EMPLOYEE
      - GUEST
      - PERSONAL
      - RELATIVE
      - ADHOC
      example: EMPLOYEE
    ManagedTravelerPaymentAccess:
      type: object
      description: Settings for sharing this payment method with managed traveler profiles. Applicable for Arranger Roles.
      required:
      - enabled
      properties:
        enabled:
          type: boolean
          description: Indicates if this payment method can be used on the Traveler Profiles being managed by this User.
          default: false
        visibility:
          type: object
          description: Controls how this payment method is displayed on checkout for managed traveler profiles, applicable only if sharing is enabled.
          properties:
            showToTravelers:
              type: boolean
              description: If true, managed travelers can see this payment method when booking for themselves. If false, only the Travel Arranger can see it.
              default: false
    DateTimeRange:
      type: object
      properties:
        min:
          $ref: '#/components/schemas/DateTimeLocal'
          description: Minimum value - inclusive.
        max:
          $ref: '#/components/schemas/DateTimeLocal'
          description: Maximum value - inclusive.
    AmadeusCheckout:
      type: object
      title: AmadeusCheckout
      required:
      - splitPaymentAllowed
      description: Metadata for Amadeus Checkout payment source.
      properties:
        paymentPageId:
          type: string
          example: aslkdjalwjd
          description: Payment page Id.
        splitPaymentAllowed:
          type: boolean
          example: true
          default: false
          description: True if split payment is allowed in Amadeus Checkout, false otherwise
        splitOptionsByCardCompany:
          type: array
          items:
            $ref: '#/components/schemas/SplitOptionByCardCompany'
    EventGroup:
      title: EventGroup
      description: Group of users for the event
      type: object
      properties:
        id:
          type: string
          description: Event Group ID
          format: uuid
          example: f49d00fe-1eda-4304-ba79-a980f565281d
        name:
          type: string
          description: Name of the event group
        description:
          type: string
          description: Description of the event group
        bookingGuidelines:
          description: A list of BookingGuideline for event group
          type: array
          items:
            $ref: '#/components/schemas/EventBookingGuideline'
        metadata:
          $ref: '#/components/schemas/EventGroupMetadata'
        group:
          $ref: '#/components/schemas/UserTripGroup'
        createdBy:
          $ref: '#/components/schemas/UserId'
        allowedBookingTypes:
          type: array
          description: Allowed booking types for the event group
          items:
            $ref: '#/components/schemas/EventAllowedBookingType'
        eventUserRsvpList:
          type: array
          description: List of user rsvp responses for the event group
          items:
            $ref: '#/components/schemas/EventUserRsvp'
        allowedPaymentConfig:
          $ref: '#/components/schemas/AllowedPaymentConfig'
    ExpiryWrapper:
      type: object
      title: ExpiryWrapper
      properties:
        expiry:
          $ref: '#/components/schemas/Expiry'
    CustomFieldId:
      type: object
      title: CustomFieldId
      description: The custom field type and the id associated with it.
      required:
      - type
      - externalId
      properties:
        type:
          $ref: '#/components/schemas/CustomFieldType'
        externalId:
          type: string
          description: Meeting id or budget id based on custom field type.
    EventBookingGuideline:
      title: EventBookingGuideline
      description: Booking details allowed for the event
      type: object
      oneOf:
      - $ref: '#/components/schemas/AirBookingGuidelineWrapper'
      - $ref: '#/components/schemas/HotelBookingGuidelineWrapper'
      - $ref: '#/components/schemas/CarBookingGuidelineWrapper'
      - $ref: '#/components/schemas/RailBookingGuidelineWrapper'
      properties:
        numGuestsAllowed:
          type: integer
          description: Number of guests allowed to be booked for this booking
          example: 1
    DepartmentId:
      type: object
      title: DepartmentId
      description: Department id.
      required:
      - id
      properties:
        id:
          type: string
          example: 631ccbcf-9414-5fe0-c234-b324dfbe7422
    IndividualFilter:
      type: object
      title: IndividualFilter
      description: IndividualFilter details.
      required:
      - ids
      - companyId
      properties:
        ids:
          type: array
          description: List of user id
          items:
            $ref: '#/components/schemas/UserId'
        companyId:
          description: company id
          $ref: '#/components/schemas/CompanyId'
    PaymentMethod:
      type: string
      description: Payment method
      enum:
      - PAYMENT_METHOD_UNKNOWN
      - CREDIT_CARD
      - BREX_POINTS
      - CASH
      - QANTAS_POINTS
      - VENDOR_PROGRAM_PAYMENT
      - DELAYED_INVOICING
      - FLIGHT_CREDITS
      - QANTAS_TRAVEL_FUND
      - CUSTOM_VIRTUAL_PAYMENT
      - FLIGHT_PASS
      - MISCELLANEOUS_CREDIT_ORDER
      - NO_PREPAYMENT
      x-ignoreBreakingChanges:
      - PaymentMethod->MISCELLANEOUS_CREDIT_ORDER
      - PaymentMethod->NO_PREPAYMENT
      example: BREX_POINTS
    ReportingAttribute:
      type: object
      title: ReportingAttribute
      description: ReportingAttribute information for virtual cards.
      properties:
        type:
          type: string
          description: Type of ReportingAttribute
          enum:
          - EMPLOYEE_ID
          - COST_CENTER_ID
          - LEGAL_ENTITY_ID
          example: LEGAL_ENTITY_ID
    SortOrder:
      type: string
      description: Sorting order.
      enum:
      - DESC
      - ASC
      example: DESC
      default: ASC
    CarRsvpResponse:
      title: CarRsvpResponse
      type: object
      description: Car rsvp response
      properties:
        notNeeded:
          type: boolean
          description: Whether car booking is needed by the traveler or not
          example: true
    CustomPaymentMethodDescriptorWrapper:
      type: object
      title: CustomPaymentMethodDescriptorWrapper
      description: Wrapper for CustomPaymentMethodDescriptor
      properties:
        customPaymentMethodDescriptor:
          $ref: '#/components/schemas/CustomPaymentMethodDescriptor'
    HotelBookingGuideline:
      title: HotelBookingGuideline
      description: Hotel related guidelines
      type: object
      properties:
        allowedHotels:
          description: List of allowed Hotel details for the event
          type: array
          items:
            $ref: '#/components/schemas/HotelInfo'
        checkinBookingWindow:
          $ref: '#/components/schemas/EventBookingWindow'
        checkoutBookingWindow:
          $ref: '#/components/schemas/EventBookingWindow'
        paymentGuidelines:
          $ref: '#/components/schemas/HotelBookingPaymentGuidelines'
          readOnly: true
    ProgramDetails:
      type: object
      title: ProgramDetails
      description: Descriptor for programs details.
      required:
      - uscId
      - tourCode
      - snapCode
      properties:
        uscId:
          type: string
          description: Contract Id between vendor and the client.
        tourCode:
          type: string
          description: Tracking code to know which company has booked the ticket, it is added to the price quote and ticket.
        snapCode:
          type: string
          description: Discount code.
    UnusedCreditFopCardAccessType:
      type: string
      description: The card access type of the FOP associated with the unused credit.
      enum:
      - CARD_ACCESS_CENTRAL
      - CARD_ACCESS_PERSONAL
      - CARD_ACCESS_CORPORATE
    DateTimeOffset:
      title: DateTimeOffset
      description: ISO8601 UTC Date Time
      type: object
      required:
      - iso8601
      properties:
        iso8601:
          type: string
          pattern: ^\d{4}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-4]):([0-5][0-9])(:([0-5][0-9]))?(Z|([+-](0[0-9]|1[0-4]):([0-5][0-9])))$
          example: 2017-07-21T17:32Z
    AirlineProgramMetadata:
      type: object
      title: AirlineProgramMetadata
      oneOf:
      - $ref: '#/components/schemas/UATPMetadataWrapper'
      - $ref: '#/components/schemas/UAPassPlusMetadataWrapper'
      - $ref: '#/components/schemas/DinersTacMetadataWrapper'
      x-ignoreBreakingChanges:
      - AirlineProgramMetadata->DinersTacMetadataWrapper
    LegalEntityFilterWrapper:
      type: object
      title: LegalEntityFilterWrapper
      description: Wrapper for LegalEntityFilter
      properties:
        legalEntityFilter:
          $ref: '#/components/schemas/LegalEntityFilter'
    UnusedCreditExchangeInfo:
      type: object
      title: ExchangeInfo
      description: Exchange information for unused credits.
      properties:
        previousTicket:
          type: string
          description: Previous ticket number in case of exchanges.
    OffsetBasedPaginationResponseParams:
      type: object
      title: PaginationResponseParams
      description: Pagination parameters for response.
      required:
      - totalNumResults
      properties:
        totalNumResults:
          type: integer
          format: int32
          description: Total number of results.
    UnusedCreditDescriptorWrapper:
      type: object
      title: UnusedCreditDescriptorWrapper
      description: Wrapper for UnusedCreditDescriptor.
      properties:
        unusedCreditDescriptor:
          $ref: '#/components/schemas/UnusedCreditDescriptor'
    EntityMetadata:
      title: EntityMetadata
      description: Metadata for associated entity of document.
      type: object
      oneOf:
      - $ref: '#/components/schemas/PnrMetadataWrapper'
      - $ref: '#/components/schemas/EventMetadataWrapper'
    ConfermaMetadataWrapper:
      type: object
      title: ConfermaMetadataWrapper
      description: Wrapper for ConfermaMetadata
      required:
      - confermaMetadata
      properties:
        confermaMetadata:
          $ref: '#/components/schemas/ConfermaMetadata'
    DirectBillingWrapper:
      type: object
      title: DirectBillingWrapper
      description: Wrapper for DirectBilling
      properties:
        directBilling:
          $ref: '#/components/schemas/DirectBilling'
    CostCenterOverride:
      title: CostCenterOverride
      type: object
      description: Cost center override for the event
      required:
      - behavior
      properties:
        behavior:
          $ref: '#/components/schemas/OverrideBehavior'
        costCenterRef:
          $ref: '#/components/schemas/Reference'
    EventTemplateStatusFilterWrapper:
      type: object
      title: EventTemplateStatusFilterWrapper
      description: Wrapper for EventTemplateStatusFilter
      properties:
        eventTemplateStatusFilter:
          $ref: '#/components/schemas/EventTemplateStatusFilter'
    CustomFieldSelectedOption:
      type: object
      title: CustomFieldSelectedOption
      description: Selected response for the custom field.
      required:
      - name
      properties:
        name:
          type: string
          description: Value of the selection
        translatedName:
          type: string
          description: Translated value of the selection
        description:
          type: string
          description: Description of the selection
        translatedDescription:
          type: string
          description: Translated description of the selection
        additionalUserInput:
          type: string
          description: Additional user input
        additionalInfos:
          type: array
          description: Actual values of the additional infos
          items:
            type: string
        additionalInfoConfigs:
          type: array
          description: Additional info configs for the selected option
          items:
            $ref: '#/components/schemas/AdditionalInfo'
    CarItinerary:
      type: object
      title: CarItinerary
      properties:
        carItineraryId:
          $ref: '#/components/schemas/CarItineraryId'
    PaymentSourceMapping:
      type: object
      title: PaymentSourceMapping
      properties:
        accessType:
          description: Access Type of the Payment Source
          $ref: '#/components/schemas/AccessType'
        accessTypeEntityId:
          type: string
          description: Entity ID corresponding to the Access Type being created
        filter:
          description: Applicable access information for this payment_source
          $ref: '#/components/schemas/PaymentSourceFilterMetadata'
        travelType:
          type: array
          description: Applicable payment source travel type.
          deprec

# --- truncated at 32 KB (148 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/spotnana/refs/heads/main/openapi/spotnana-event-templates-api-openapi.yml