/// <summary>
 /// Initializes a new instance of the <see cref="GetCharactersCharacterIdPlanetsPlanetIdPin" /> class.
 /// </summary>
 /// <param name="latitude">latitude number (required).</param>
 /// <param name="longitude">longitude number (required).</param>
 /// <param name="pinId">pin_id integer (required).</param>
 /// <param name="typeId">type_id integer (required).</param>
 /// <param name="schematicId">schematic_id integer.</param>
 /// <param name="extractorDetails">extractorDetails.</param>
 /// <param name="factoryDetails">factoryDetails.</param>
 /// <param name="contents">contents array.</param>
 /// <param name="installTime">install_time string.</param>
 /// <param name="expiryTime">expiry_time string.</param>
 /// <param name="lastCycleStart">last_cycle_start string.</param>
 public GetCharactersCharacterIdPlanetsPlanetIdPin(float?latitude = default(float?), float?longitude = default(float?), long?pinId = default(long?), int?typeId = default(int?), int?schematicId = default(int?), GetCharactersCharacterIdPlanetsPlanetIdExtractorDetails extractorDetails = default(GetCharactersCharacterIdPlanetsPlanetIdExtractorDetails), GetCharactersCharacterIdPlanetsPlanetIdFactoryDetails factoryDetails = default(GetCharactersCharacterIdPlanetsPlanetIdFactoryDetails), List <GetCharactersCharacterIdPlanetsPlanetIdContent> contents = default(List <GetCharactersCharacterIdPlanetsPlanetIdContent>), DateTime?installTime = default(DateTime?), DateTime?expiryTime = default(DateTime?), DateTime?lastCycleStart = default(DateTime?))
 {
     // to ensure "latitude" is required (not null)
     if (latitude == null)
     {
         throw new InvalidDataException("latitude is a required property for GetCharactersCharacterIdPlanetsPlanetIdPin and cannot be null");
     }
     else
     {
         this.Latitude = latitude;
     }
     // to ensure "longitude" is required (not null)
     if (longitude == null)
     {
         throw new InvalidDataException("longitude is a required property for GetCharactersCharacterIdPlanetsPlanetIdPin and cannot be null");
     }
     else
     {
         this.Longitude = longitude;
     }
     // to ensure "pinId" is required (not null)
     if (pinId == null)
     {
         throw new InvalidDataException("pinId is a required property for GetCharactersCharacterIdPlanetsPlanetIdPin and cannot be null");
     }
     else
     {
         this.PinId = pinId;
     }
     // to ensure "typeId" is required (not null)
     if (typeId == null)
     {
         throw new InvalidDataException("typeId is a required property for GetCharactersCharacterIdPlanetsPlanetIdPin and cannot be null");
     }
     else
     {
         this.TypeId = typeId;
     }
     this.SchematicId      = schematicId;
     this.ExtractorDetails = extractorDetails;
     this.FactoryDetails   = factoryDetails;
     this.Contents         = contents;
     this.InstallTime      = installTime;
     this.ExpiryTime       = expiryTime;
     this.LastCycleStart   = lastCycleStart;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="GetCharactersCharacterIdPlanetsPlanetIdPin" /> class.
 /// </summary>
 /// <param name="Contents">contents array.</param>
 /// <param name="ExpiryTime">expiry_time string.</param>
 /// <param name="ExtractorDetails">ExtractorDetails.</param>
 /// <param name="FactoryDetails">FactoryDetails.</param>
 /// <param name="InstallTime">install_time string.</param>
 /// <param name="LastCycleStart">last_cycle_start string.</param>
 /// <param name="Latitude">latitude number (required).</param>
 /// <param name="Longitude">longitude number (required).</param>
 /// <param name="PinId">pin_id integer (required).</param>
 /// <param name="SchematicId">schematic_id integer.</param>
 /// <param name="TypeId">type_id integer (required).</param>
 public GetCharactersCharacterIdPlanetsPlanetIdPin(List <GetCharactersCharacterIdPlanetsPlanetIdContent> Contents = default(List <GetCharactersCharacterIdPlanetsPlanetIdContent>), DateTime?ExpiryTime = default(DateTime?), GetCharactersCharacterIdPlanetsPlanetIdExtractorDetails ExtractorDetails = default(GetCharactersCharacterIdPlanetsPlanetIdExtractorDetails), GetCharactersCharacterIdPlanetsPlanetIdFactoryDetails FactoryDetails = default(GetCharactersCharacterIdPlanetsPlanetIdFactoryDetails), DateTime?InstallTime = default(DateTime?), DateTime?LastCycleStart = default(DateTime?), float?Latitude = default(float?), float?Longitude = default(float?), long?PinId = default(long?), int?SchematicId = default(int?), int?TypeId = default(int?))
 {
     // to ensure "Latitude" is required (not null)
     if (Latitude == null)
     {
         throw new InvalidDataException("Latitude is a required property for GetCharactersCharacterIdPlanetsPlanetIdPin and cannot be null");
     }
     else
     {
         this.Latitude = Latitude;
     }
     // to ensure "Longitude" is required (not null)
     if (Longitude == null)
     {
         throw new InvalidDataException("Longitude is a required property for GetCharactersCharacterIdPlanetsPlanetIdPin and cannot be null");
     }
     else
     {
         this.Longitude = Longitude;
     }
     // to ensure "PinId" is required (not null)
     if (PinId == null)
     {
         throw new InvalidDataException("PinId is a required property for GetCharactersCharacterIdPlanetsPlanetIdPin and cannot be null");
     }
     else
     {
         this.PinId = PinId;
     }
     // to ensure "TypeId" is required (not null)
     if (TypeId == null)
     {
         throw new InvalidDataException("TypeId is a required property for GetCharactersCharacterIdPlanetsPlanetIdPin and cannot be null");
     }
     else
     {
         this.TypeId = TypeId;
     }
     this.Contents         = Contents;
     this.ExpiryTime       = ExpiryTime;
     this.ExtractorDetails = ExtractorDetails;
     this.FactoryDetails   = FactoryDetails;
     this.InstallTime      = InstallTime;
     this.LastCycleStart   = LastCycleStart;
     this.SchematicId      = SchematicId;
 }