/*
Copyright (C) 2025 filifa

This file is part of mlbstats.

mlbstats is free software: you can redistribute it and/or modify it under the
terms of the GNU General Public License as published by the Free Software
Foundation, either version 3 of the License, or (at your option) any later
version.

mlbstats is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with
mlbstats. If not, see <https://www.gnu.org/licenses/>.
*/

/*
 * Stats API Documentation
 *
 * Official API for Major League Baseball.
 *
 * API version: 2.0.0
 * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git)
 */
package models

import (
	"time"
)

type ScheduleEvent struct {
	Id                  int32                  `json:"id,omitempty"`
	Name                string                 `json:"name,omitempty"`
	Link                string                 `json:"link,omitempty"`
	EventType           *ScheduleEventTypes    `json:"eventType,omitempty"`
	EventDate           time.Time              `json:"eventDate,omitempty"`
	CalendarDate        string                 `json:"calendarDate,omitempty"`
	EndDate             string                 `json:"endDate,omitempty"`
	EndDateTime         time.Time              `json:"endDateTime,omitempty"`
	Images              []Image                `json:"images,omitempty"`
	Venue               *Venue                 `json:"venue,omitempty"`
	Sports              []Sport                `json:"sports,omitempty"`
	Leagues             []League               `json:"leagues,omitempty"`
	Divisions           []Division             `json:"divisions,omitempty"`
	OrganizationIds     []int32                `json:"organizationIds,omitempty"`
	Game                *BaseballScheduleItem  `json:"game,omitempty"`
	Content             *ScheduleEventCms      `json:"content,omitempty"`
	EventDesignations   []Designation          `json:"eventDesignations,omitempty"`
	Tickets             []BaseballTicket       `json:"tickets,omitempty"`
	PromotionTickets    []BaseballTicket       `json:"promotionTickets,omitempty"`
	TimeZone            *TimeZone              `json:"timeZone,omitempty"`
	EventStatus         *EventStatus           `json:"eventStatus,omitempty"`
	TeamId              int32                  `json:"teamId,omitempty"`
	OrganizationId      int32                  `json:"organizationId,omitempty"`
	OrganizationType    string                 `json:"organizationType,omitempty"`
	CalendarType        *CalendarTypes         `json:"calendarType,omitempty"`
	FileCode            string                 `json:"fileCode,omitempty"`
	EventNumber         int32                  `json:"eventNumber,omitempty"`
	PublicFacing        *PublicFacingEnum      `json:"publicFacing,omitempty"`
	Teams               []BaseballTeam         `json:"teams,omitempty"`
	TrackingVersion     *TrackingVersion       `json:"trackingVersion,omitempty"`
	TrackingSystemOwner *TrackingSystemOwner   `json:"trackingSystemOwner,omitempty"`
	CoachingVideo       []MediaSourceType      `json:"coachingVideo,omitempty"`
	Broadcasts          []NonGameDateBroadcast `json:"broadcasts,omitempty"`
	NonGameGuid         string                 `json:"nonGameGuid,omitempty"`
	MultiDay            bool                   `json:"multiDay,omitempty"`
	PrimaryCalendar     bool                   `json:"primaryCalendar,omitempty"`
}
