class CreateOrder {
  Orders? orders;
  Pickup? pickup;
  Drop? drop;

  CreateOrder({this.orders, this.pickup, this.drop});

  CreateOrder.fromJson(Map<String, dynamic> json) {
    orders =
    json['orders'] != null ? new Orders.fromJson(json['orders']) : null;
    pickup =
    json['pickup'] != null ? new Pickup.fromJson(json['pickup']) : null;
    drop = json['drop'] != null ? new Drop.fromJson(json['drop']) : null;
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    if (this.orders != null) {
      data['orders'] = this.orders!.toJson();
    }
    if (this.pickup != null) {
      data['pickup'] = this.pickup!.toJson();
    }
    if (this.drop != null) {
      data['drop'] = this.drop!.toJson();
    }
    return data;
  }
}

class Orders {
  int? orderheaderid;
  int? tenantid;
  int? applocationid;
  int? locationid;
  int? moduleid;
  int? categoryid;
  int? subcategoryid;
  int? configid;
  String? orderid;
  String? orderdate;
  String? deliverytime;
  String? deliverytype;
  String? orderstatus;
  String? pending;
  String? processing;
  String? ready;
  String? delivered;
  String? cancellled;
  int? customerid;
  String? pickupcustomer;
  String? pickupcontactno;
  String? pickuplandmark;
  String? pickuplocation;
  String? pickupcity;
  int? pickuplocationid;
  String? pickupaddress;
  String? pickuplat;
  String? pickuplong;
  int? deliveryid;
  String? deliverycustomer;
  String? deliverycontactno;
  int? deliverylocationid;
  String? deliverylat;
  String? deliverylong;
  String? deliveryaddress;
  String? deliverylandmark;
  String? deliverylocation;
  String? deliverycity;
  double? orderamount;
  double? taxamount;
  double? ordercharges;
  double? ordervalue;
  int? itemcount;
  int? paymenttype;
  int? paymentstatus;
  double? deliverycharge;
  String? ordernotes;
  String? kms;
  int? smsdelivery;
  String? remarks;
  int? tenantuserid;
  int? partneruserid;
  int? partnerid;

  Orders(
      {this.orderheaderid,
        this.tenantid,
        this.applocationid,
        this.locationid,
        this.moduleid,
        this.categoryid,
        this.subcategoryid,
        this.configid,
        this.orderid,
        this.orderdate,
        this.deliverytime,
        this.deliverytype,
        this.orderstatus,
        this.pending,
        this.processing,
        this.ready,
        this.delivered,
        this.cancellled,
        this.customerid,
        this.pickupcustomer,
        this.pickupcontactno,
        this.pickuplandmark,
        this.pickuplocation,
        this.pickupcity,
        this.pickuplocationid,
        this.pickupaddress,
        this.pickuplat,
        this.pickuplong,
        this.deliveryid,
        this.deliverycustomer,
        this.deliverycontactno,
        this.deliverylocationid,
        this.deliverylat,
        this.deliverylong,
        this.deliveryaddress,
        this.deliverylandmark,
        this.deliverylocation,
        this.deliverycity,
        this.orderamount,
        this.taxamount,
        this.ordercharges,
        this.ordervalue,
        this.itemcount,
        this.paymenttype,
        this.paymentstatus,
        this.deliverycharge,
        this.ordernotes,
        this.kms,
        this.smsdelivery,
        this.remarks,
        this.tenantuserid,
        this.partneruserid,
        this.partnerid});

