---
title: "Create an event template"
method: POST
path: "/v2/event-templates"
tags: ["Event Templates"]
---

# Create an event template

`POST /v2/event-templates`

This endpoint creates an event template.

## Request body

- CreateEventTemplateRequest — Create Event template request object
  - `name` string, required — Name of the event template
  - `description` string — Description of the event
  - `location` EventLocation — Location for an event
    - `address` PostalAddress — Postal Address Details
      - `addressLines` string[], required — Address lines
      - `administrativeArea` string — Code of administrative area. For example: DL for Delhi, India. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (e.g. "Barcelona" and not "Catalonia"). Many countries don't use an administrative area in postal addresses. E.g. in Switzerland this should be left unpopulated.
      - `administrativeAreaName` string — Name of administrative area. This is full name corresponding to administrativeArea. Like Delhi for DL area code. For some places, code and name maybe same as well like Tokyo.
      - `description` string — Address description
      - `isDefault` boolean — Whether this address is default address in case multiple addresses are specified.
      - `languageCode` string — BCP-47 language code of the contents of this address (if known). This is often the UI language of the input form or is expected to match one of the languages used in the address' country/region, or their transliterated equivalents. This can affect formatting in certain countries, but is not critical to the correctness of the data and will never affect any validation or other non-formatting related operations. Examples: "zh-Hant", "ja", "ja-Latn", "en".
      - `locality` string — Generally refers to the city/town portion of the address.
      - `locationCode` string — IATA 3-letter location code. See https://www.iata.org/en/services/codes.
      - `organization` string — The name of the organization at the address.
      - `postalCode` string — Postal code of the address. This is a required field when setting for a user/legal entity/company etc.
      - `continentCode` string — 2 letter continent code of the continent this address falls in.
      - `recipients` string[] — The recipient at the address.
      - `regionCode` string, required — Region code of the country/region of the address.
      - `regionName` string — Region name of the country/region of the address.
      - `revision` integer
      - `sortingCode` string — Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like "CEDEX", optionally followed by a number (e.g. "CEDEX 7"), or just a number alone, representing the "sector code" (Jamaica), "delivery area indicator" (Malawi) or "post office indicator" (e.g. Côte d'Ivoire).
      - `sublocality` string — Sublocality of the address. This can be neighborhoods, boroughs, districts.
      - `timezone` string — Time zone of the address.
      - `coordinates` Latlng — Latitude and Longitude for a Location
        - `latitude` number, double, required — Latitude of the Location
        - `longitude` number, double, required — Longitude of the Location
    - `coordinates` Latlng — Latitude and Longitude for a Location
      - `latitude` number, double, required — Latitude of the Location
      - `longitude` number, double, required — Longitude of the Location
  - `allowedBookingTypes` EventAllowedBookingType[] — Allowed booking types for the event template
  - `bookingGuidelines` EventBookingGuideline[] — A list of booking guideline for the event.
    - union — Booking details allowed for the event
      - object — Wrapper for AirBookingGuideline
        - `airBookingGuideLine` AirBookingGuideline — Air related guidelines
          - `allowedAirports` AirportInfo[] — List of allowed airports for arrival of flight-in-event and departure of flight-out-event.
            - `airportCode` string — 3-letter code of the airport.
            - `airportName` string — Full name of the airport.
            - `cityName` string — Name of the city in which the airport is located (or is nearest to).
            - `countryName` string — Name of the country in which the airport is located.
            - `countryCode` string — 2-letter IATA country code associated with the airport.
            - `zoneName` string — Name of the time zone associated with the airport.
            - `stateCode` string — 2-letter IATA code for the state in which the airport is located.
          - `allowedCityCodes` string[] — List of allowed city codes for arrival of flight-in-event and departure of flight-out-event. If both allowedAirports and allowedCityCodes are provided, allowedCityCodes takes precedence.
          - `arrivalBookingWindow` EventBookingWindow — Event booking window
            - `startDateTime` DateTimeLocal, required — Local date and time in ISO 8601 format.
              - …
            - `endDateTime` DateTimeLocal, required — Local date and time in ISO 8601 format.
              - …
          - `departureBookingWindow` EventBookingWindow — Event booking window
            - `startDateTime` DateTimeLocal, required — Local date and time in ISO 8601 format.
              - …
            - `endDateTime` DateTimeLocal, required — Local date and time in ISO 8601 format.
              - …
          - `allowedFlightGuidelines` AllowedFlightGuideline[] — List of allowed flight guidelines for the event.
            - `allowedFlightType` 'ONE_WAY' | 'ROUND_TRIP' | 'MULTICITY', required — The types of flight booking guidelines
            - `numberOfLegs` integer — The number of legs allowed for the flight booking.
        - `numGuestsAllowed` integer — Number of guests allowed to be booked for this booking
      - object — Wrapper for HotelBookingGuideline
        - `hotelBookingGuideLine` HotelBookingGuideline — Hotel related guidelines
          - `allowedHotels` HotelInfo[] — List of allowed Hotel details for the event
            - `address` PostalAddress, required — Postal Address Details
              - …
            - `chainCode` string — Chain code of the hotel.
            - `chainName` string — Chain name of the hotel.
            - `coordinates` Latlng — Latitude and Longitude for a Location
              - …
            - `email` string — Email address of the hotel.
            - `hotelId` string — Hotel id.
            - `name` string, required — Name of the hotel.
            - `phone` PhoneNumber — Properly formatted phone number.
              - …
            - `starRating` number, double — Star rating of the hotel.
            - `fax` PhoneNumber[]
              - …
            - `masterChainCode` string — Master chain code of the hotel.
            - `brandName` string — Brand name of the hotel.
            - `amenities` HotelAmenities[]
              - …
            - `additionalAmenities` string[] — List of amenities provided by the supplier.
            - `imageSets` HotelImageSet[]
              - …
            - `descriptions` HotelDescription[]
              - …
            - `thirdPartyHotelCodes` ThirdPartyHotelCode[]
              - …
          - `checkinBookingWindow` EventBookingWindow — Event booking window
            - `startDateTime` DateTimeLocal, required — Local date and time in ISO 8601 format.
              - …
            - `endDateTime` DateTimeLocal, required — Local date and time in ISO 8601 format.
              - …
          - `checkoutBookingWindow` EventBookingWindow — Event booking window
            - `startDateTime` DateTimeLocal, required — Local date and time in ISO 8601 format.
              - …
            - `endDateTime` DateTimeLocal, required — Local date and time in ISO 8601 format.
              - …
          - `paymentGuidelines` HotelBookingPaymentGuidelines — Hotel booking payment guidelines
            - `onlyVpayEnabledBooking` boolean — Whether only Vpay enabled bookings are allowed for the event.
        - `numGuestsAllowed` integer — Number of guests allowed to be booked for this booking
      - object — Wrapper for CarBookingGuideline
        - `carBookingGuideLine` CarBookingGuideline — Car related guidelines
          - `pickupBookingWindow` EventBookingWindow — Event booking window
            - `startDateTime` DateTimeLocal, required — Local date and time in ISO 8601 format.
              - …
            - `endDateTime` DateTimeLocal, required — Local date and time in ISO 8601 format.
              - …
          - `dropoffBookingWindow` EventBookingWindow — Event booking window
            - `startDateTime` DateTimeLocal, required — Local date and time in ISO 8601 format.
              - …
            - `endDateTime` DateTimeLocal, required — Local date and time in ISO 8601 format.
              - …
          - `paymentGuidelines` CarBookingPaymentGuidelines — Car booking payment guidelines
            - `allowedPaymentVendors` VendorInfo[] — List of allowed car vendors for the event
              - …
            - `onlyVendorBooking` boolean — Whether only Vendor bookings are allowed for the event.
        - `numGuestsAllowed` integer — Number of guests allowed to be booked for this booking
      - object — Wrapper for RailBookingGuideline
        - `railBookingGuideLine` RailBookingGuideline — Rail related guidelines
          - `arrivalBookingWindow` EventBookingWindow — Event booking window
            - `startDateTime` DateTimeLocal, required — Local date and time in ISO 8601 format.
              - …
            - `endDateTime` DateTimeLocal, required — Local date and time in ISO 8601 format.
              - …
          - `departureBookingWindow` EventBookingWindow — Event booking window
            - `startDateTime` DateTimeLocal, required — Local date and time in ISO 8601 format.
              - …
            - `endDateTime` DateTimeLocal, required — Local date and time in ISO 8601 format.
              - …
        - `numGuestsAllowed` integer — Number of guests allowed to be booked for this booking
  - `customFieldResponses` CustomFieldResponse[] — Preselected custom field responses for the event template.
    - `customFieldId` string, uuid, required — The unique identifier for the custom field.
    - `responseItems` CustomFieldResponseItem[] — Responses selected by the event coordinator.
      - `response` string, required — The response of the custom field. It can be a text input from the user or a custom field code if the input is from a radio button or checkbox.
      - `additionalInput` string — This contains additional input to the above response. It will only be used for checkbox with percentage and will contain the percentage value.
    - `travelerAccess` 'HIDDEN' | 'READ_ACCESS' | 'WRITE_ACCESS', required — Traveler access for a custom field
  - `customFieldV3Responses` CustomFieldPrefilledResponse[] — List of custom field responses for an event.
    - `fieldId` string, uuid, required — Custom field id
    - `fieldName` string — Name of the custom field
    - `armId` string, uuid, required — Arm id which is applicable
    - `readOnly` boolean — Indicates whether the user can change the pre-selected options.
    - `hidden` boolean — Whether this code will be hidden to the user.
    - `selectedOptions` CustomFieldSelectedOption[], required — The list of options that are selected by user or auto populated.
      - `name` string, required — Value of the selection
      - `translatedName` string — Translated value of the selection
      - `description` string — Description of the selection
      - `translatedDescription` string — Translated description of the selection
      - `additionalUserInput` string — Additional user input
      - `additionalInfos` string[] — Actual values of the additional infos
      - `additionalInfoConfigs` AdditionalInfo[] — Additional info configs for the selected option
        - union — Additional data need to be sent along with the custom field response.
          - object — Variable defining the additional value to be sent along with custom field response.
            - `type` string, required
            - `name` 'PUBLISHED_FARE' | 'LLF' | 'ADD_COLLECT_AMOUNT' | 'SELECTED_FARE' | 'SPLIT_PAYMENT_FARE', required — Name of the variable.
          - object — Expression consisting of variables and constants which needs to be sent along with custom field response.
            - `type` string, required
            - `formatExpression` string, required — The expression must be of format : `<any_text> ${expression} <any_text>`.The expression can consist of a combination of variables and mathematical operations. Variable names must be same as VariableName Enum. To define mathematical operations, the operation name should follow the format `math.<math_op>(arg1, arg2)`. Both `arg1` and `arg2` can be variables or constants. The supported math operations (math_op) include: `add, mul, div, sub, min, and max`. All keywords, such as `<math_op>, math, and var` must be written in lowercase.
            - `variables` VariableName[] — Reference names of the variables present in the expression.
  - `paymentMappings` PaymentAccessMapping[] — Mappings i.e. access level, travel type information etc.
    - `id` string, uuid, required — Unique identifier identifying this payment source
    - `accessTypeAttributes` AccessTypeAttributes — Attributes applicable to the payment source for specific Access Type.
      - `travelTypeFilter` TravelTypeFilter — Filter for selecting payment sources according to different types of travel.
        - `travelTypes` PaymentSourceTravelType[] — Applicable travel types for Payment Source.
          - `travelType` 'AIR' | 'HOTEL' | 'CAR' | 'RAIL' | 'LIMO' | 'MISC' | 'ALL', required — Travel Type
          - `isRequired` boolean — Whether this is a required payment source for this travel type.
          - `allowPostPaidBookings` boolean — Whether post paid bookings are allowed for this travel type.
          - `metadata` PaymentSourceTravelTypeMetadata
            - `travelType` string, required — Travel Type for the metadata. For cars it's CAR.
            - `vendors` CarVendorBasic[] — Vendors for which the payment source is applicable.
              - …
  - `companyId` CompanyId, required — Company ID
    - `id` string, uuid, required
  - `internalNotes` string — Internal notes of the event
  - `referenceUsers` UserId[] — Event group reference user ids
    - `id` string, uuid, required
  - `travelerTypes` Persona[], required — Allowed traveler types for the event
  - `policyId` string, uuid — Policy associated with the event.
  - `bookingStyle` 'SELF_SERVE' | 'AGENT_MANAGED', required — The booking style for the event's participants.
  - `externalId` string — External Id for the event
  - `allowTravelersPolicy` 'ALLOWED' | 'NOT_ALLOWED' — Apply travelers policy when it is less restrictive.
  - `emailPreferences` BucketEmailPreferences — Email communication preferences based on bucket types.
    - `bucketTypes` EmailBucketType[], required — List of email bucket types.
    - `isEnabled` boolean — Indicates whether emails are disabled.
    - `toEmails` string[] — List of email address to be included in emails.
    - `ccEmails` string[] — List of email address to be cc-ed in emails.
    - `bccEmails` string[] — List of email address to be bcc-ed in emails.
  - `allowTravelersToRsvp` 'ALLOWED' | 'NOT_ALLOWED' — Allow travelers to rsvp for the event
  - `tripOverrides` TripOverrides — Trip overrides for the event
    - `legalEntity` LegalEntityOverride, required — Legal entity override for the event
      - `behavior` 'OVERRIDE_ALLOWED' | 'OVERRIDE_NOT_ALLOWED' | 'OVERRIDE_MANDATORY', required — Override behavior for the trip overrides
      - `legalEntityRef` Reference — Reference of an entity
        - `id` string, uuid, required
        - `name` string
    - `costCenter` CostCenterOverride, required — Cost center override for the event
      - `behavior` 'OVERRIDE_ALLOWED' | 'OVERRIDE_NOT_ALLOWED' | 'OVERRIDE_MANDATORY', required — Override behavior for the trip overrides
      - `costCenterRef` Reference — Reference of an entity
        - `id` string, uuid, required
        - `name` string
    - `department` DepartmentOverride, required — Department override for the event
      - `behavior` 'OVERRIDE_ALLOWED' | 'OVERRIDE_NOT_ALLOWED' | 'OVERRIDE_MANDATORY', required — Override behavior for the trip overrides
      - `departmentRef` Reference — Reference of an entity
        - `id` string, uuid, required
        - `name` string
    - `userAttributes` CompanySpecifiedAttributeOverride[], required — List of company specified attribute overrides
      - `behavior` 'OVERRIDE_ALLOWED' | 'OVERRIDE_NOT_ALLOWED' | 'OVERRIDE_MANDATORY', required — Override behavior for the trip overrides
      - `attribute` CompanySpecifiedUserAttribute, required — Company specified user arbitrary attribute.
        - `fixedColumnName` string, required
        - `value` string
    - `rateCodeOverrides` RateCodeOverride[] — List of rate codes to be overridden for a trip
      - `behavior` 'OVERRIDE_ALLOWED' | 'OVERRIDE_NOT_ALLOWED' | 'OVERRIDE_MANDATORY', required — Override behavior for the trip overrides
      - `supplier` 'SABRE' | 'AMADEUS' | 'TRAVEL_FUSION' | 'FARELOGIX_NDC' | 'ATPCO_NDC' | 'TRAINLINE' | 'AVIA' | 'QBR' | 'BCD' | 'QANTAS_HOTELS' | 'SOUTHWEST' | 'EXPEDIA' | 'HOTEL_HUB' | 'NDC' | 'MARRIOTT' | 'CLEARTRIP' | 'KYTE' | 'GROUNDSPAN' | 'SABRE_NDC' | 'BOOKING_COM' | 'CARTRAWLER' | 'PREMIER_INN' | 'TRAVELODGE' | 'ENTERPRISE' | 'HYATT' | 'NATIONAL' | 'ALAMO' | 'HERTZ' | 'DOLLAR' | 'THRIFTY' | 'FIREFLY' | 'EUROSTAR' | 'AVIS' | 'BUDGET' — Supplier type like Sabre, TravelFusion etc.
      - `travelType` 'AIR' | 'HOTEL' | 'CAR' | 'RAIL' | 'LIMO' | 'MISC' | 'ALL' — Travel Type
      - `rateCodeIds` string[] — List of rate code ids
  - `tripContacts` TripContact[] — Trip contacts for the event. These are passed through to created trips.
    - `label` string, required — Label for the contact
    - `name` string, required — Name of the contact
    - `email` string — Email of the contact
    - `phoneNumber` PhoneNumber — Properly formatted phone number.
      - `countryCode` integer — two digit country code
      - `countryCodeSource` 'UNSPECIFIED' | 'FROM_NUMBER_WITH_PLUS_SIGN' | 'FROM_NUMBER_WITH_IDD' | 'FROM_NUMBER_WITHOUT_PLUS_SIGN' | 'FROM_DEFAULT_COUNTRY'
      - `extension` string — phone number extension
      - `isoCountryCode` string — ISO alpha-2 code
      - `italianLeadingZero` boolean
      - `nationalNumber` integer
      - `numberOfLeadingZeros` integer
      - `preferredDomesticCarrierCode` string
      - `rawInput` string
      - `type` 'UNKNOWN_TYPE' | 'MOBILE' | 'LANDLINE'
    - `isPrimary` boolean — Whether the contact is primary or not
    - `restrictVisibility` boolean — Whether to restrict visibility of the contact to only agents and admins
  - `inviteEmailConfig` InviteEmailConfig — Configuration for event invite/reminder emails
    - `emailExcludeCoordinatorInfo` boolean — Whether to exclude coordinator information in emails sent to travelers.

## Response `200`

OK

- EntityNonUUIDId — Identifier of a non uuid object
  - `id` string

## Other responses

- `400` — Bad request
- `401` — Unauthorized
- `403` — Forbidden

---

[API](https://skmtc.net/spotnana/apis/template-api.md) · [All operations](https://skmtc.net/spotnana/apis/template-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/spotnana/template-api/revisions/d07ab54503f7/schema)
