/*
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

type BaseballPerson struct {
	RequestingUserRole          *Role                   `json:"requestingUserRole,omitempty"`
	PrimaryPosition             *BaseballPosition       `json:"primaryPosition,omitempty"`
	Stats                       *Stats                  `json:"stats,omitempty"`
	OtherNames                  *OtherNames             `json:"otherNames,omitempty"`
	Id                          int32                   `json:"id,omitempty"`
	FirstName                   string                  `json:"firstName,omitempty"`
	UseName                     string                  `json:"useName,omitempty"`
	MiddleName                  string                  `json:"middleName,omitempty"`
	LastName                    string                  `json:"lastName,omitempty"`
	UseLastName                 string                  `json:"useLastName,omitempty"`
	NickName                    string                  `json:"nickName,omitempty"`
	NickNames                   []string                `json:"nickNames,omitempty"`
	BoxscoreName                string                  `json:"boxscoreName,omitempty"`
	PrimaryNumber               string                  `json:"primaryNumber,omitempty"`
	RosterNumber                string                  `json:"rosterNumber,omitempty"`
	DraftYear                   int32                   `json:"draftYear,omitempty"`
	Age                         int32                   `json:"age,omitempty"`
	BirthCity                   string                  `json:"birthCity,omitempty"`
	BirthStateProvince          string                  `json:"birthStateProvince,omitempty"`
	BirthCountry                string                  `json:"birthCountry,omitempty"`
	BirthDate                   string                  `json:"birthDate,omitempty"`
	DeathCity                   string                  `json:"deathCity,omitempty"`
	DeathStateProvince          string                  `json:"deathStateProvince,omitempty"`
	DeathCountry                string                  `json:"deathCountry,omitempty"`
	DeathDate                   string                  `json:"deathDate,omitempty"`
	LastPlayedDate              string                  `json:"lastPlayedDate,omitempty"`
	Pronunciation               string                  `json:"pronunciation,omitempty"`
	FullName                    string                  `json:"fullName,omitempty"`
	Height                      int32                   `json:"height,omitempty"`
	HeightFeet                  int32                   `json:"heightFeet,omitempty"`
	HeightInches                int32                   `json:"heightInches,omitempty"`
	Weight                      int32                   `json:"weight,omitempty"`
	CurrentTeam                 *BaseballTeam           `json:"currentTeam,omitempty"`
	IsRookie                    bool                    `json:"isRookie,omitempty"`
	IsActive                    bool                    `json:"isActive,omitempty"`
	Gender                      string                  `json:"gender,omitempty"`
	NameMatrilineal             string                  `json:"nameMatrilineal,omitempty"`
	IsPlayer                    bool                    `json:"isPlayer,omitempty"`
	IsVerified                  bool                    `json:"isVerified,omitempty"`
	IsAlternateCaptain          bool                    `json:"isAlternateCaptain,omitempty"`
	IsCaptain                   bool                    `json:"isCaptain,omitempty"`
	Twitter                     string                  `json:"twitter,omitempty"`
	Awards                      []Award                 `json:"awards,omitempty"`
	SocialMediaInfo             *SocialMediaInfo        `json:"socialMediaInfo,omitempty"`
	EducationInfo               *EducationInfo          `json:"educationInfo,omitempty"`
	Photos                      []Photo                 `json:"photos,omitempty"`
	Draft                       []PlayerDraftInfo       `json:"draft,omitempty"`
	AdditionalBio               *AdditionalBio          `json:"additionalBio,omitempty"`
	PhoneticName                string                  `json:"phoneticName,omitempty"`
	Nationality                 string                  `json:"nationality,omitempty"`
	BatSide                     *DynamicLookupEnum      `json:"batSide,omitempty"`
	PitchHand                   *DynamicLookupEnum      `json:"pitchHand,omitempty"`
	MlbDebutDate                string                  `json:"mlbDebutDate,omitempty"`
	BatterPitcher               string                  `json:"batterPitcher,omitempty"`
	Note                        string                  `json:"note,omitempty"`
	NameSlug                    string                  `json:"nameSlug,omitempty"`
	NameTitle                   string                  `json:"nameTitle,omitempty"`
	NamePrefix                  string                  `json:"namePrefix,omitempty"`
	NameFirstLast               string                  `json:"nameFirstLast,omitempty"`
	FirstLastName               string                  `json:"firstLastName,omitempty"`
	LastFirstName               string                  `json:"lastFirstName,omitempty"`
	LastInitName                string                  `json:"lastInitName,omitempty"`
	InitLastName                string                  `json:"initLastName,omitempty"`
	FullFMLName                 string                  `json:"fullFMLName,omitempty"`
	FullLFMName                 string                  `json:"fullLFMName,omitempty"`
	StrikeZoneTop               float64                 `json:"strikeZoneTop,omitempty"`
	StrikeZoneBottom            float64                 `json:"strikeZoneBottom,omitempty"`
	AlumniLastSeason            string                  `json:"alumniLastSeason,omitempty"`
	LanguageId                  int32                   `json:"languageId,omitempty"`
	Transactions                []Transaction           `json:"transactions,omitempty"`
	Drafts                      []BaseballDraftProspect `json:"drafts,omitempty"`
	Relatives                   []Relative              `json:"relatives,omitempty"`
	Articles                    []Article               `json:"articles,omitempty"`
	Videos                      []Video                 `json:"videos,omitempty"`
	MixedFeed                   []IFeed                 `json:"mixedFeed,omitempty"`
	XrefIds                     []XrefId                `json:"xrefIds,omitempty"`
	DepthCharts                 []DepthChart            `json:"depthCharts,omitempty"`
	NextStarts                  []BaseballScheduleItem  `json:"nextStarts,omitempty"`
	RookieSeasons               []string                `json:"rookieSeasons,omitempty"`
	Pitcher                     bool                    `json:"pitcher,omitempty"`
	Fielder                     bool                    `json:"fielder,omitempty"`
	HydratedSocial              map[string]interface{}  `json:"hydratedSocial,omitempty"`
	HydratedEducation           map[string]interface{}  `json:"hydratedEducation,omitempty"`
	HydratedStats               map[string]interface{}  `json:"hydratedStats,omitempty"`
	HydratedCurrentTeam         map[string]interface{}  `json:"hydratedCurrentTeam,omitempty"`
	HydratedTeam                map[string]interface{}  `json:"hydratedTeam,omitempty"`
	HydratedAwards              map[string]interface{}  `json:"hydratedAwards,omitempty"`
	HydratedPersonRosterEntries map[string]interface{}  `json:"hydratedPersonRosterEntries,omitempty"`
	HydratedPersonJobsEntries   map[string]interface{}  `json:"hydratedPersonJobsEntries,omitempty"`
	HydratedRelatives           map[string]interface{}  `json:"hydratedRelatives,omitempty"`
	DraftProspects              map[string]interface{}  `json:"draftProspects,omitempty"`
	HydratedDepthCharts         map[string]interface{}  `json:"hydratedDepthCharts,omitempty"`
	HydratedNextStarts          map[string]interface{}  `json:"hydratedNextStarts,omitempty"`
	HydratedPlayerPhotos        map[string]interface{}  `json:"hydratedPlayerPhotos,omitempty"`
	HydratedArticles            map[string]interface{}  `json:"hydratedArticles,omitempty"`
	HydratedVideos              map[string]interface{}  `json:"hydratedVideos,omitempty"`
	HydratedMixedFeed           map[string]interface{}  `json:"hydratedMixedFeed,omitempty"`
	UserPrivileges              []Privilege             `json:"userPrivileges,omitempty"`
}
