openapi: 3.0.0
servers:
  - url: //www.ticketmaster.com/publish/v2
info:
  contact:
    url: http://developer.ticketmaster.com/support/contact-us/
  description: Publish API
  title: ticketmaster publish api
  version: v2
  x-apisguru-categories:
    - ecommerce
  x-origin:
    - format: openapi
      url: https://raw.githubusercontent.com/ticketmaster-api/ticketmaster-api.github.io/dev/_data/orgs/publish-api/v1/api.json
      version: "3.0"
  x-providerName: ticketmaster.com
  x-serviceName: publish
paths:
  /publish/v2/attractions:
    post:
      description: Since 1.0.0
      operationId: publishAttraction
      parameters:
        - description: Unique correlation id to be able to trace the request in our system
          in: header
          name: TMPS-Correlation-Id
          required: true
          schema:
            default: ""
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Attraction"
        description: Attraction
        required: true
      responses:
        "200":
          content:
            "*/*":
              schema:
                $ref: "#/components/schemas/IngestionResult"
          description: successful operation
      summary: Publish an attractions
  "/publish/v2/attractions/{id}":
    patch:
      description: Since 1.0.0
      operationId: patchAttraction
      parameters:
        - description: ID of the attraction the patch will be applied
          in: path
          name: id
          required: true
          schema:
            type: string
        - description: Unique correlation id to be able to trace the request in our system
          in: header
          name: TMPS-Correlation-Id
          required: true
          schema:
            default: ""
            type: string
      requestBody:
        $ref: "#/components/requestBodies/AugmentationData"
      responses:
        "200":
          content:
            "*/*":
              schema:
                $ref: "#/components/schemas/IngestionResult"
          description: successful operation
      summary: Publish a patch on an attraction
  "/publish/v2/attractions/{id}/videos":
    post:
      description: Since 1.0.0
      operationId: publishAttractionVideos
      parameters:
        - description: ID of the attraction the video is linked to
          in: path
          name: id
          required: true
          schema:
            type: string
        - description: Unique correlation id to be able to trace the request in our system
          in: header
          name: TMPS-Correlation-Id
          required: true
          schema:
            default: ""
            type: string
      requestBody:
        $ref: "#/components/requestBodies/Video"
      responses:
        "200":
          content:
            "*/*":
              schema:
                $ref: "#/components/schemas/IngestionResult"
          description: successful operation
      summary: Publish a video on an attraction
  /publish/v2/entitlements:
    post:
      description: Since 2.0.0
      operationId: publishEntitlements
      parameters:
        - description: Unique correlation id to be able to trace the request in our system
          in: header
          name: TMPS-Correlation-Id
          required: true
          schema:
            default: ""
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Entitlement"
        description: Entitlements information to add to the entity
        required: true
      responses:
        "200":
          content:
            "*/*":
              schema:
                $ref: "#/components/schemas/IngestionResult"
          description: successful operation
      summary: Publish entitlements on an entity
  /publish/v2/events:
    post:
      description: Since 1.0.0
      operationId: publishEvent
      parameters:
        - description: Unique correlation id to be able to trace the request in our system
          in: header
          name: TMPS-Correlation-Id
          required: true
          schema:
            default: ""
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Event"
        description: Event
        required: true
      responses:
        "200":
          content:
            "*/*":
              schema:
                $ref: "#/components/schemas/IngestionResult"
          description: successful operation
      summary: Publish an event
  "/publish/v2/events/{id}":
    patch:
      description: Since 1.0.0
      operationId: patchEvent
      parameters:
        - description: ID of the event the patch will be applied
          in: path
          name: id
          required: true
          schema:
            type: string
        - description: Unique correlation id to be able to trace the request in our system
          in: header
          name: TMPS-Correlation-Id
          required: true
          schema:
            default: ""
            type: string
      requestBody:
        $ref: "#/components/requestBodies/AugmentationData"
      responses:
        "200":
          content:
            "*/*":
              schema:
                $ref: "#/components/schemas/IngestionResult"
          description: successful operation
      summary: Publish a patch on an event
  "/publish/v2/events/{id}/videos":
    post:
      description: Since 1.0.0
      operationId: publishEventVideos
      parameters:
        - description: ID of the event the video is linked to
          in: path
          name: id
          required: true
          schema:
            type: string
        - description: Unique correlation id to be able to trace the request in our system
          in: header
          name: TMPS-Correlation-Id
          required: true
          schema:
            default: ""
            type: string
      requestBody:
        $ref: "#/components/requestBodies/Video"
      responses:
        "200":
          content:
            "*/*":
              schema:
                $ref: "#/components/schemas/IngestionResult"
          description: successful operation
      summary: Publish a video on an event
  /publish/v2/extensions:
    post:
      description: Since 1.0.0
      operationId: publishExtension
      parameters:
        - description: Unique correlation id to be able to trace the request in our system
          in: header
          name: TMPS-Correlation-Id
          required: true
          schema:
            default: ""
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ExtensionData"
        description: Extension information to add to the entity
        required: true
      responses:
        "200":
          content:
            "*/*":
              schema:
                $ref: "#/components/schemas/IngestionResult"
          description: successful operation
      summary: Publish extension on an entity
  /publish/v2/venues:
    post:
      description: Since 1.0.0
      operationId: publishVenue
      parameters:
        - description: Unique correlation id to be able to trace the request in our system
          in: header
          name: TMPS-Correlation-Id
          required: true
          schema:
            default: ""
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Venue"
        description: Venue
        required: true
      responses:
        "200":
          content:
            "*/*":
              schema:
                $ref: "#/components/schemas/IngestionResult"
          description: successful operation
      summary: Publish a venue
  "/publish/v2/venues/{id}":
    patch:
      description: Since 1.0.0
      operationId: patchVenue
      parameters:
        - description: ID of the venue the patch will be applied
          in: path
          name: id
          required: true
          schema:
            type: string
        - description: Unique correlation id to be able to trace the request in our system
          in: header
          name: TMPS-Correlation-Id
          required: true
          schema:
            default: ""
            type: string
      requestBody:
        $ref: "#/components/requestBodies/AugmentationData"
      responses:
        "200":
          content:
            "*/*":
              schema:
                $ref: "#/components/schemas/IngestionResult"
          description: successful operation
      summary: Publish a patch on a venue
