// To parse this JSON data, do
//
//     final getPageNotification = getPageNotificationFromJson(jsonString);

import 'dart:convert';

GetPageNotification getPageNotificationFromJson(String str) => GetPageNotification.fromJson(json.decode(str));

String getPageNotificationToJson(GetPageNotification data) => json.encode(data.toJson());

class GetPageNotification {
  GetPageNotification({
    this.statusCode,
    this.message,
    this.originalErrMsg,
    this.result,
  });

  final int? statusCode;
  final dynamic message;
  final dynamic originalErrMsg;
  final GetPageNotificationResult? result;

  factory GetPageNotification.fromJson(Map<String, dynamic> json) => GetPageNotification(
    statusCode: json["statusCode"] == null ? null : json["statusCode"],
    message: json["message"],
    originalErrMsg: json["originalErrMsg"],
    result: json["result"] == null ? null : GetPageNotificationResult.fromJson(json["result"]),
  );

  Map<String, dynamic> toJson() => {
    "statusCode": statusCode == null ? null : statusCode,
    "message": message,
    "originalErrMsg": originalErrMsg,
    "result": result == null ? null : result!.toJson(),
  };
}

class GetPageNotificationResult {
  GetPageNotificationResult({
    this.totalItemsCount,
    this.data,
    this.errormsg,
  });

  final dynamic totalItemsCount;
  final GetPageNotificationData? data;
  final dynamic errormsg;

  factory GetPageNotificationResult.fromJson(Map<String, dynamic> json) => GetPageNotificationResult(
    totalItemsCount: json["totalItemsCount"],
    data: json["data"] == null ? null : GetPageNotificationData.fromJson(json["data"]),
    errormsg: json["errormsg"],
  );

  Map<String, dynamic> toJson() => {
    "totalItemsCount": totalItemsCount,
    "data": data == null ? null : data!.toJson(),
    "errormsg": errormsg,
  };
}

class GetPageNotificationData {
  GetPageNotificationData({
    this.notificationMasterId,
    this.notificationType,
    this.referenceItemId,
    this.notificationTitle,
    this.enableAt,
    this.applicationItemId,
    this.startDate,
    this.endDate,
    this.isRepeat,
    this.channelId,
    this.serviceId,
    this.channelName,
    this.serviceName,
    this.isDeleted,
    this.showDelete,
    this.advertisement,
    this.survey,
    this.isActive,
    this.pageSize,
    this.pageNo,
    this.languageId,
  });

  final String? notificationMasterId;
  final String? notificationType;
  final int? referenceItemId;
  final String? notificationTitle;
  final String? enableAt;
  final dynamic applicationItemId;
  final dynamic startDate;
  final dynamic endDate;
  final bool? isRepeat;
  final int? channelId;
  final int? serviceId;
  final String? channelName;
  final String? serviceName;
  final bool? isDeleted;
  final bool? showDelete;
  final dynamic advertisement;
  final dynamic survey;
  final dynamic isActive;
  final dynamic pageSize;
  final dynamic pageNo;
  final dynamic languageId;

  factory GetPageNotificationData.fromJson(Map<String, dynamic> json) => GetPageNotificationData(
    notificationMasterId: json["notificationMasterId"] == null ? null : json["notificationMasterId"],
    notificationType: json["notificationType"] == null ? null : json["notificationType"],
    referenceItemId: json["referenceItemId"] == null ? null : json["referenceItemId"],
    notificationTitle: json["notificationTitle"] == null ? null : json["notificationTitle"],
    enableAt: json["enableAt"] == null ? null : json["enableAt"],
    applicationItemId: json["applicationItemId"],
    startDate: json["startDate"],
    endDate: json["endDate"],
    isRepeat: json["isRepeat"] == null ? null : json["isRepeat"],
    channelId: json["channelId"] == null ? null : json["channelId"],
    serviceId: json["serviceId"] == null ? null : json["serviceId"],
    channelName: json["channelName"] == null ? null : json["channelName"],
    serviceName: json["serviceName"] == null ? null : json["serviceName"],
    isDeleted: json["isDeleted"] == null ? null : json["isDeleted"],
    showDelete: json["showDelete"] == null ? null : json["showDelete"],
    advertisement: json["advertisement"],
    survey: json["survey"],
    isActive: json["isActive"],
    pageSize: json["pageSize"],
    pageNo: json["pageNo"],
    languageId: json["languageId"],
  );

  Map<String, dynamic> toJson() => {
    "notificationMasterId": notificationMasterId == null ? null : notificationMasterId,
    "notificationType": notificationType == null ? null : notificationType,
    "referenceItemId": referenceItemId == null ? null : referenceItemId,
    "notificationTitle": notificationTitle == null ? null : notificationTitle,
    "enableAt": enableAt == null ? null : enableAt,
    "applicationItemId": applicationItemId,
    "startDate": startDate,
    "endDate": endDate,
    "isRepeat": isRepeat == null ? null : isRepeat,
    "channelId": channelId == null ? null : channelId,
    "serviceId": serviceId == null ? null : serviceId,
    "channelName": channelName == null ? null : channelName,
    "serviceName": serviceName == null ? null : serviceName,
    "isDeleted": isDeleted == null ? null : isDeleted,
    "showDelete": showDelete == null ? null : showDelete,
    "advertisement": advertisement,
    "survey": survey,
    "isActive": isActive,
    "pageSize": pageSize,
    "pageNo": pageNo,
    "languageId": languageId,
  };
}
