     }
 }
 
-
+/// Evolution Detail
 public class PKMEvolutionDetail: Mappable {
+    
+    /// The item required to cause evolution this into Pokémon species
     public var item: PKMNamedAPIResource?
+    
+    /// The type of event that triggers evolution into this Pokémon species
     public var trigger: PKMNamedAPIResource?
+    
+    /// The gender the evolving Pokémon species must be in order to evolve into this Pokémon species
     public var gender: PKMNamedAPIResource?
+    
+    /// The item the evolving Pokémon species must be holding during the evolution
     public var heldItem: PKMNamedAPIResource?
+    
+    /// The move that must be known by the evolving Pokémon species during the evolution trigger event in order to evolve into this Pokémon species
     public var knownMove: PKMNamedAPIResource?
+    
+    /// The evolving Pokémon species must know a move with this type during the evolution trigger event in order to evolve into this Pokémon species
     public var knownMoveType: PKMNamedAPIResource?
+    
+    /// The location the evolution must be triggered at.
     public var location: PKMNamedAPIResource?
+    
+    /// The minimum required level of the evolving Pokémon species to evolve into this Pokémon species
     public var minLevel: Int?
+    
+    /// The minimum required level of happiness the evolving Pokémon species to evolve into this Pokémon species
     public var minHappiness: Int?
+    
+    /// The minimum required level of beauty the evolving Pokémon species to evolve into this Pokémon species
     public var minBeauty: Int?
+    
+    /// The minimum required level of affection the evolving Pokémon species to evolve into this Pokémon species
     public var minAffection: Int?
+    
+    /// Whether or not it must be raining in the overworld to cause evolution this Pokémon species
     public var needsOverworldRain: Bool?
+    
+    /// The pokemon species that must be in the players party in order for the evolving Pokémon species to evolve into this Pokémon species
     public var partySpecies: PKMNamedAPIResource?
+    
+    /// The player must have a pokemon of this type in their party during the evolution trigger event in order for the evolving Pokémon species to evolve into this Pokémon species
     public var partyType: PKMNamedAPIResource?
+    
+    /// The required relation between the Pokémon's Attack and Defense stats. 1 means Attack > Defense. 0 means Attack = Defense. -1 means Attack < Defense.
     public var relativePhysicalStats: Int?
+    
+    /// The required time of day. Day or night.
     public var timeOfDay: String?
+    
+    /// Pokémon species for which this one must be traded.
     public var tradeSpecies: PKMNamedAPIResource?
+    
+    /// Whether or not the 3DS needs to be turned upside-down as this Pokémon levels up.
     public var turnUpsideDown: Bool?
     
     required public init?(_ map: Map) {

    }
}

/*
entry_number	The index of this pokemon species entry within the Pokédex	integer
pokemon_species	The Pokémon species being encountered	NamedAPIResource (PokemonSpecies)
*/
public class PKMEntry: Mappable {
    public var entryNumber: Int?
    public var pokemonSpecies: PKMNamedAPIResource?
    
    required public init?(_ map: Map) {

    }
}

/// Methods by which the player might can encounter Pokémon in the wild, e.g., walking in tall grass. Check out Bulbapedia for greater detail.
public class PKMEncounterMethod: Mappable {
    
    /// The identifier for this encounter method resource
    public var id: Int?
    
    /// The name for this encounter method resource
    public var name: String?
    
    /// A good value for sorting
    public var order: Int?
    
    /// The name of this encounter method listed in different languages
    public var names: [PKMName]?
    
    required public init?(_ map: Map) {
