
class GetPoNotificationBodyList {
  List<POHeader>? pOHeader;
  List<POLines>? pOLines;
  String? pINFORMATION;
  String? pQUESTION;

  GetPoNotificationBodyList(
      {this.pOHeader, this.pOLines, this.pINFORMATION, this.pQUESTION});

  GetPoNotificationBodyList.fromJson(Map<String, dynamic> json) {
    if (json['POHeader'] != null) {
      pOHeader = <POHeader>[];
      json['POHeader'].forEach((v) {
        pOHeader!.add(new POHeader.fromJson(v));
      });
    }
    if (json['POLines'] != null) {
      pOLines = <POLines>[];
      json['POLines'].forEach((v) {
        pOLines!.add(new POLines.fromJson(v));
      });
    }
    pINFORMATION = json['P_INFORMATION'];
    pQUESTION = json['P_QUESTION'];
  }

  Map<String, dynamic> toJson() {
    Map<String, dynamic> data = new Map<String, dynamic>();
    if (this.pOHeader != null) {
      data['POHeader'] = this.pOHeader!.map((v) => v.toJson()).toList();
    }
    if (this.pOLines != null) {
      data['POLines'] = this.pOLines!.map((v) => v.toJson()).toList();
    }
    data['P_INFORMATION'] = this.pINFORMATION;
    data['P_QUESTION'] = this.pQUESTION;
    return data;
  }
}

class POHeader {
  String? bUYER;
  String? cOMMENTS;
  String? cREATIONDATE;
  String? cURRENCYNAME;
  num? cUSTOMDUTY;
  num? dISCOUNTAMOUNT;
  num? gROSSAMOUNT;
  String? lOCCUR;
  num? lOCCURTOTPOAMT;
  num? oTHERCHARGES;
  String? pAYMENTTERMS;
  String? pONUMBER;
  String? pREPARER;
  String? qUOTATIONDATE;
  String? qUOTATIONNUMBER;
  num? sALESTAX;
  num? sHIPHANDLE;
  String? sHIPTOLOCATIONNAME;
  num? tOTALPODISCOUNT;
  num? tOTPOAMT;
  String? tOTPOAMTWORD;
  String? vENDORNAME;
  String? vENDORSITECODE;

  POHeader(
      {this.bUYER,
        this.cOMMENTS,
        this.cREATIONDATE,
        this.cURRENCYNAME,
        this.cUSTOMDUTY,
        this.dISCOUNTAMOUNT,
        this.gROSSAMOUNT,
        this.lOCCUR,
        this.lOCCURTOTPOAMT,
        this.oTHERCHARGES,
        this.pAYMENTTERMS,
        this.pONUMBER,
        this.pREPARER,
        this.qUOTATIONDATE,
        this.qUOTATIONNUMBER,
        this.sALESTAX,
        this.sHIPHANDLE,
        this.sHIPTOLOCATIONNAME,
        this.tOTALPODISCOUNT,
        this.tOTPOAMT,
        this.tOTPOAMTWORD,
        this.vENDORNAME,
        this.vENDORSITECODE});

  POHeader.fromJson(Map<String, dynamic> json) {
    bUYER = json['BUYER'];
    cOMMENTS = json['COMMENTS'];
    cREATIONDATE = json['CREATION_DATE'];
    cURRENCYNAME = json['CURRENCY_NAME'];
    cUSTOMDUTY = json['CUSTOM_DUTY'];
    dISCOUNTAMOUNT = json['DISCOUNT_AMOUNT'];
    gROSSAMOUNT = json['GROSS_AMOUNT'];
    lOCCUR = json['LOC_CUR'];
    lOCCURTOTPOAMT = json['LOC_CUR_TOT_PO_AMT'];
    oTHERCHARGES = json['OTHER_CHARGES'];
    pAYMENTTERMS = json['PAYMENT_TERMS'];
    pONUMBER = json['PO_NUMBER'];
    pREPARER = json['PREPARER'];
    qUOTATIONDATE = json['QUOTATION_DATE'];
    qUOTATIONNUMBER = json['QUOTATION_NUMBER'];
    sALESTAX = json['SALES_TAX'];
    sHIPHANDLE = json['SHIP_HANDLE'];
    sHIPTOLOCATIONNAME = json['SHIP_TO_LOCATION_NAME'];
    tOTALPODISCOUNT = json['TOTAL_PO_DISCOUNT'];
    tOTPOAMT = json['TOT_PO_AMT'];
    tOTPOAMTWORD = json['TOT_PO_AMT_WORD'];
    vENDORNAME = json['VENDOR_NAME'];
    vENDORSITECODE = json['VENDOR_SITE_CODE'];
  }