components:
  requestBodies:
    AugmentationData:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/AugmentationData"
      description: Patch to apply
      required: true
    Video:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/Video"
      description: Video data
      required: true
  schemas:
    AccessDates:
      description: Event's Access Date
      properties:
        endApproximate:
          default: false
          description: Boolean flag to indicate whether or not the access end date is approximated
          example: yyyy-MM-ddThh-mm-ssZ
          type: boolean
          x-position: 3
        endDateTime:
          description: Event's end access time
          example: yyyy-MM-ddThh-mm-ssZ
          format: date-time
          type: string
          x-position: 2
        startApproximate:
          default: false
          description: Boolean flag to indicate whether or not the access start date is approximated
          type: boolean
          x-position: 1
        startDateTime:
          description: Event's start access time
          example: yyyy-MM-ddThh-mm-ssZ
          format: date-time
          type: string
      type: object
    Address:
      description: Address
      properties:
        line1s:
          additionalProperties:
            type: string
          description: Aaddress first line - multi-lingual fields
          example: "en-us: line1"
          type: object
          x-position: 1
        line2s:
          additionalProperties:
            type: string
          description: Address second line - multi-lingual fields
          example: en-us:line2
          type: object
          x-position: 4
        line3s:
          additionalProperties:
            type: string
          description: Address third line - multi-lingual fields
          example: en-us:line3
          type: object
          x-position: 4
      type: object
    Area:
      description: Area
      properties:
        names:
          additionalProperties:
            type: string
          description: Names of the entity - multi-lingual fields
          example: "en-us: name"
          type: object
          x-position: 11
      type: object
    Attraction:
      description: Attraction
      properties:
        active:
          default: false
          description: Indicate if the entity is active, inactive entity won't appear in Discovery API
          type: boolean
          x-position: 95
        additionalInfos:
          additionalProperties:
            type: string
          description: Additional informations of the entity - multi-lingual fields
          example: "en-us: additionalInfo"
          type: object
          x-position: 23
        classifications:
          description: Attraction's classifications
          items:
            $ref: "#/components/schemas/Classification"
          type: array
          x-position: 30
        descriptions:
          additionalProperties:
            type: string
          description: Descriptions of the entity - multi-lingual fields
          example: "en-us: description"
          type: object
          x-position: 21
        discoverable:
          default: false
          description: True if the entity is dicoverable in discovery API
          type: boolean
          x-position: 97
        images:
          description: Images of the entity
          items:
            $ref: "#/components/schemas/Image"
          type: array
          uniqueItems: true
          x-position: 29
        names:
          additionalProperties:
            type: string
          description: Names of the entity - multi-lingual fields
          example: "en-us: name"
          type: object
          x-position: 11
        references:
          additionalProperties:
            type: string
          description: References of this entity in an other system. Reference is the exact same entity
          example: "sourceName: id"
          type: object
          x-position: 71
        relationships:
          description: Relationships on the entity, like if the entity is a duplicate of another one
          items:
            $ref: "#/components/schemas/Relationship"
          type: array
          x-position: 70
        source:
          $ref: "#/components/schemas/Source"
        test:
          default: false
          description: Indicate if this is a test entity, by default test entities won't appear in discovery API
          type: boolean
          x-position: 96
        type:
          description: Type of the entity
          enum:
            - event
            - venue
            - attraction
          type: string
        url:
          description: URL of a web site detail page of the entity
          type: string
          x-position: 24
        version:
          description: Version of the entity. Version is to avoid updated an entity with an older version
          format: int64
          type: integer
          x-position: 80
      required:
        - type
      type: object
    AttractionExtensions:
      description: All Attraction's extensions
      type: object
    AugmentationData:
      description: This class defines the Augmentation Data on the Publish API
      properties:
        changes:
          description: List of changes to apply to the related entity
          items:
            $ref: "#/components/schemas/Change"
          type: array
          x-position: 5
        relatedEntityId:
          description: Id of the entity to apply the augmentation data.
          type: string
          x-position: 1
        relatedEntityType:
          description: The type of the entity to apply the augmentation data.
          enum:
            - event
            - attraction
            - venue
          type: string
        score:
          description: The confidence (%) level of the accuracy of this augmention data. 100 is the better
          format: float
          type: number
          x-position: 4
        source:
          description: The source where the augementation data came from
          type: string
          x-position: 2
        versionNumber:
          description: "Vesion of this augmentation data. This field is to avoid updating entity with old data. "
          format: int64
          type: integer
          x-position: 3
      required:
        - changes
        - relatedEntityId
        - relatedEntityType
        - source
        - versionNumber
      type: object
    Change:
      description: This class defines the Changes on the Publish API
      properties:
        from:
          description: Json path of the source entity when using the move operation.
          type: string
          x-position: 1
        op:
          description: Operation to apply on the entity.
          enum:
            - add
            - remove
            - replace
            - move
            - copy
            - test
          type: string
        path:
          description: Json path from the root of the document to the place where the change should be applied.
          type: string
          x-position: 2
        value:
          description: Data to change. MUST be a valid json object.
          type: object
          x-position: 3
      required:
        - op
        - path
      type: object
    Chronology:
      properties:
        zone:
          $ref: "#/components/schemas/DateTimeZone"
      type: object
    City:
      description: City
      properties:
        names:
          additionalProperties:
            type: string
          description: Names of the entity - multi-lingual fields
          example: "en-us: name"
          type: object
          x-position: 11
      type: object
    Classification:
      description: Classification
      properties:
        genre:
          $ref: "#/components/schemas/Level"
        primary:
          default: false
          type: boolean
        segment:
          $ref: "#/components/schemas/Segment"
        subGenre:
          $ref: "#/components/schemas/Level"
        subType:
          $ref: "#/components/schemas/Level"
        type:
          $ref: "#/components/schemas/Level"
      type: object
    Country:
      description: Country
      properties:
        countryCode:
          description: Country code (ISO 3166)
          type: string
        names:
          additionalProperties:
            type: string
          description: Names of the entity - multi-lingual fields
          example: "en-us: name"
          type: object
          x-position: 11
      type: object
    DateTimeField:
      properties:
        durationField:
          $ref: "#/components/schemas/DurationField"
        leapDurationField:
          $ref: "#/components/schemas/DurationField"
        lenient:
          default: false
          type: boolean
        maximumValue:
          format: int32
          type: integer
        minimumValue:
          format: int32
          type: integer
        name:
          type: string
        rangeDurationField:
          $ref: "#/components/schemas/DurationField"
        supported:
          default: false
          type: boolean
        type:
          $ref: "#/components/schemas/DateTimeFieldType"
      type: object
    DateTimeFieldType:
      properties:
        durationType:
          $ref: "#/components/schemas/DurationFieldType"
        name:
          type: string
        rangeDurationType:
          $ref: "#/components/schemas/DurationFieldType"
      type: object
    DateTimeZone:
      properties:
        fixed:
          default: false
          type: boolean
        id:
          type: string
      type: object
    DisplaySettingExtension:
      description: Event's display settings extension
      type: object
    Dma:
      description: DMA (Designated Market Area)
      properties:
        id:
          description: DMS's id
          format: int32
          type: integer
      type: object
    DurationField:
      properties:
        name:
          type: string
        precise:
          default: false
          type: boolean
        supported:
          default: false
          type: boolean
        type:
          $ref: "#/components/schemas/DurationFieldType"
        unitMillis:
          format: int64
          type: integer
      type: object
    DurationFieldType:
      properties:
        name:
          type: string
      type: object
    EndDates:
      description: Event's End Dates
      properties:
        approximate:
          default: false
          description: Boolean flag to indicate whether or not the end date is approximated
          type: boolean
          x-position: 2
        dateTime:
          description: The event end date time
          example: yyyy-MM-ddThh-mm-ssZ
          format: date-time
          type: string
          x-position: 1
        localTime:
          $ref: "#/components/schemas/LocalTime"
      type: object
    Entitlement:
      description: This class defines an entitlement data on the Publish API
      properties:
        data:
          description: The actual entitlements information to add to the entity
          type: object
          x-position: 6
        relatedEntityId:
          description: Id of the entity to add this extionsion to. If the relatedEntityId is Null, a relatedEntitySource MUST be provided
          type: string
          x-position: 1
        relatedEntitySource:
          $ref: "#/components/schemas/Source"
        relatedEntityType:
          description: The type of the entity to add this entitlement to
          enum:
            - event
            - venue
            - attraction
          pattern: ^event|venue|attraction$
          type: string
          x-position: 2
        source:
          description: Source of the extension, where it came from
          enum:
            - ticketmaster
          type: string
        versionNumber:
          description: Version of the entitlements. Version is to prevent to override an entitlements with an older one
          format: int64
          type: integer
          x-position: 5
      required:
        - data
        - relatedEntityType
        - source
      type: object
    EntityChanges:
      properties:
        changes:
          items:
            type: string
          type: array
          uniqueItems: true
        newlyCreated:
          default: false
          type: boolean
      type: object
    Event:
      description: Event
      properties:
        active:
          default: false
          description: Indicate if the entity is active, inactive entity won't appear in Discovery API
          type: boolean
          x-position: 95
        additionalInfos:
          additionalProperties:
            type: string
          description: Additional informations of the entity - multi-lingual fields
          example: "en-us: additionalInfo"
          type: object
          x-position: 23
        attractions:
          description: Ordered Attraction related to the event
          items:
            $ref: "#/components/schemas/Attraction"
          type: array
          x-position: 53
        classifications:
          description: Event's classifications
          items:
            $ref: "#/components/schemas/Classification"
          type: array
          x-position: 50
        dates:
          $ref: "#/components/schemas/EventDates"
        descriptions:
          additionalProperties:
            type: string
          description: Descriptions of the entity - multi-lingual fields
          example: "en-us: description"
          type: object
          x-position: 21
        discoverable:
          default: false
          description: True if the entity is dicoverable in discovery API
          type: boolean
          x-position: 97
        distance:
          format: double
          type: number
        images:
          description: Images of the entity
          items:
            $ref: "#/components/schemas/Image"
          type: array
          uniqueItems: true
          x-position: 29
        infos:
          additionalProperties:
            type: string
          description: Any information related to the event - multi-lingual fields
          example: "en-us: info"
          type: object
          x-position: 33
        location:
          $ref: "#/components/schemas/Location"
        names:
          additionalProperties:
            type: string
          description: Names of the entity - multi-lingual fields
          example: "en-us: name"
          type: object
          x-position: 11
        place:
          $ref: "#/components/schemas/Place"
        pleaseNotes:
          additionalProperties:
            type: string
          description: Any notes related to the event - multi-lingual fields
          example: "en-us: note"
          type: object
          x-position: 35
        priceRanges:
          description: Price ranges of this event
          items:
            $ref: "#/components/schemas/PriceRange"
          type: array
          uniqueItems: true
          x-position: 36
        promoter:
          $ref: "#/components/schemas/Promoter"
        publicVisibility:
          $ref: "#/components/schemas/PublicVisibility"
        references:
          additionalProperties:
            type: string
          description: References of this entity in an other system. Reference is the exact same entity
          example: "sourceName: id"
          type: object
          x-position: 71
        relationships:
          description: Relationships on the entity, like if the entity is a duplicate of another one
          items:
            $ref: "#/components/schemas/Relationship"
          type: array
          x-position: 70
        sales:
          $ref: "#/components/schemas/EventSalesDates"
        source:
          $ref: "#/components/schemas/Source"
        test:
          default: false
          description: Indicate if this is a test entity, by default test entities won't appear in discovery API
          type: boolean
          x-position: 96
        type:
          description: Type of the entity
          enum:
            - event
            - venue
            - attraction
          type: string
        units:
          type: string
        url:
          description: URL of a web site detail page of the entity
          type: string
          x-position: 24
        venue:
          $ref: "#/components/schemas/Venue"
        version:
          description: Version of the entity. Version is to avoid updated an entity with an older version
          format: int64
          type: integer
          x-position: 80
      required:
        - type
      type: object
    EventDates:
      description: Event's Dates
      properties:
        access:
          $ref: "#/components/schemas/AccessDates"
        end:
          $ref: "#/components/schemas/EndDates"
        start:
          $ref: "#/components/schemas/StartDates"
        status:
          $ref: "#/components/schemas/EventStatus"
        timezone:
          description: Event's timezone
          type: string
          x-position: 3
      type: object
    EventExtensions:
      description: All Event's extensions
      type: object
    EventSalesDates:
      description: Event's Sales Dates
      properties:
        presales:
          description: Presale information on this event
          items:
            $ref: "#/components/schemas/Presale"
          type: array
          x-position: 1
        public:
          $ref: "#/components/schemas/PublicSaleDates"
      type: object
    EventStatus:
      description: Event's Status
      properties:
        code:
          description: The event's status code
          enum:
            - onsale
            - offsale
            - canceled
            - postponed
            - rescheduled
          type: string
      type: object
    Extension:
      type: object
    ExtensionData:
      description: This class defines an extenstion data on the Publish API
      properties:
        data:
          description: The actual information to add to the entity
          type: object
          x-position: 6
        relatedEntityId:
          description: Id of the entity to add this extionsion to. If the relatedEntityId is Null, a relatedEntitySource MUST be provided
          type: string
          x-position: 3
        relatedEntitySource:
          $ref: "#/components/schemas/Source"
        relatedEntityType:
          description: The type of the entity to add this extensions to
          enum:
            - event
            - venue
            - attraction
          pattern: ^event|venue|attraction$
          type: string
          x-position: 2
        source:
          description: Source of the extension, where it came from
          type: string
        type:
          description: The type of the extension. This represent the data sent
          type: string
          x-position: 1
        versionNumber:
          description: Version of the extensions. Version is to prevent to override an extension with an older one
          format: int64
          type: integer
          x-position: 5
      required:
        - data
        - relatedEntityType
        - source
        - type
      type: object
    GeocodeExtension:
      properties:
        city:
          type: string
        country:
          type: string
        county:
          type: string
        formattedAddress:
          type: string
        geometry:
          $ref: "#/components/schemas/Geometry"
        postalCode:
          type: string
        route:
          type: string
        state:
          type: string
        streetNumber:
          type: string
      type: object
    GeolocationVenueExtensions:
      description: Venue's geocode extension
      type: object
    Geometry:
      properties:
        location:
          $ref: "#/components/schemas/Location"
      type: object
    HostExtension:
      description: Venue's Host extension
      type: object
    Image:
      description: Image
      properties:
        attribution:
          description: Attribution of the image
          type: string
          x-position: 8
        domains:
          description: Domains on which this image should be displayed
          items:
            type: string
          type: array
          uniqueItems: true
          x-position: 7
        fallback:
          default: false
          description: true if the image is not the event's image but a fallbak image
          type: boolean
          x-position: 6
        height:
          description: Height of the image
          format: int32
          type: integer
          x-position: 5
        ratio:
          description: Aspect ratio of the image
          enum:
            - 16_9
            - 3_2
            - 4_3
          type: string
          x-position: 3
        url:
          description: Public URL of the image
          type: string
          x-position: 2
        width:
          description: Width of the image
          format: int32
          type: integer
          x-position: 4
      type: object
    IngestionResult:
      description: This class defines the IngestionResult on the Publish API
      properties:
        id:
          description: Id of the entity ingested in the discovery api
          type: string
        ignoredProperties:
          additionalProperties:
            type: object
          description: List properties that are ignored in the validation
          type: object
          x-position: 5
        invalidProperties:
          additionalProperties:
            type: object
          description: List of invalid properties
          type: object
          x-position: 5
        invalidValues:
          additionalProperties:
            type: object
          description: List of invalid values
          type: object
          x-position: 5
        missingProperties:
          additionalProperties:
            type: object
          description: List of properties that should be present in your entity to ease its dicovery
          type: object
          x-position: 4
        status:
          description: Status of the result
          enum:
            - Error
            - SuccessWarning
            - Success
          type: string
          x-position: 1
        unknownProperties:
          additionalProperties:
            type: object
          description: List of unknown properties that will be dropped
          type: object
          x-position: 5
      required:
        - status
      type: object
    Level:
      properties:
        id:
          description: The ID of the classification's level
          type: string
        names:
          additionalProperties:
            type: string
          description: The Name of the classification's level - multi-lingual fields
          type: object
          x-position: 2
      type: object
    LicensingInformation:
      description: This class defines an entitlement data on the Publish API
      properties:
        license:
          description: License name
          type: string
        regionRestriction:
          $ref: "#/components/schemas/RegionRestrictions"
      required:
        - license
      type: object
    LocalTime:
      properties:
        chronology:
          $ref: "#/components/schemas/Chronology"
        fieldTypes:
          items:
            $ref: "#/components/schemas/DateTimeFieldType"
          type: array
        fields:
          items:
            $ref: "#/components/schemas/DateTimeField"
          type: array
        hourOfDay:
          format: int32
          type: integer
        millisOfDay:
          format: int32
          type: integer
        millisOfSecond:
          format: int32
          type: integer
        minuteOfHour:
          format: int32
          type: integer
        secondOfMinute:
          format: int32
          type: integer
        values:
          items:
            format: int32
            type: integer
          type: array
      type: object
    Locale:
      properties:
        country:
          type: string
        displayCountry:
          type: string
        displayLanguage:
          type: string
        displayName:
          type: string
        displayScript:
          type: string
        displayVariant:
          type: string
        extensionKeys:
          items:
            type: string
          type: array
          uniqueItems: true
        iso3Country:
          type: string
        iso3Language:
          type: string
        language:
          type: string
        script:
          type: string
        unicodeLocaleAttributes:
          items:
            type: string
          type: array
          uniqueItems: true
        unicodeLocaleKeys:
          items:
            type: string
          type: array
          uniqueItems: true
        variant:
          type: string
      type: object
    Location:
      description: Location
      properties:
        latitude:
          description: Latitude
          type: number
        longitude:
          description: Longitude
          type: number
      type: object
    Market:
      description: Market
      properties:
        id:
          description: Market's id
          type: string
      type: object
    Parking:
      description: Parking
      properties:
        names:
          additionalProperties:
            type: string
          description: Names of the entity - multi-lingual fields
          example: "en-us: name"
          type: object
          x-position: 11
        url:
          description: Url to the web page of the parking
          type: string
          x-position: 20
      type: object
    Place:
      description: Place
      properties:
        address:
          $ref: "#/components/schemas/Address"
        area:
          $ref: "#/components/schemas/Area"
        city:
          $ref: "#/components/schemas/City"
        country:
          $ref: "#/components/schemas/Country"
        location:
          $ref: "#/components/schemas/Location"
        names:
          additionalProperties:
            type: string
          description: Names of the entity - multi-lingual fields
          example: "en-us: name"
          type: object
          x-position: 11
        postalCode:
          description: Postal code / zipcode of the place
          type: string
          x-position: 5
        state:
          $ref: "#/components/schemas/State"
      type: object
    Presale:
      description: Event's Presale Info
      properties:
        descriptions:
          additionalProperties:
            type: string
          description: Description of the presale - multi-lingual fields
          example: "en-us: description"
          type: object
          x-position: 2
        endDateTime:
          description: Presale's end dates. The date and time when the presale will end
          format: date-time
          type: string
          x-position: 5
        names:
          additionalProperties:
            type: string
          description: Name of the presale - multi-lingual fields
          example: "en-us: name"
          type: object
        startDateTime:
          description: Presale's start dates. The date and time when the presale will start
          format: date-time
          type: string
          x-position: 4
        url:
          description: Presale link URL
          type: string
          x-position: 3
      type: object
    PriceRange:
      description: PriceRange
      properties:
        currency:
          description: Currency
          type: string
          x-position: 1
        max:
          description: Maximum price
          format: double
          type: number
          x-position: 3
        min:
          description: Minimum price
          format: double
          type: number
          x-position: 2
        type:
          description: Type of price
          enum:
            - standard
          type: string
      type: object
    Promoter:
      description: Promoter
      properties:
        descriptions:
          additionalProperties:
            type: string
          description: Description of the promoter - multi-lingual fields
          example: "en-us: description"
          type: object
          x-position: 4
        id:
          description: Id of the promoter
          type: string
        names:
          additionalProperties:
            type: string
          description: Name of the promoter - multi-lingual fields
          example: "en-us: name"
          type: object
          x-position: 2
      type: object
    PublicSaleDates:
      description: Event's Public Onsales Dates
      properties:
        endDateTime:
          description: Public sale's end dates. The date and time when the public sale will end
          format: date-time
          type: string
          x-position: 1
        startDateTime:
          description: Public sale's start dates. The date and time when the public sale will start
          format: date-time
          type: string
        startTBD:
          default: false
          description: True if the public sale's date is to be determined
          type: boolean
          x-position: 2
      type: object
    PublicVisibility:
      description: The class defines the public visibility period on the Discovery/Publish API.
      properties:
        endDateTime:
          description: The end of the public visibility. The date and time when the event will be public visible
          format: date-time
          type: string
          x-position: 1
        startDateTime:
          description: The start of the public visibility. The date and time when the event will be public visible
          format: date-time
          type: string
        visible:
          default: false
          description: True if you want to have the event visible in the discovery API
          type: boolean
          x-position: 2
      type: object
    RegionRestrictions:
      description: This class defines an entitlement data on the Publish API
      properties:
        allowed:
          description: Restrictions based on regions
          items:
            type: string
          type: array
      type: object
    Relationship:
      description: Relationship
      type: object
    Segment:
      description: Segment
      properties:
        id:
          description: The ID of the classification's level
          type: string
        names:
          additionalProperties:
            type: string
          description: The Name of the classification's level - multi-lingual fields
          type: object
          x-position: 2
      type: object
    Social:
      description: Social networks data
      properties:
        twitter:
          $ref: "#/components/schemas/Twitter"
      type: object
    Source:
      description: Source
      properties:
        id:
          description: ID of the entity in the source's system
          pattern: ^[a-zA-Z0-9_-]*$
          type: string
          x-position: 1
        name:
          description: Source's name
          pattern: ^[a-zA-Z0-9_-]*$
          type: string
      type: object
    StartDates:
      description: Event's Start Dates
      properties:
        dateTBA:
          default: false
          description: Boolean flag to indicate whether or not the start date is TBA
          type: boolean
          x-position: 4
        dateTBD:
          default: false
          description: Boolean flag to indicate whether or not the start date is TBD
          type: boolean
          x-position: 3
        dateTime:
          description: The event start datetime
          example: yyyy-MM-ddThh:mm:ssZ
          format: date-time
          type: string
          x-position: 2
        localDate:
          description: The event start date in local date
          example: yyyy-MM-dd
          format: date
          type: string
        localTime:
          $ref: "#/components/schemas/LocalTime"
        noSpecificTime:
          default: false
          description: Boolean flag to indicate whether or not the event has no specific time
          type: boolean
          x-position: 6
        timeTBA:
          default: false
          description: Boolean flag to indicate whether or not the start time is TBA
          type: boolean
          x-position: 5
      type: object
    State:
      description: State
      properties:
        names:
          additionalProperties:
            type: string
          description: Names of the entity - multi-lingual fields
          example: "en-us: name"
          type: object
          x-position: 11
        stateCode:
          description: State code
          type: string
      type: object
    TatExtension:
      description: The Attraction Tool (TAT) extension
      type: object
    TicketmasterAttractionExtensions:
      description: Attraction's extension (ticketmaster source)
      type: object
    TicketmasterEventExtensions:
      description: Event's extension (ticketmaster source)
      type: object
    TicketmasterVenueExtensions:
      description: Venue's extension (ticketmaster source)
      type: object
    Twitter:
      description: Twitter data
      properties:
        handle:
          description: Twitter handle
          enum:
            - "@a Twitter handle"
          example: "@a Twitter handle exampe"
          type: string
        hashtags:
          description: Twitter hashtags
          example: "#hashtag example #hashtag another example"
          items:
            type: string
          type: array
          x-position: 1
      type: object
    Venue:
      description: Venue
      properties:
        accessibleSeatingDetails:
          additionalProperties:
            type: string
          description: Venue accessible seating details - multi-lingual fields
          example: en-us:seatingDetails
          type: object
          x-position: 34
        active:
          default: false
          description: Indicate if the entity is active, inactive entity won't appear in Discovery API
          type: boolean
          x-position: 95
        additionalInfos:
          additionalProperties:
            type: string
          description: Additional informations of the entity - multi-lingual fields
          example: "en-us: additionalInfo"
          type: object
          x-position: 23
        address:
          $ref: "#/components/schemas/Address"
        boxOfficeInfo:
          $ref: "#/components/schemas/VenueBoxOfficeInfo"
        city:
          $ref: "#/components/schemas/City"
        country:
          $ref: "#/components/schemas/Country"
        currency:
          description: Default currency of ticket prices for events in this venue
          type: string
          x-position: 27
        descriptions:
          additionalProperties:
            type: string
          description: Descriptions of the entity - multi-lingual fields
          example: "en-us: description"
          type: object
          x-position: 21
        discoverable:
          default: false
          description: True if the entity is dicoverable in discovery API
          type: boolean
          x-position: 97
        distance:
          format: double
          type: number
        dma:
          description: The list of associated DMAs (Designated Market Areas) of the venue
          items:
            $ref: "#/components/schemas/Dma"
          type: array
          x-position: 29
        generalInfo:
          $ref: "#/components/schemas/VenueGeneralInfo"
        images:
          description: Images of the entity
          items:
            $ref: "#/components/schemas/Image"
          type: array
          uniqueItems: true
          x-position: 29
        location:
          $ref: "#/components/schemas/Location"
        markets:
          description: Markets of the venue
          items:
            $ref: "#/components/schemas/Market"
          type: array
          x-position: 28
        names:
          additionalProperties:
            type: string
          description: Names of the entity - multi-lingual fields
          example: "en-us: name"
          type: object
          x-position: 11
        parkingDetails:
          additionalProperties:
            type: string
          description: Venue parking info - multi-lingual fields
          example: en-us:parkingDetails
          type: object
          x-position: 32
        postalCode:
          description: Postal code / zipcode of the venue
          type: string
          x-position: 24
        references:
          additionalProperties:
            type: string
          description: References of this entity in an other system. Reference is the exact same entity
          example: "sourceName: id"
          type: object
          x-position: 71
        relationships:
          description: Relationships on the entity, like if the entity is a duplicate of another one
          items:
            $ref: "#/components/schemas/Relationship"
          type: array
          x-position: 70
        social:
          $ref: "#/components/schemas/Social"
        source:
          $ref: "#/components/schemas/Source"
        state:
          $ref: "#/components/schemas/State"
        test:
          default: false
          description: Indicate if this is a test entity, by default test entities won't appear in discovery API
          type: boolean
          x-position: 96
        timezone:
          description: Timezone of the venue
          type: string
          x-position: 26
        type:
          description: Type of the entity
          enum:
            - event
            - venue
            - attraction
          type: string
        units:
          type: string
        url:
          description: URL of a web site detail page of the entity
          type: string
          x-position: 24
        version:
          description: Version of the entity. Version is to avoid updated an entity with an older version
          format: int64
          type: integer
          x-position: 80
      required:
        - type
      type: object
    VenueBoxOfficeInfo:
      description: Venue box office information
      properties:
        acceptedPaymentDetails:
          additionalProperties:
            type: string
          description: Venue box office accepted payment details - multi-lingual fields
          example: en-us:paymentDetails
          type: object
          x-position: 4
        openHoursDetails:
          additionalProperties:
            type: string
          description: Venue box office opening hours - multi-lingual fields
          example: en-us:openHours
          type: object
          x-position: 2
        phoneNumberDetails:
          additionalProperties:
            type: string
          description: Venue box office phone number - multi-lingual fields
          example: en-us:phoneNumbers
          type: object
        willCallDetails:
          additionalProperties:
            type: string
          description: Venue box office will call details - multi-lingual fields
          example: en-us:willCall
          type: object
          x-position: 6
      type: object
    VenueExtensions:
      description: All Venue's extensions
      type: object
    VenueGeneralInfo:
      description: Venue general information
      properties:
        childRules:
          additionalProperties:
            type: string
          description: Venue children rules - multi-lingual fields
          example: "en-us: rule"
          type: object
          x-position: 2
        generalRules:
          additionalProperties:
            type: string
          description: Venue general rules - multi-lingual fields
          example: "en-us: rule"
          type: object
      type: object
    Video:
      description: This class defines an entitlement data on the Publish API
      properties:
        embedUrl:
          description: The url of the embeded video
          type: string
          x-position: 6
        licensingInformation:
          $ref: "#/components/schemas/LicensingInformation"
        source:
          $ref: "#/components/schemas/Source"
        url:
          description: The url of the video
          type: string
          x-position: 6
      required:
        - licensingInformation
        - source
        - url
      type: object
