case class Customer(customerId: String, email: String, paymentOption: List[PaymentOption])

case class InternetBanking(bankName: String, userId: String, bankWebSite: URI) extends PaymentOption

case class CreditCard(cardType: String, issuer: String, cardNo: Long) extends PaymentOption

case class DebitCard(cardType: String, issuer: String, cardNo: Long) extends PaymentOption

case class Payla(id: String) extends PaymentOption