  Map<String, dynamic> toJson() {
    Map<String, dynamic> data = new Map<String, dynamic>();
    data['BUYER'] = this.bUYER;
    data['COMMENTS'] = this.cOMMENTS;
    data['CREATION_DATE'] = this.cREATIONDATE;
    data['CURRENCY_NAME'] = this.cURRENCYNAME;
    data['CUSTOM_DUTY'] = this.cUSTOMDUTY;
    data['DISCOUNT_AMOUNT'] = this.dISCOUNTAMOUNT;
    data['GROSS_AMOUNT'] = this.gROSSAMOUNT;
    data['LOC_CUR'] = this.lOCCUR;
    data['LOC_CUR_TOT_PO_AMT'] = this.lOCCURTOTPOAMT;
    data['OTHER_CHARGES'] = this.oTHERCHARGES;
    data['PAYMENT_TERMS'] = this.pAYMENTTERMS;
    data['PO_NUMBER'] = this.pONUMBER;
    data['PREPARER'] = this.pREPARER;
    data['QUOTATION_DATE'] = this.qUOTATIONDATE;
    data['QUOTATION_NUMBER'] = this.qUOTATIONNUMBER;
    data['SALES_TAX'] = this.sALESTAX;
    data['SHIP_HANDLE'] = this.sHIPHANDLE;
    data['SHIP_TO_LOCATION_NAME'] = this.sHIPTOLOCATIONNAME;
    data['TOTAL_PO_DISCOUNT'] = this.tOTALPODISCOUNT;
    data['TOT_PO_AMT'] = this.tOTPOAMT;
    data['TOT_PO_AMT_WORD'] = this.tOTPOAMTWORD;
    data['VENDOR_NAME'] = this.vENDORNAME;
    data['VENDOR_SITE_CODE'] = this.vENDORSITECODE;
    return data;
  }
}

class POLines {
  String? dELIVERTOLOCATION;
  int? fROMROWNUM;
  String? iTEMCODE;
  String? iTEMDESCRIPTION;
  int? iTEMID;
  num? lINEAMOUNT;
  num? lINEDISCPERCENTAGE;
  int? lINENUM;
  String? lINETYPE;
  String? mFG;
  String? nEEDBYDATE;
  int? nOOFROWS;
  int? pOHEADERID;
  String? pROMISEDDATE;
  String? pRNUM;
  num? qUANTITY;
  String? rEQUESTOR;
  int? rOWNUM;
  int? tOROWNUM;
  num? uNITPRICE;
  String? uOM;

  POLines(
      {this.dELIVERTOLOCATION,
        this.fROMROWNUM,
        this.iTEMCODE,
        this.iTEMDESCRIPTION,
        this.iTEMID,
        this.lINEAMOUNT,
        this.lINEDISCPERCENTAGE,
        this.lINENUM,
        this.lINETYPE,
        this.mFG,
        this.nEEDBYDATE,
        this.nOOFROWS,
        this.pOHEADERID,
        this.pROMISEDDATE,
        this.pRNUM,
        this.qUANTITY,
        this.rEQUESTOR,
        this.rOWNUM,
        this.tOROWNUM,
        this.uNITPRICE,
        this.uOM});

  POLines.fromJson(Map<String, dynamic> json) {
    dELIVERTOLOCATION = json['DELIVER_TO_LOCATION'];
    fROMROWNUM = json['FROM_ROW_NUM'];
    iTEMCODE = json['ITEM_CODE'];
    iTEMDESCRIPTION = json['ITEM_DESCRIPTION'];
    iTEMID = json['ITEM_ID'];
    lINEAMOUNT = json['LINE_AMOUNT'];
    lINEDISCPERCENTAGE = json['LINE_DISC_PERCENTAGE'];
    lINENUM = json['LINE_NUM'];
    lINETYPE = json['LINE_TYPE'];
    mFG = json['MFG'];
    nEEDBYDATE = json['NEED_BY_DATE'];
    nOOFROWS = json['NO_OF_ROWS'];
    pOHEADERID = json['PO_HEADER_ID'];
    pROMISEDDATE = json['PROMISED_DATE'];
    pRNUM = json['PR_NUM'];
    qUANTITY = json['QUANTITY'];
    rEQUESTOR = json['REQUESTOR'];
    rOWNUM = json['ROW_NUM'];
    tOROWNUM = json['TO_ROW_NUM'];
    uNITPRICE = json['UNIT_PRICE'];
    uOM = json['UOM'];
  }

  Map<String, dynamic> toJson() {
    Map<String, dynamic> data = new Map<String, dynamic>();
    data['DELIVER_TO_LOCATION'] = this.dELIVERTOLOCATION;
    data['FROM_ROW_NUM'] = this.fROMROWNUM;
    data['ITEM_CODE'] = this.iTEMCODE;
    data['ITEM_DESCRIPTION'] = this.iTEMDESCRIPTION;
    data['ITEM_ID'] = this.iTEMID;
    data['LINE_AMOUNT'] = this.lINEAMOUNT;
    data['LINE_DISC_PERCENTAGE'] = this.lINEDISCPERCENTAGE;
    data['LINE_NUM'] = this.lINENUM;
    data['LINE_TYPE'] = this.lINETYPE;
    data['MFG'] = this.mFG;
    data['NEED_BY_DATE'] = this.nEEDBYDATE;
    data['NO_OF_ROWS'] = this.nOOFROWS;
    data['PO_HEADER_ID'] = this.pOHEADERID;
    data['PROMISED_DATE'] = this.pROMISEDDATE;
    data['PR_NUM'] = this.pRNUM;
    data['QUANTITY'] = this.qUANTITY;
    data['REQUESTOR'] = this.rEQUESTOR;
    data['ROW_NUM'] = this.rOWNUM;
    data['TO_ROW_NUM'] = this.tOROWNUM;
    data['UNIT_PRICE'] = this.uNITPRICE;
    data['UOM'] = this.uOM;
    return data;
  }
}