@override Map<String, dynamic> toJson() { return { "type": type, if (rate != null) "rate": rate, }; }