package Ġco . om ise go . om ise go . model Ċ Ċ /* Ċ Ġ* ĠOm ise GO Ċ Ġ* Ċ Ġ* ĠCreated Ġby ĠPh uch it ĠSi ri mong k ols ath ien Ġon Ġ 2 7 / 3 / 2 0 1 8 ĠAD . Ċ Ġ* ĠCopyright ĠÂ© Ġ 2 0 1 7 - 2 0 1 8 ĠOm ise GO . ĠAll Ġrights Ġreserved . Ċ Ġ*/ Ċ Ċ import Ġandroid . os . Parcelable Ċ import Ġco . om ise go . om ise go . constant . enums . OM G Enum Ċ import Ġco . om ise go . om ise go . model . socket . Socket Topic Ċ import Ġco . om ise go . om ise go . operation . List enable Ċ import Ġkotlinx . android . parcel . Parcel ize Ċ import Ġkotlinx . android . parcel . Raw Value Ċ import Ġjava . math . BigDecimal Ċ import Ġjava . util . Date Ċ Ċ /** Ċ Ġ* ĠThe Ġdifferent Ġtypes Ġof Ġrequest Ġthat Ġcan Ġbe Ġgenerated Ċ Ġ*/ Ċ enum Ġclass ĠTransaction RequestType Ġconstructor ( override Ġval Ġvalue : ĠString ) Ġ: ĠO MG Enum Ġ{ ĊĊĠĠĠ Ġ/* ĠThe Ġinit iator Ġwants Ġto Ġreceive Ġa Ġspecified Ġtoken Ġ*/ ĊĠĠĠ ĠRE CE IVE (" receive "), ĊĊĠĠĠ Ġ/* ĠThe Ġinit iator Ġwants Ġto Ġsend Ġa Ġspecified Ġtoken Ġ*/ ĊĠĠĠ ĠS END (" send "); ĊĊĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ= Ġvalue Ċ } Ċ Ċ /** Ċ Ġ* ĠThe Ġstatus Ġof Ġthe Ġtransaction Ġrequest Ċ Ġ*/ Ċ enum Ġclass ĠTransaction Request Status Ġconstructor ( override Ġval Ġvalue : ĠString ) Ġ: ĠO MG Enum Ġ{ ĊĠĠĠ Ġ/* ĠThe Ġtransaction Ġrequest Ġis Ġexpired Ġand Ġcan 't Ġbe Ġconsumed Ġ*/ ĊĠĠĠ ĠEX PI RED (" expired "), ĊĊĠĠĠ Ġ/* ĠThe Ġtransaction Ġrequest Ġis Ġvalid Ġand Ġready Ġto Ġbe Ġconsumed Ġ*/ ĊĠĠĠ ĠVALID (" valid "); ĊĊĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ= Ġvalue Ċ } Ċ Ċ /** Ċ Ġ* ĠRepresents Ġa Ġtransaction Ġrequest Ċ Ġ* Ċ Ġ* Ġ@ param Ġid ĠThe Ġunique Ġidentifier Ġof Ġthe Ġrequest Ċ Ġ* Ġ@ param Ġtype ĠThe Ġtype Ġof Ġthe Ġrequest Ġ( send Ġof Ġreceive ) Ċ Ġ* Ġ@ param Ġtoken ĠThe Ġtoken Ġfor Ġthe Ġrequest Ċ Ġ* ĠIn Ġthe Ġcase Ġof Ġa Ġtype Ġ" send ", Ġthis Ġwill Ġbe Ġthe Ġtoken Ġtaken Ġfrom Ġthe Ġrequest er Ċ Ġ* ĠIn Ġthe Ġcase Ġof Ġa Ġtype Ġ" receive " Ġthis Ġwill Ġbe Ġthe Ġtoken Ġreceived Ġby Ġthe Ġrequest er Ċ Ġ* Ġ@ param Ġamount ĠThe Ġamount Ġof Ġtoken Ġto Ġuse Ġfor Ġthe Ġtransaction Ġ( down Ġto Ġsub unit Ġto Ġunit ) Ċ Ġ* ĠThis Ġamount Ġneeds Ġto Ġbe Ġeither Ġspecified Ġby Ġthe Ġrequest er Ġor Ġthe Ġconsumer Ċ Ġ* Ġ@ param Ġaddress ĠThe Ġaddress Ġfrom Ġwhich Ġto Ġsend Ġor Ġreceive Ġthe Ġtokens Ċ Ġ* Ġ@ param Ġuser ĠThe Ġuser Ġthat Ġinitiated Ġthe Ġrequest Ċ Ġ* Ġ@ param Ġaccount ĠThe Ġaccount Ġthat Ġinitiated Ġthe Ġrequest Ċ Ġ* Ġ@ param Ġcorrelation Id ĠAn Ġid Ġthat Ġcan Ġuniquely Ġidentify Ġa Ġtransaction . ĠTypically Ġan Ġorder Ġid Ġfrom Ġa Ġprovider Ċ Ġ* Ġ@ param Ġsocket Topic ĠThe Ġtopic Ġwhich Ġcan Ġbe Ġlisten ed Ġin Ġorder Ġto Ġreceive Ġevents Ġregarding Ġthis Ġrequest Ċ Ġ* Ġ@ param Ġmax Cons umptions ĠThe Ġmaximum Ġnumber Ġof Ġtime Ġthat Ġthis Ġrequest Ġcan Ġbe Ġconsumed . ĠDefault Ġnull Ġ( un limited ). Ċ Ġ* Ġ@ param Ġstatus ĠThe Ġstatus Ġof Ġthe Ġrequest Ġ( valid Ġor Ġexpired ) Ċ Ġ* Ġ@ param Ġallow Amount Override ĠAllow Ġor Ġnot Ġthe Ġconsumer Ġto Ġoverride Ġthe Ġamount Ġspecified Ġin Ġthe Ġrequest Ċ Ġ* ĠNote Ġthat Ġif Ġamount Ġis Ġnil Ġand Ġallow Amount Override Ġis Ġfalse Ġthe Ġinit Ġwill Ġfail Ġand Ġreturn Ġnull . Ċ Ġ* Ġ@ param Ġmax Cons umptions Per User ĠThe Ġmaximum Ġnumber Ġof Ġcons umptions Ġallowed Ġper Ġunique Ġuser . ĠDefault Ġnull Ġ( un limited ). Ċ Ġ* Ġ@ param Ġrequire Confirmation ĠA Ġboolean Ġindicating Ġif Ġthe Ġrequest Ġneeds Ġa Ġconfirmation Ġfrom Ġthe Ġrequest er Ġbefore Ġbeing Ġpro ceeded Ċ Ġ* Ġ@ param Ġexpiration Date ĠThe Ġdate Ġwhen Ġthe Ġrequest Ġwill Ġexpire Ġand Ġnot Ġbe Ġconsum able Ġanymore . ĠDefault Ġnull Ġ( never Ġexpired ). Ċ Ġ* Ġ@ param Ġexpiration Reason ĠThe Ġreason Ġwhy Ġthe Ġrequest Ġexpired Ċ Ġ* Ġ@ param Ġconsumption Lifetime ĠThe Ġamount Ġof Ġtime Ġin Ġmilli second Ġduring Ġwhich Ġa Ġconsumption Ġis Ġvalid . ĠDefault Ġnull Ġ( fore ver ). Ċ Ġ* Ġ@ param ĠcreatedAt ĠThe Ġcreation Ġdate Ġof Ġthe Ġrequest Ċ Ġ* Ġ@ param Ġexpired At ĠThe Ġdate Ġwhen Ġthe Ġrequest Ġexpired Ċ Ġ* Ġ@ param Ġformatted Id ĠAn Ġid Ġthat Ġcan Ġbe Ġencoded Ġin Ġa ĠQR Ġcode Ġand Ġbe Ġused Ġto Ġretrieve Ġthe Ġrequest Ġlater Ċ Ġ* Ġ@ param Ġmetadata ĠAdditional Ġmetadata Ġfor Ġthe Ġtransaction Ġrequest Ċ Ġ* Ġ@ param Ġencrypted Metadata ĠAdditional Ġencrypted Ġmetadata Ġfor Ġthe Ġtransaction Ġrequest Ċ Ġ*/ Ċ @ Parcel ize Ċ data Ġclass ĠTransaction Request ( ĊĠĠĠ Ġval Ġid : ĠString , ĊĠĠĠ Ġval Ġtype : ĠTransaction RequestType , ĊĠĠĠ Ġval Ġtoken : ĠToken , ĊĠĠĠ Ġval Ġamount : ĠBigDecimal ?, ĊĠĠĠ Ġval Ġaddress : ĠString ?, ĊĠĠĠ Ġval Ġuser : ĠUser ?, ĊĠĠĠ Ġval Ġaccount : ĠAccount ?, ĊĠĠĠ Ġval Ġcorrelation Id : ĠString ?, ĊĠĠĠ Ġoverride Ġval Ġsocket Topic : ĠSocket Topic , ĊĠĠĠ Ġval Ġmax Cons umptions : ĠInt ?, ĊĠĠĠ Ġval Ġstatus : ĠTransaction Request Status , ĊĠĠĠ Ġval Ġallow Amount Override : ĠBoolean , ĊĠĠĠ Ġval Ġmax Cons umptions Per User : ĠInt ?, ĊĠĠĠ Ġval Ġrequire Confirmation : ĠBoolean , ĊĠĠĠ Ġval Ġexpiration Date : ĠDate ?, ĊĠĠĠ Ġval Ġexpiration Reason : ĠString ?, ĊĠĠĠ Ġval Ġconsumption Lifetime : ĠInt ?, ĊĠĠĠ Ġval ĠcreatedAt : ĠDate ?, ĊĠĠĠ Ġval Ġexpired At : ĠDate ?, ĊĠĠĠ Ġval Ġformatted Id : ĠString , ĊĠĠĠ Ġval Ġmetadata : Ġ@ Raw Value ĠMap < String , ĠAny >, ĊĠĠĠ Ġval Ġencrypted Metadata : Ġ@ Raw Value ĠMap < String , ĠAny > Ċ ) Ġ: ĠParcel able , ĠList enable Ċ