  Orders.fromJson(Map<String, dynamic> json) {
    orderheaderid = json['orderheaderid'];
    tenantid = json['tenantid'];
    applocationid = json['applocationid'];
    locationid = json['locationid'];
    moduleid = json['moduleid'];
    categoryid = json['categoryid'];
    subcategoryid = json['subcategoryid'];
    configid = json['configid'];
    orderid = json['orderid'];
    orderdate = json['orderdate'];
    deliverytime = json['deliverytime'];
    deliverytype = json['deliverytype'];
    orderstatus = json['orderstatus'];
    pending = json['pending'];
    processing = json['processing'];
    ready = json['ready'];
    delivered = json['delivered'];
    cancellled = json['cancellled'];
    customerid = json['customerid'];
    pickupcustomer = json['pickupcustomer'];
    pickupcontactno = json['pickupcontactno'];
    pickuplandmark = json['pickuplandmark'];
    pickuplocation = json['pickuplocation'];
    pickupcity = json['pickupcity'];
    pickuplocationid = json['pickuplocationid'];
    pickupaddress = json['pickupaddress'];
    pickuplat = json['pickuplat'];
    pickuplong = json['pickuplong'];
    deliveryid = json['deliveryid'];
    deliverycustomer = json['deliverycustomer'];
    deliverycontactno = json['deliverycontactno'];
    deliverylocationid = json['deliverylocationid'];
    deliverylat = json['deliverylat'];
    deliverylong = json['deliverylong'];
    deliveryaddress = json['deliveryaddress'];
    deliverylandmark = json['deliverylandmark'];
    deliverylocation = json['deliverylocation'];
    deliverycity = json['deliverycity'];
    orderamount = json['orderamount'].toDouble();
    taxamount = json['taxamount'].toDouble();
    ordercharges = json['ordercharges'].toDouble();
    ordervalue = json['ordervalue'].toDouble();
    itemcount = json['itemcount'];
    paymenttype = json['paymenttype'];
    paymentstatus = json['paymentstatus'];
    deliverycharge = json['deliverycharge'].toDouble();
    ordernotes = json['ordernotes'];
    kms = json['kms'];
    smsdelivery = json['smsdelivery'];
    remarks = json['remarks'];
    tenantuserid = json['tenantuserid'];
    partneruserid = json['partneruserid'];
    partnerid = json['partnerid'];
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['orderheaderid'] = this.orderheaderid;
    data['tenantid'] = this.tenantid;
    data['applocationid'] = this.applocationid;
    data['locationid'] = this.locationid;
    data['moduleid'] = this.moduleid;
    data['categoryid'] = this.categoryid;
    data['subcategoryid'] = this.subcategoryid;
    data['configid'] = this.configid;
    data['orderid'] = this.orderid;
    data['orderdate'] = this.orderdate;
    data['deliverytime'] = this.deliverytime;
    data['deliverytype'] = this.deliverytype;
    data['orderstatus'] = this.orderstatus;
    data['pending'] = this.pending;
    data['processing'] = this.processing;
    data['ready'] = this.ready;
    data['delivered'] = this.delivered;
    data['cancellled'] = this.cancellled;
    data['customerid'] = this.customerid;
    data['pickupcustomer'] = this.pickupcustomer;
    data['pickupcontactno'] = this.pickupcontactno;
    data['pickuplandmark'] = this.pickuplandmark;
    data['pickuplocation'] = this.pickuplocation;
    data['pickupcity'] = this.pickupcity;
    data['pickuplocationid'] = this.pickuplocationid;
    data['pickupaddress'] = this.pickupaddress;
    data['pickuplat'] = this.pickuplat;
    data['pickuplong'] = this.pickuplong;
    data['deliveryid'] = this.deliveryid;
    data['deliverycustomer'] = this.deliverycustomer;
    data['deliverycontactno'] = this.deliverycontactno;
    data['deliverylocationid'] = this.deliverylocationid;
    data['deliverylat'] = this.deliverylat;
    data['deliverylong'] = this.deliverylong;
    data['deliveryaddress'] = this.deliveryaddress;
    data['deliverylandmark'] = this.deliverylandmark;
    data['deliverylocation'] = this.deliverylocation;
    data['deliverycity'] = this.deliverycity;
    data['orderamount'] = this.orderamount;
    data['taxamount'] = this.taxamount;
    data['ordercharges'] = this.ordercharges;
    data['ordervalue'] = this.ordervalue;
    data['itemcount'] = this.itemcount;
    data['paymenttype'] = this.paymenttype;
    data['paymentstatus'] = this.paymentstatus;
    data['deliverycharge'] = this.deliverycharge;
    data['ordernotes'] = this.ordernotes;
    data['kms'] = this.kms;
    data['smsdelivery'] = this.smsdelivery;
    data['remarks'] = this.remarks;
    data['tenantuserid'] = this.tenantuserid;
    data['partneruserid'] = this.partneruserid;
    data['partnerid'] = this.partnerid;
    return data;
  }
}

class Pickup {
  int? customerid;
  int? configid;
  int? locationid;
  String? firstname;
  int? applocationid;
  String? profileimage;
  String? dialcode;
  String? contactno;
  String? devicetype;
  String? deviceid;
  String? customertoken;
  String? address;
  String? suburb;
  String? city;
  String? state;
  String? postcode;
  String? landmark;
  String? doorno;
  String? latitude;
  String? longitude;
  int? tenantid;
  String? email;
  int? primaryaddress;

  Pickup(
      {this.customerid,
        this.configid,
        this.locationid,
        this.firstname,
        this.applocationid,
        this.profileimage,
        this.dialcode,
        this.contactno,
        this.devicetype,
        this.deviceid,
        this.customertoken,
        this.address,
        this.suburb,
        this.city,
        this.state,
        this.postcode,
        this.landmark,
        this.doorno,
        this.latitude,
        this.longitude,
        this.tenantid,
        this.email,
        this.primaryaddress});

