/*
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 BaseballPlayEventRestObject struct {
	Copyright         string                       `json:"copyright,omitempty"`
	Details           *Details                     `json:"details,omitempty"`
	Count             *Count                       `json:"count,omitempty"`
	PostCount         *Count                       `json:"postCount,omitempty"`
	PreCount          *Count                       `json:"preCount,omitempty"`
	PitchData         *BaseballPitchDataRestObject `json:"pitchData,omitempty"`
	HitData           *BaseballHitDataRestObject   `json:"hitData,omitempty"`
	Index             int32                        `json:"index,omitempty"`
	PfxId             string                       `json:"pfxId,omitempty"`
	PlayId            string                       `json:"playId,omitempty"`
	ActionPlayId      string                       `json:"actionPlayId,omitempty"`
	PitchNumber       int32                        `json:"pitchNumber,omitempty"`
	PickoffNumber     int32                        `json:"pickoffNumber,omitempty"`
	AtBatNumber       int32                        `json:"atBatNumber,omitempty"`
	StartTime         time.Time                    `json:"startTime,omitempty"`
	EndTime           time.Time                    `json:"endTime,omitempty"`
	IsPitch           bool                         `json:"isPitch,omitempty"`
	IsBaseRunningPlay bool                         `json:"isBaseRunningPlay,omitempty"`
	IsSubstitution    bool                         `json:"isSubstitution,omitempty"`
	Type_             string                       `json:"type,omitempty"`
	Player            *BaseballPersonRestObject    `json:"player,omitempty"`
	Umpire            *BaseballPersonRestObject    `json:"umpire,omitempty"`
	Position          *PositionRestObject          `json:"position,omitempty"`
	BattingOrder      string                       `json:"battingOrder,omitempty"`
	ReplacedPlayer    *BaseballPersonRestObject    `json:"replacedPlayer,omitempty"`
	Base              int32                        `json:"base,omitempty"`
	InjuryType        string                       `json:"injuryType,omitempty"`
	Defense           *BaseballDefenseRestObject   `json:"defense,omitempty"`
	Offense           *BaseballOffenseRestObject   `json:"offense,omitempty"`
	Credits           []PlayCreditRestObject       `json:"credits,omitempty"`
	Officials         []OfficialRestObject         `json:"officials,omitempty"`
	ReviewDetails     *ReviewDetails               `json:"reviewDetails,omitempty"`
}
