/*
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 ScheduleEventRestObject struct {
	Copyright         string                          `json:"copyright,omitempty"`
	Id                int32                           `json:"id,omitempty"`
	NonGameGuid       string                          `json:"nonGameGuid,omitempty"`
	Name              string                          `json:"name,omitempty"`
	Link              string                          `json:"link,omitempty"`
	EventType         *ScheduleEventTypeRestObject    `json:"eventType,omitempty"`
	EventDate         time.Time                       `json:"eventDate,omitempty"`
	EndDateTime       time.Time                       `json:"endDateTime,omitempty"`
	Images            []ImageRestObject               `json:"images,omitempty"`
	Venue             *VenueRestObject                `json:"venue,omitempty"`
	Sports            []SportRestObject               `json:"sports,omitempty"`
	Leagues           []LeagueRestObject              `json:"leagues,omitempty"`
	Divisions         []DivisionRestObject            `json:"divisions,omitempty"`
	Game              *BaseballScheduleItemRestObject `json:"game,omitempty"`
	Content           *ScheduleEventCms               `json:"content,omitempty"`
	TimeZone          *TimeZoneRestObject             `json:"timeZone,omitempty"`
	Designations      []DesignationRestObject         `json:"designations,omitempty"`
	Tickets           []BaseballTicketRestObject      `json:"tickets,omitempty"`
	Promotions        []BaseballTicketRestObject      `json:"promotions,omitempty"`
	EventStatus       *GameStatusRestObject           `json:"eventStatus,omitempty"`
	IsMultiDay        bool                            `json:"isMultiDay,omitempty"`
	IsPrimaryCalendar bool                            `json:"isPrimaryCalendar,omitempty"`
	FileCode          string                          `json:"fileCode,omitempty"`
	EventNumber       int32                           `json:"eventNumber,omitempty"`
	PublicFacing      bool                            `json:"publicFacing,omitempty"`
	Teams             []BaseballTeamRestObject        `json:"teams,omitempty"`
	TrackingVersion   *TrackingVersionRestObject      `json:"trackingVersion,omitempty"`
	CoachingVideo     []MediaSourceType               `json:"coachingVideo,omitempty"`
	RuleSettings      []RuleSettingsRestObject        `json:"ruleSettings,omitempty"`
	Broadcasts        []NonGameBroadcastRestObject    `json:"broadcasts,omitempty"`
}
