class Product {
  late int productId;
  late String name;
  late String description;
  late String type;
  late String appVersion;
  late int sort;
  late int productSet;
  late DateTime validFrom;
  late DateTime? validTo;
  late String? productIdIos;
  late String? productIdAndroid;
  late double? priceIos;
  late double? priceAndroid;
  String? localizedPrice;

  Product.fromJson(Map json) {
    productId = json['productId'];
    name = json['name'];
    description = json['description'];
    type = json['type'];
    appVersion = json['appVersion'];
    sort = json['sort'];
    productSet = json['productSet'];
    validFrom = (json['validFrom'] == null ? null : DateTime.parse(json['validFrom']))!;
    validTo = json['validTo'] == null ? null : DateTime.parse(json['validTo']);
    productIdIos = json['productIdIos'];
    productIdAndroid = json['productIdAndroid'];
    priceIos = json['priceIos'];
    priceAndroid = json['priceAndroid'];
  }

  @override
  String toString() {
    Map<String, dynamic> json = {
      'productId': productId,
      'name': name,
      'description': description,
      'type': type,
      'appVersion': appVersion,
      'sort': sort,
      'productSet': productSet,
      'validFrom': validFrom,
      'validTo': validTo,
      'productIdIos': productIdIos,
      'productIdAndroid': productIdAndroid,
      'priceIos': priceIos,
      'priceAndroid': priceAndroid,
      'localizedPrice': localizedPrice
    };
    return json.toString();
  }
}