membership-attribute-service/app/models/DynamoSupporterRatePlanItem.scala (17 lines of code) (raw):

package models import com.gu.i18n.Currency import org.joda.time.LocalDate import play.api.libs.json.{Writes, __} object DynamoSupporterRatePlanItem { implicit val currencyWrite: Writes[Currency] = __.write[String].contramap(_.iso) } case class DynamoSupporterRatePlanItem( subscriptionName: String, // Unique identifier for the subscription identityId: String, // Unique identifier for user productRatePlanId: String, // Unique identifier for the product in this rate plan termEndDate: LocalDate, // Date that this subscription term ends contractEffectiveDate: LocalDate, // Date that this subscription started cancellationDate: Option[LocalDate], // If this subscription has been cancelled this will be set contributionAmount: Option[BigDecimal], contributionCurrency: Option[Currency], )