  Pickup.fromJson(Map<String, dynamic> json) {
    customerid = json['customerid'];
    configid = json['configid'];
    locationid = json['locationid'];
    firstname = json['firstname'];
    applocationid = json['applocationid'];
    profileimage = json['profileimage'];
    dialcode = json['dialcode'];
    contactno = json['contactno'];
    devicetype = json['devicetype'];
    deviceid = json['deviceid'];
    customertoken = json['customertoken'];
    address = json['address'];
    suburb = json['suburb'];
    city = json['city'];
    state = json['state'];
    postcode = json['postcode'];
    landmark = json['landmark'];
    doorno = json['doorno'];
    latitude = json['latitude'];
    longitude = json['longitude'];
    tenantid = json['tenantid'];
    email = json['email'];
    primaryaddress = json['primaryaddress'];
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['customerid'] = this.customerid;
    data['configid'] = this.configid;
    data['locationid'] = this.locationid;
    data['firstname'] = this.firstname;
    data['applocationid'] = this.applocationid;
    data['profileimage'] = this.profileimage;
    data['dialcode'] = this.dialcode;
    data['contactno'] = this.contactno;
    data['devicetype'] = this.devicetype;
    data['deviceid'] = this.deviceid;
    data['customertoken'] = this.customertoken;
    data['address'] = this.address;
    data['suburb'] = this.suburb;
    data['city'] = this.city;
    data['state'] = this.state;
    data['postcode'] = this.postcode;
    data['landmark'] = this.landmark;
    data['doorno'] = this.doorno;
    data['latitude'] = this.latitude;
    data['longitude'] = this.longitude;
    data['tenantid'] = this.tenantid;
    data['email'] = this.email;
    data['primaryaddress'] = this.primaryaddress;
    return data;
  }
}

class Drop {
  int? customerid;
  int? configid;
  int? locationid;
  String? firstname;
  int? applocationid;
  String? profileimage;
  String? dialcode;
  String? contactno;
  String? devicetype;
  String? deviceid;
  String? customertoken;
  String? address;
  String? suburb;
  String? city;
  String? state;
  String? postcode;
  String? landmark;
  String? doorno;
  String? latitude;
  String? longitude;
  int? tenantid;
  String? email;
  int? primaryaddress;

  Drop(
      {this.customerid,
        this.configid,
        this.locationid,
        this.firstname,
        this.applocationid,
        this.profileimage,
        this.dialcode,
        this.contactno,
        this.devicetype,
        this.deviceid,
        this.customertoken,
        this.address,
        this.suburb,
        this.city,
        this.state,
        this.postcode,
        this.landmark,
        this.doorno,
        this.latitude,
        this.longitude,
        this.tenantid,
        this.email,
        this.primaryaddress});

  Drop.fromJson(Map<String, dynamic> json) {
    customerid = json['customerid'];
    configid = json['configid'];
    locationid = json['locationid'];
    firstname = json['firstname'];
    applocationid = json['applocationid'];
    profileimage = json['profileimage'];
    dialcode = json['dialcode'];
    contactno = json['contactno'];
    devicetype = json['devicetype'];
    deviceid = json['deviceid'];
    customertoken = json['customertoken'];
    address = json['address'];
    suburb = json['suburb'];
    city = json['city'];
    state = json['state'];
    postcode = json['postcode'];
    landmark = json['landmark'];
    doorno = json['doorno'];
    latitude = json['latitude'];
    longitude = json['longitude'];
    tenantid = json['tenantid'];
    email = json['email'];
    primaryaddress = json['primaryaddress'];
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['customerid'] = this.customerid;
    data['configid'] = this.configid;
    data['locationid'] = this.locationid;
    data['firstname'] = this.firstname;
    data['applocationid'] = this.applocationid;
    data['profileimage'] = this.profileimage;
    data['dialcode'] = this.dialcode;
    data['contactno'] = this.contactno;
    data['devicetype'] = this.devicetype;
    data['deviceid'] = this.deviceid;
    data['customertoken'] = this.customertoken;
    data['address'] = this.address;
    data['suburb'] = this.suburb;
    data['city'] = this.city;
    data['state'] = this.state;
    data['postcode'] = this.postcode;
    data['landmark'] = this.landmark;
    data['doorno'] = this.doorno;
    data['latitude'] = this.latitude;
    data['longitude'] = this.longitude;
    data['tenantid'] = this.tenantid;
    data['email'] = this.email;
    data['primaryaddress'] = this.primaryaddress;
    return data;
  }
}