---
# System prepended metadata

title: App <> Newark

---

# App <> Newark

CFAR screen on shopping flow, after user picks the flight
App sends to the following to the backend
```scala=
case class CfarUpFunnelRequest(
    tripId: TripID,
    fareId: Shop.FareId,
    experimentVariants: List[String], // might be able to pick it up from opaque properties in request header. investigation needed
)
```

App receives this back
```scala=
case class CfarUpFunnelResponse(
    cfar: Option[CfarUpFunnelOffer], // Empty if no offers
    tracking: JsObject,
)

case class CfarUpFunnelOffer(
    cfar: AppProtectionOffer,
    revisedTotal: String, // trip total plus CFAR price
    userRevisedTotal: Option[String],
  )
  
case class AppProtectionOffer(
    id: String, // Not sure what goes here eactly. Is this Product.CfarId?
    ...
)
```
User chooses whether to include CFAR. App carries that information through a few screens.

```scala=
case class PriceQuote.Schedule(
  ...
  chosenAncillaries: Option[ChosenAncillaries]
)
case class ChosenAncillaries(
  cfarId: Option[Product.CfarId]
)
```


# Newark <> Hartford

