/* ĊĠĠĠ ĠCopyright Ġ 2 0 2 0 ĠSmart ĠCh arging ĠSolutions ĊĊĠĠĠ ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); ĊĠĠĠ Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . ĊĠĠĠ ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat ĊĊĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 ĊĊĠĠĠ ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware ĊĠĠĠ Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , ĊĠĠĠ ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . ĊĠĠĠ ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand ĊĠĠĠ Ġlimitations Ġunder Ġthe ĠLicense . Ċ */ Ċ Ċ package Ġs nc . smart ch arging network . node . models . sc pi Ċ Ċ import Ġcom . fasterxml . jackson . annotation . JsonInclude Ċ import Ġcom . fasterxml . jackson . annotation . JsonProperty Ċ import Ġjava . time . DayOfWeek Ċ Ċ @ JsonInclude ( JsonInclude . Include . NON _ NULL ) Ċ data Ġclass ĠTar iff (@ JsonProperty (" country _ code ") Ġval Ġcountry Code : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ JsonProperty (" party _ id ") Ġval Ġparty ID : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ JsonProperty (" id ") Ġval Ġid : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ JsonProperty (" currency ") Ġval Ġcurrency : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ JsonProperty (" type ") Ġval Ġtype : ĠTar iff Type ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ JsonProperty (" tar iff _ alt _ text ") Ġval Ġtar iff Alt Text : ĠList < Display Text >? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ JsonProperty (" tar iff _ alt _ url ") Ġval Ġtar iff Alt Url : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ JsonProperty (" min _ price ") Ġval Ġmin Price : ĠPrice ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ JsonProperty (" max _ price ") Ġval Ġmax Price : ĠPrice ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ JsonProperty (" elements ") Ġval Ġelements : ĠList < Tar iff Element >, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ JsonProperty (" start _ date _ time ") Ġval Ġstart DateTime : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ JsonProperty (" end _ date _ time ") Ġval Ġend DateTime : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ JsonProperty (" energy _ mix ") Ġval Ġenergy Mix : ĠEnergy Mix ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ JsonProperty (" last _ updated ") Ġval Ġlast Updated : ĠString ) Ċ Ċ enum Ġclass ĠTar iff Type Ġ{ ĊĠĠĠ ĠAD _ HO C _ PAYMENT , ĊĠĠĠ ĠPRO FILE _ CHE AP , ĊĠĠĠ ĠPRO FILE _ FAST , ĊĠĠĠ ĠPRO FILE _ GREEN , ĊĠĠĠ ĠREG ULAR Ċ } Ċ Ċ @ JsonInclude ( JsonInclude . Include . NON _ NULL ) Ċ data Ġclass ĠTar iff Element (@ JsonProperty (" price _ components ") Ġval Ġprice Components : ĠList < Price Component >, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ JsonProperty (" re strictions ") Ġval Ġrestrictions : ĠTar iff Restrictions ? Ġ= Ġnull ) Ċ Ċ @ JsonInclude ( JsonInclude . Include . NON _ NULL ) Ċ data Ġclass ĠPrice Component (@ JsonProperty (" type ") Ġval Ġtype : ĠTar iff Dimension Type , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ JsonProperty (" price ") Ġval Ġprice : ĠFloat , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ JsonProperty (" vat ") Ġval Ġv at : ĠFloat ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ JsonProperty (" step _ size ") Ġval Ġstep Size : ĠInt ) Ċ Ċ enum Ġclass ĠTar iff Dimension Type Ġ{ ĊĠĠĠ ĠEN ER GY , ĊĠĠĠ ĠFL AT , ĊĠĠĠ ĠP ARK ING _ TIME , ĊĠĠĠ ĠTIME Ċ } Ċ Ċ @ JsonInclude ( JsonInclude . Include . NON _ NULL ) Ċ data Ġclass ĠTar iff Restrictions (@ JsonProperty (" start _ time ") Ġval ĠstartTime : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ JsonProperty (" end _ time ") Ġval ĠendTime : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ JsonProperty (" start _ date ") Ġval ĠstartDate : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ JsonProperty (" end _ date ") Ġval ĠendDate : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ JsonProperty (" min _ k wh ") Ġval Ġmin K wh : ĠFloat ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ JsonProperty (" max _ k wh ") Ġval Ġmax K wh : ĠFloat ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ JsonProperty (" min _ current ") Ġval Ġmin Current : ĠFloat ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ JsonProperty (" max _ current ") Ġval Ġmax Current : ĠFloat ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ JsonProperty (" min _ power ") Ġval Ġmin Power : ĠFloat ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ JsonProperty (" max _ power ") Ġval Ġmax Power : ĠFloat ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ JsonProperty (" min _ duration ") Ġval Ġmin Duration : ĠInt ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ JsonProperty (" max _ duration ") Ġval Ġmax Duration : ĠInt ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ JsonProperty (" day _ of _ week ") Ġval Ġday OfWeek : ĠList < DayOfWeek >? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ JsonProperty (" reservation ") Ġval Ġreservation : ĠReser vation Restriction Type ? Ġ= Ġnull ) Ċ Ċ enum Ġclass ĠReser vation Restriction Type Ġ{ ĊĠĠĠ ĠRES ER V ATION , ĊĠĠĠ ĠRES ER V ATION _ EXPI RES Ċ } Ċ