expression={
    "enCurrentDatetime" : (
        $in := $toMillis($now())
          ~> $fromMillis('[FNn], [MNn] [D1], [Y0001] [h01]:[m01]', '-0500');
        $p := $toMillis($now())
          ~> $fromMillis(' [P]') ~> $uppercase();
       
        $return:= $in & $p;
    ),
    "esCurrentDatetime" : (
     $in := $toMillis($now())
          ~> $fromMillis('[FNn], [MNn] [D1], [Y0001] [h01]:[m01]', '-0500');
     $p := $toMillis($now())
          ~> $fromMillis(' [P]') ~> $uppercase();

     $day := $trim($substringBefore($in,','));
     $esDay := $.dateTranslation.es[$lowercase(key)=$lowercase($day)].value;
    
     $month := $trim($substringBefore($substringAfter($in, ', '),' '));
     $esMonth := $.dateTranslation.es[$lowercase(key)=$lowercase($month)].value;

     $return := $replace($in, $day, $esDay) ~> $replace($month, $esMonth);
     $return & $p;
    ),

    "ptCurrentDatetime" : (
     $in := $toMillis($now())
          ~> $fromMillis('[FNn], [MNn] [D1], [Y0001] [h01]:[m01]', '-0500');

     $p := $toMillis($now())
          ~> $fromMillis(' [P]') ~> $uppercase();

     $day := $trim($substringBefore($in,','));
     $ptDay := $.dateTranslation.pt[$lowercase(key)=$lowercase($day)].value;
    
     $month := $trim($substringBefore($substringAfter($in, ', '),' '));
     $ptMonth := $.dateTranslation.pt[$lowercase(key)=$lowercase($month)].value;

     $return := $replace($in, $day, $ptDay) ~> $replace($month, $ptMonth);
     $return & $p;

    ),
    "reservation" : $.NotificationData.dynamicData.reservation,
    "reservationDetails":{
	"issueDate": $.NotificationData.dynamicData.reservationDetails.issueDate,
	"ticketStatus":$.NotificationData.dynamicData.reservationDetails.ticketStatus,
	"ticketType":$.NotificationData.dynamicData.reservationDetails.ticketType,
	"economyBasicFare":$.isBasicEconomyPNR
},
    "translations" : {
        "enUrl" : $.LangURLs[Lang="EN"].LangURL,
        "esUrl" : $.LangURLs[Lang="ES"].LangURL,
        "ptUrl" : $.LangURLs[Lang="PT"].LangURL
    },
    
    "passengers" : $.NotificationData.dynamicData.passengers,
    "flights" : [ $map($.NotificationData.dynamicData.flights, function($v, $i, $a){
                {
                    "operatingAirlineCode" : $v.operatingAirlineCode,
                    
                    "flightNumber": $v.flightNumber,
                    "isFinalDestination":$v.isFinalDestination="true",
					"fareFamily":$v.fareFamily,
					"bookingClass" : $v.nvPair[$lowercase(name)=$lowercase('bookingClass')].value,
                    "status": $v.status,
                    "departure" : {
                        "enDate" : (
                                $dt := $toMillis($v.departure.datetimeStd) ~> $fromMillis('[FNn,*-3], [D1] [MNn,*-3]')
                                
                            ),
                        "esDate" : (
                                $dt := $toMillis($v.departure.datetimeStd) ~> $fromMillis('[FNn,*-3], [D1] [MNn,*-3]');
                                $date := $substringBefore($dt, ',');
                                $month:=$toMillis($v.departure.datetimeStd) ~> $fromMillis('[MNn]');
                                $esDate := $.dateTranslation.es[$lowercase(key)=$lowercase($date)].value;
                                $esMonth:=$.dateTranslation.es[$lowercase(key)=$lowercase($month)].value;
                                
                                $replace($dt, $date, $esDate) ~> $replace($month,$esMonth);
                                
                            ),
                        "ptDate" : (
                                $dt := $toMillis($v.departure.datetimeStd) ~> $fromMillis('[FNn,*-3], [D1] [MNn,*-3]');
                                $date := $substringBefore($dt, ',');
                                $month := $toMillis($v.departure.datetimeStd) ~> $fromMillis('[MNn,*-3]');
                                $ptDate := $.dateTranslation.pt[$lowercase(key)=$lowercase($date)].value;
                                $ptMonth := $.dateTranslation.pt[$lowercase(key)=$lowercase($month)].value;
                                $replace($dt, $date, $ptDate) ~> $replace($month,$ptMonth);
                            ),
                        "dateFormat2" : {
                            "en" : (
                                $dt := $toMillis($v.departure.datetimeStd) ~> $fromMillis('[MNn,*-3] [D1]');
                                 $dt ? $dt : ' '

                            ),
                            "es" : (
                                $dt := $toMillis($v.departure.datetimeStd) ~> $fromMillis('[MNn,*-3] [D1], [Y0001]');
 
                                $date := $substringBefore($substringAfter($dt, ' '), ',');
                                $month := $substringBefore($dt, ' ');
                                $year := $substringAfter($dt, ',') ~> $trim();
 
                                $esMonth := $.dateTranslation.es[$lowercase(key)=$lowercase($month)].value;
 
                                $esMonth & ' ' & $date 
                            ),
                            "pt" : (
                                $dt := $toMillis($v.departure.datetimeStd) ~> $fromMillis('[MNn,*-3] [D1], [Y0001]');
 
                                $date := $substringBefore($substringAfter($dt, ' '), ',');
                                $month := $substringBefore($dt, ' ');
                                $year := $substringAfter($dt, ',') ~> $trim();
 
                                $ptMonth := $.dateTranslation.pt[$lowercase(key)=$lowercase($month)].value;
 
                                $ptMonth& ' ' &$date
                            )
 
                      
                            },
                        "time" : $v.departure.time,
                        "airportCode" : $v.departure.airportCode,
                        "city" : $v.departure.city,
                        "datetimeStd" : $v.departure.datetimeStd,
						"countryCode": $lowercase($v.departure.nvPair[$lowercase(name)=$lowercase('countryCode')].value)
                    },
                    "arrival" : {
                        "enDate" : (
                                $dt := $toMillis($v.arrival.datetimeStd) ~> $fromMillis('[FNn,*-3], [D1] [MNn,*-3]')
                                
                            ),
                        "esDate" : (
                                $dt := $toMillis($v.arrival.datetimeStd) ~> $fromMillis('[FNn,*-3], [D1] [MNn,*-3]');
                                $date := $substringBefore($dt, ',');
                                $month:=$toMillis($v.arrival.datetimeStd) ~> $fromMillis('[MNn]');
                                $esDate := $.dateTranslation.es[$lowercase(key)=$lowercase($date)].value;
                                $esMonth:=$.dateTranslation.es[$lowercase(key)=$lowercase($month)].value;
                                
                                $replace($dt, $date, $esDate) ~> $replace($month,$esMonth);
                                
                            ),
                        "ptDate" : (
                                $dt := $toMillis($v.arrival.datetimeStd) ~> $fromMillis('[FNn,*-3], [D1] [MNn,*-3]');
                                $date := $substringBefore($dt, ',');
                                $month := $toMillis($v.arrival.datetimeStd) ~> $fromMillis('[MNn]');
                                $ptDate := $.dateTranslation.pt[$lowercase(key)=$lowercase($date)].value;
                                $ptMonth := $.dateTranslation.pt[$lowercase(key)=$lowercase($month)].value;
                                $replace($dt, $date, $ptDate) ~> $replace($month,$ptMonth);
                            ),
                        "dateFormat2" : {
                            "en" : (
                                $dt := $toMillis($v.arrival.datetimeStd) ~> $fromMillis('[MNn,*-3] [D1]');
                                 $dt ? $dt : ' '

                            ),
                            "es" : (
                                $dt := $toMillis($v.arrival.datetimeStd) ~> $fromMillis('[MNn,*-3] [D1], [Y0001]');
 
                                $date := $substringBefore($substringAfter($dt, ' '), ',');
                                $month := $substringBefore($dt, ' ');
                                $year := $substringAfter($dt, ',') ~> $trim();
 
                                $esMonth := $.dateTranslation.es[$lowercase(key)=$lowercase($month)].value;
 
                                $esMonth & ' ' & $date 
                            ),
                            "pt" : (
                                $dt := $toMillis($v.arrival.datetimeStd) ~> $fromMillis('[MNn,*-3] [D1], [Y0001]');
 
                                $date := $substringBefore($substringAfter($dt, ' '), ',');
                                $month := $substringBefore($dt, ' ');
                                $year := $substringAfter($dt, ',') ~> $trim();
 
                                $ptMonth := $.dateTranslation.pt[$lowercase(key)=$lowercase($month)].value;
 
                                $ptMonth& ' ' &$date
                            )
 
                        },
                        "time" : $v.arrival.time,
                        "airportCode" : $v.arrival.airportCode,
                        "city" : $v.arrival.city,
                        "datetimeStd" : $v.arrival.datetimeStd,
						"countryCode": $lowercase($v.arrival.nvPair[$lowercase(name)=$lowercase('countryCode')].value)
                    },
                    "flightDuration" : $v.flightDuration,
					"layover":$v.layover,
                    "key" : $v.key
                    
                }

            })],
            "notificationData" : $.NotificationData.message
       
          
}
expr {
  fieldList "enCurrentDatetime":
    expr (
      expr $in:=
        expr 
          expr $toMillis
            exprValues (
              exprList 
                expr $now
                  emptyValues ()
              )
          ~>
          expr $fromMillis
            exprValues (
              exprList 
                expr '[FNn], [MNn] [D1], [Y0001] [h01]:[m01]'
                ,
                expr '-0500'
              )
      ;
      expr $p:=
        expr 
          expr 
            expr $toMillis
              exprValues (
                exprList 
                  expr $now
                    emptyValues ()
                )
            ~>
            expr $fromMillis
              exprValues (
                exprList 
                  expr ' [P]'
                )
          ~>
          expr $uppercase
            emptyValues ()
      ;
      expr $return:=
        expr 
          expr $in
          &
          expr $p
      ;)
    ,"esCurrentDatetime":
    expr (
      expr $in:=
        expr 
          expr $toMillis
            exprValues (
              exprList 
                expr $now
                  emptyValues ()
              )
          ~>
          expr $fromMillis
            exprValues (
              exprList 
                expr '[FNn], [MNn] [D1], [Y0001] [h01]:[m01]'
                ,
                expr '-0500'
              )
      ;
      expr $p:=
        expr 
          expr 
            expr $toMillis
              exprValues (
                exprList 
                  expr $now
                    emptyValues ()
                )
            ~>
            expr $fromMillis
              exprValues (
                exprList 
                  expr ' [P]'
                )
          ~>
          expr $uppercase
            emptyValues ()
      ;
      expr $day:=
        expr $trim
          exprValues (
            exprList 
              expr $substringBefore
                exprValues (
                  exprList 
                    expr $in
                    ,
                    expr ','
                  )
            )
      ;
      expr $esDay:=
        expr 
          expr 
            expr 
              expr 
                expr $
                .
                expr dateTranslation
              .
              expr es
            [
            expr 
              expr $lowercase
                exprValues (
                  exprList 
                    expr key
                  )
              =
              expr $lowercase
                exprValues (
                  exprList 
                    expr $day
                  )
            ]
          .
          expr value
      ;
      expr $month:=
        expr $trim
          exprValues (
            exprList 
              expr $substringBefore
                exprValues (
                  exprList 
                    expr $substringAfter
                      exprValues (
                        exprList 
                          expr $in
                          ,
                          expr ', '
                        )
                    ,
                    expr ' '
                  )
            )
      ;
      expr $esMonth:=
        expr 
          expr 
            expr 
              expr 
                expr $
                .
                expr dateTranslation
              .
              expr es
            [
            expr 
              expr $lowercase
                exprValues (
                  exprList 
                    expr key
                  )
              =
              expr $lowercase
                exprValues (
                  exprList 
                    expr $month
                  )
            ]
          .
          expr value
      ;
      expr $return:=
        expr 
          expr $replace
            exprValues (
              exprList 
                expr $in
                ,
                expr $day
                ,
                expr $esDay
              )
          ~>
          expr $replace
            exprValues (
              exprList 
                expr $month
                ,
                expr $esMonth
              )
      ;
      expr 
        expr $return
        &
        expr $p
      ;)
    ,"ptCurrentDatetime":
    expr (
      expr $in:=
        expr 
          expr $toMillis
            exprValues (
              exprList 
                expr $now
                  emptyValues ()
              )
          ~>
          expr $fromMillis
            exprValues (
              exprList 
                expr '[FNn], [MNn] [D1], [Y0001] [h01]:[m01]'
                ,
                expr '-0500'
              )
      ;
      expr $p:=
        expr 
          expr 
            expr $toMillis
              exprValues (
                exprList 
                  expr $now
                    emptyValues ()
                )
            ~>
            expr $fromMillis
              exprValues (
                exprList 
                  expr ' [P]'
                )
          ~>
          expr $uppercase
            emptyValues ()
      ;
      expr $day:=
        expr $trim
          exprValues (
            exprList 
              expr $substringBefore
                exprValues (
                  exprList 
                    expr $in
                    ,
                    expr ','
                  )
            )
      ;
      expr $ptDay:=
        expr 
          expr 
            expr 
              expr 
                expr $
                .
                expr dateTranslation
              .
              expr pt
            [
            expr 
              expr $lowercase
                exprValues (
                  exprList 
                    expr key
                  )
              =
              expr $lowercase
                exprValues (
                  exprList 
                    expr $day
                  )
            ]
          .
          expr value
      ;
      expr $month:=
        expr $trim
          exprValues (
            exprList 
              expr $substringBefore
                exprValues (
                  exprList 
                    expr $substringAfter
                      exprValues (
                        exprList 
                          expr $in
                          ,
                          expr ', '
                        )
                    ,
                    expr ' '
                  )
            )
      ;
      expr $ptMonth:=
        expr 
          expr 
            expr 
              expr 
                expr $
                .
                expr dateTranslation
              .
              expr pt
            [
            expr 
              expr $lowercase
                exprValues (
                  exprList 
                    expr key
                  )
              =
              expr $lowercase
                exprValues (
                  exprList 
                    expr $month
                  )
            ]
          .
          expr value
      ;
      expr $return:=
        expr 
          expr $replace
            exprValues (
              exprList 
                expr $in
                ,
                expr $day
                ,
                expr $ptDay
              )
          ~>
          expr $replace
            exprValues (
              exprList 
                expr $month
                ,
                expr $ptMonth
              )
      ;
      expr 
        expr $return
        &
        expr $p
      ;)
    ,"reservation":
    expr 
      expr 
        expr 
          expr $
          .
          expr NotificationData
        .
        expr dynamicData
      .
      expr reservation
    ,"reservationDetails":
    expr {
      fieldList "issueDate":
        expr 
          expr 
            expr 
              expr 
                expr $
                .
                expr NotificationData
              .
              expr dynamicData
            .
            expr reservationDetails
          .
          expr issueDate
        ,"ticketStatus":
        expr 
          expr 
            expr 
              expr 
                expr $
                .
                expr NotificationData
              .
              expr dynamicData
            .
            expr reservationDetails
          .
          expr ticketStatus
        ,"ticketType":
        expr 
          expr 
            expr 
              expr 
                expr $
                .
                expr NotificationData
              .
              expr dynamicData
            .
            expr reservationDetails
          .
          expr ticketType
        ,"economyBasicFare":
        expr 
          expr $
          .
          expr isBasicEconomyPNR
      }
    ,"translations":
    expr {
      fieldList "enUrl":
        expr 
          expr 
            expr 
              expr $
              .
              expr LangURLs
            [
            expr 
              expr Lang
              =
              expr "EN"
            ]
          .
          expr LangURL
        ,"esUrl":
        expr 
          expr 
            expr 
              expr $
              .
              expr LangURLs
            [
            expr 
              expr Lang
              =
              expr "ES"
            ]
          .
          expr LangURL
        ,"ptUrl":
        expr 
          expr 
            expr 
              expr $
              .
              expr LangURLs
            [
            expr 
              expr Lang
              =
              expr "PT"
            ]
          .
          expr LangURL
      }
    ,"passengers":
    expr 
      expr 
        expr 
          expr $
          .
          expr NotificationData
        .
        expr dynamicData
      .
      expr passengers
    ,"flights":
    expr [
      exprOrSeqList 
        exprOrSeq 
          expr $map
            exprValues (
              exprList 
                expr 
                  expr 
                    expr 
                      expr $
                      .
                      expr NotificationData
                    .
                    expr dynamicData
                  .
                  expr flights
                ,
                expr function
                  varList ($v,$i,$a)
                  {
                  exprList 
                    expr {
                      fieldList "operatingAirlineCode":
                        expr 
                          expr $v
                          .
                          expr operatingAirlineCode
                        ,"flightNumber":
                        expr 
                          expr $v
                          .
                          expr flightNumber
                        ,"isFinalDestination":
                        expr 
                          expr 
                            expr $v
                            .
                            expr isFinalDestination
                          =
                          expr "true"
                        ,"fareFamily":
                        expr 
                          expr $v
                          .
                          expr fareFamily
                        ,"bookingClass":
                        expr 
                          expr 
                            expr 
                              expr $v
                              .
                              expr nvPair
                            [
                            expr 
                              expr $lowercase
                                exprValues (
                                  exprList 
                                    expr name
                                  )
                              =
                              expr $lowercase
                                exprValues (
                                  exprList 
                                    expr 'bookingClass'
                                  )
                            ]
                          .
                          expr value
                        ,"status":
                        expr 
                          expr $v
                          .
                          expr status
                        ,"departure":
                        expr {
                          fieldList "enDate":
                            expr (
                              expr $dt:=
                                expr 
                                  expr $toMillis
                                    exprValues (
                                      exprList 
                                        expr 
                                          expr 
                                            expr $v
                                            .
                                            expr departure
                                          .
                                          expr datetimeStd
                                      )
                                  ~>
                                  expr $fromMillis
                                    exprValues (
                                      exprList 
                                        expr '[FNn,*-3], [D1] [MNn,*-3]'
                                      )
                              )
                            ,"esDate":
                            expr (
                              expr $dt:=
                                expr 
                                  expr $toMillis
                                    exprValues (
                                      exprList 
                                        expr 
                                          expr 
                                            expr $v
                                            .
                                            expr departure
                                          .
                                          expr datetimeStd
                                      )
                                  ~>
                                  expr $fromMillis
                                    exprValues (
                                      exprList 
                                        expr '[FNn,*-3], [D1] [MNn,*-3]'
                                      )
                              ;
                              expr $date:=
                                expr $substringBefore
                                  exprValues (
                                    exprList 
                                      expr $dt
                                      ,
                                      expr ','
                                    )
                              ;
                              expr $month:=
                                expr 
                                  expr $toMillis
                                    exprValues (
                                      exprList 
                                        expr 
                                          expr 
                                            expr $v
                                            .
                                            expr departure
                                          .
                                          expr datetimeStd
                                      )
                                  ~>
                                  expr $fromMillis
                                    exprValues (
                                      exprList 
                                        expr '[MNn]'
                                      )
                              ;
                              expr $esDate:=
                                expr 
                                  expr 
                                    expr 
                                      expr 
                                        expr $
                                        .
                                        expr dateTranslation
                                      .
                                      expr es
                                    [
                                    expr 
                                      expr $lowercase
                                        exprValues (
                                          exprList 
                                            expr key
                                          )
                                      =
                                      expr $lowercase
                                        exprValues (
                                          exprList 
                                            expr $date
                                          )
                                    ]
                                  .
                                  expr value
                              ;
                              expr $esMonth:=
                                expr 
                                  expr 
                                    expr 
                                      expr 
                                        expr $
                                        .
                                        expr dateTranslation
                                      .
                                      expr es
                                    [
                                    expr 
                                      expr $lowercase
                                        exprValues (
                                          exprList 
                                            expr key
                                          )
                                      =
                                      expr $lowercase
                                        exprValues (
                                          exprList 
                                            expr $month
                                          )
                                    ]
                                  .
                                  expr value
                              ;
                              expr 
                                expr $replace
                                  exprValues (
                                    exprList 
                                      expr $dt
                                      ,
                                      expr $date
                                      ,
                                      expr $esDate
                                    )
                                ~>
                                expr $replace
                                  exprValues (
                                    exprList 
                                      expr $month
                                      ,
                                      expr $esMonth
                                    )
                              ;)
                            ,"ptDate":
                            expr (
                              expr $dt:=
                                expr 
                                  expr $toMillis
                                    exprValues (
                                      exprList 
                                        expr 
                                          expr 
                                            expr $v
                                            .
                                            expr departure
                                          .
                                          expr datetimeStd
                                      )
                                  ~>
                                  expr $fromMillis
                                    exprValues (
                                      exprList 
                                        expr '[FNn,*-3], [D1] [MNn,*-3]'
                                      )
                              ;
                              expr $date:=
                                expr $substringBefore
                                  exprValues (
                                    exprList 
                                      expr $dt
                                      ,
                                      expr ','
                                    )
                              ;
                              expr $month:=
                                expr 
                                  expr $toMillis
                                    exprValues (
                                      exprList 
                                        expr 
                                          expr 
                                            expr $v
                                            .
                                            expr departure
                                          .
                                          expr datetimeStd
                                      )
                                  ~>
                                  expr $fromMillis
                                    exprValues (
                                      exprList 
                                        expr '[MNn,*-3]'
                                      )
                              ;
                              expr $ptDate:=
                                expr 
                                  expr 
                                    expr 
                                      expr 
                                        expr $
                                        .
                                        expr dateTranslation
                                      .
                                      expr pt
                                    [
                                    expr 
                                      expr $lowercase
                                        exprValues (
                                          exprList 
                                            expr key
                                          )
                                      =
                                      expr $lowercase
                                        exprValues (
                                          exprList 
                                            expr $date
                                          )
                                    ]
                                  .
                                  expr value
                              ;
                              expr $ptMonth:=
                                expr 
                                  expr 
                                    expr 
                                      expr 
                                        expr $
                                        .
                                        expr dateTranslation
                                      .
                                      expr pt
                                    [
                                    expr 
                                      expr $lowercase
                                        exprValues (
                                          exprList 
                                            expr key
                                          )
                                      =
                                      expr $lowercase
                                        exprValues (
                                          exprList 
                                            expr $month
                                          )
                                    ]
                                  .
                                  expr value
                              ;
                              expr 
                                expr $replace
                                  exprValues (
                                    exprList 
                                      expr $dt
                                      ,
                                      expr $date
                                      ,
                                      expr $ptDate
                                    )
                                ~>
                                expr $replace
                                  exprValues (
                                    exprList 
                                      expr $month
                                      ,
                                      expr $ptMonth
                                    )
                              ;)
                            ,"dateFormat2":
                            expr {
                              fieldList "en":
                                expr (
                                  expr $dt:=
                                    expr 
                                      expr $toMillis
                                        exprValues (
                                          exprList 
                                            expr 
                                              expr 
                                                expr $v
                                                .
                                                expr departure
                                              .
                                              expr datetimeStd
                                          )
                                      ~>
                                      expr $fromMillis
                                        exprValues (
                                          exprList 
                                            expr '[MNn,*-3] [D1]'
                                          )
                                  ;
                                  expr 
                                    expr $dt
                                    ?
                                    expr $dt
                                    :
                                    expr ' '
                                  )
                                ,"es":
                                expr (
                                  expr $dt:=
                                    expr 
                                      expr $toMillis
                                        exprValues (
                                          exprList 
                                            expr 
                                              expr 
                                                expr $v
                                                .
                                                expr departure
                                              .
                                              expr datetimeStd
                                          )
                                      ~>
                                      expr $fromMillis
                                        exprValues (
                                          exprList 
                                            expr '[MNn,*-3] [D1], [Y0001]'
                                          )
                                  ;
                                  expr $date:=
                                    expr $substringBefore
                                      exprValues (
                                        exprList 
                                          expr $substringAfter
                                            exprValues (
                                              exprList 
                                                expr $dt
                                                ,
                                                expr ' '
                                              )
                                          ,
                                          expr ','
                                        )
                                  ;
                                  expr $month:=
                                    expr $substringBefore
                                      exprValues (
                                        exprList 
                                          expr $dt
                                          ,
                                          expr ' '
                                        )
                                  ;
                                  expr $year:=
                                    expr 
                                      expr $substringAfter
                                        exprValues (
                                          exprList 
                                            expr $dt
                                            ,
                                            expr ','
                                          )
                                      ~>
                                      expr $trim
                                        emptyValues ()
                                  ;
                                  expr $esMonth:=
                                    expr 
                                      expr 
                                        expr 
                                          expr 
                                            expr $
                                            .
                                            expr dateTranslation
                                          .
                                          expr es
                                        [
                                        expr 
                                          expr $lowercase
                                            exprValues (
                                              exprList 
                                                expr key
                                              )
                                          =
                                          expr $lowercase
                                            exprValues (
                                              exprList 
                                                expr $month
                                              )
                                        ]
                                      .
                                      expr value
                                  ;
                                  expr 
                                    expr 
                                      expr $esMonth
                                      &
                                      expr ' '
                                    &
                                    expr $date
                                  )
                                ,"pt":
                                expr (
                                  expr $dt:=
                                    expr 
                                      expr $toMillis
                                        exprValues (
                                          exprList 
                                            expr 
                                              expr 
                                                expr $v
                                                .
                                                expr departure
                                              .
                                              expr datetimeStd
                                          )
                                      ~>
                                      expr $fromMillis
                                        exprValues (
                                          exprList 
                                            expr '[MNn,*-3] [D1], [Y0001]'
                                          )
                                  ;
                                  expr $date:=
                                    expr $substringBefore
                                      exprValues (
                                        exprList 
                                          expr $substringAfter
                                            exprValues (
                                              exprList 
                                                expr $dt
                                                ,
                                                expr ' '
                                              )
                                          ,
                                          expr ','
                                        )
                                  ;
                                  expr $month:=
                                    expr $substringBefore
                                      exprValues (
                                        exprList 
                                          expr $dt
                                          ,
                                          expr ' '
                                        )
                                  ;
                                  expr $year:=
                                    expr 
                                      expr $substringAfter
                                        exprValues (
                                          exprList 
                                            expr $dt
                                            ,
                                            expr ','
                                          )
                                      ~>
                                      expr $trim
                                        emptyValues ()
                                  ;
                                  expr $ptMonth:=
                                    expr 
                                      expr 
                                        expr 
                                          expr 
                                            expr $
                                            .
                                            expr dateTranslation
                                          .
                                          expr pt
                                        [
                                        expr 
                                          expr $lowercase
                                            exprValues (
                                              exprList 
                                                expr key
                                              )
                                          =
                                          expr $lowercase
                                            exprValues (
                                              exprList 
                                                expr $month
                                              )
                                        ]
                                      .
                                      expr value
                                  ;
                                  expr 
                                    expr 
                                      expr $ptMonth
                                      &
                                      expr ' '
                                    &
                                    expr $date
                                  )
                              }
                            ,"time":
                            expr 
                              expr 
                                expr $v
                                .
                                expr departure
                              .
                              expr time
                            ,"airportCode":
                            expr 
                              expr 
                                expr $v
                                .
                                expr departure
                              .
                              expr airportCode
                            ,"city":
                            expr 
                              expr 
                                expr $v
                                .
                                expr departure
                              .
                              expr city
                            ,"datetimeStd":
                            expr 
                              expr 
                                expr $v
                                .
                                expr departure
                              .
                              expr datetimeStd
                            ,"countryCode":
                            expr $lowercase
                              exprValues (
                                exprList 
                                  expr 
                                    expr 
                                      expr 
                                        expr 
                                          expr $v
                                          .
                                          expr departure
                                        .
                                        expr nvPair
                                      [
                                      expr 
                                        expr $lowercase
                                          exprValues (
                                            exprList 
                                              expr name
                                            )
                                        =
                                        expr $lowercase
                                          exprValues (
                                            exprList 
                                              expr 'countryCode'
                                            )
                                      ]
                                    .
                                    expr value
                                )
                          }
                        ,"arrival":
                        expr {
                          fieldList "enDate":
                            expr (
                              expr $dt:=
                                expr 
                                  expr $toMillis
                                    exprValues (
                                      exprList 
                                        expr 
                                          expr 
                                            expr $v
                                            .
                                            expr arrival
                                          .
                                          expr datetimeStd
                                      )
                                  ~>
                                  expr $fromMillis
                                    exprValues (
                                      exprList 
                                        expr '[FNn,*-3], [D1] [MNn,*-3]'
                                      )
                              )
                            ,"esDate":
                            expr (
                              expr $dt:=
                                expr 
                                  expr $toMillis
                                    exprValues (
                                      exprList 
                                        expr 
                                          expr 
                                            expr $v
                                            .
                                            expr arrival
                                          .
                                          expr datetimeStd
                                      )
                                  ~>
                                  expr $fromMillis
                                    exprValues (
                                      exprList 
                                        expr '[FNn,*-3], [D1] [MNn,*-3]'
                                      )
                              ;
                              expr $date:=
                                expr $substringBefore
                                  exprValues (
                                    exprList 
                                      expr $dt
                                      ,
                                      expr ','
                                    )
                              ;
                              expr $month:=
                                expr 
                                  expr $toMillis
                                    exprValues (
                                      exprList 
                                        expr 
                                          expr 
                                            expr $v
                                            .
                                            expr arrival
                                          .
                                          expr datetimeStd
                                      )
                                  ~>
                                  expr $fromMillis
                                    exprValues (
                                      exprList 
                                        expr '[MNn]'
                                      )
                              ;
                              expr $esDate:=
                                expr 
                                  expr 
                                    expr 
                                      expr 
                                        expr $
                                        .
                                        expr dateTranslation
                                      .
                                      expr es
                                    [
                                    expr 
                                      expr $lowercase
                                        exprValues (
                                          exprList 
                                            expr key
                                          )
                                      =
                                      expr $lowercase
                                        exprValues (
                                          exprList 
                                            expr $date
                                          )
                                    ]
                                  .
                                  expr value
                              ;
                              expr $esMonth:=
                                expr 
                                  expr 
                                    expr 
                                      expr 
                                        expr $
                                        .
                                        expr dateTranslation
                                      .
                                      expr es
                                    [
                                    expr 
                                      expr $lowercase
                                        exprValues (
                                          exprList 
                                            expr key
                                          )
                                      =
                                      expr $lowercase
                                        exprValues (
                                          exprList 
                                            expr $month
                                          )
                                    ]
                                  .
                                  expr value
                              ;
                              expr 
                                expr $replace
                                  exprValues (
                                    exprList 
                                      expr $dt
                                      ,
                                      expr $date
                                      ,
                                      expr $esDate
                                    )
                                ~>
                                expr $replace
                                  exprValues (
                                    exprList 
                                      expr $month
                                      ,
                                      expr $esMonth
                                    )
                              ;)
                            ,"ptDate":
                            expr (
                              expr $dt:=
                                expr 
                                  expr $toMillis
                                    exprValues (
                                      exprList 
                                        expr 
                                          expr 
                                            expr $v
                                            .
                                            expr arrival
                                          .
                                          expr datetimeStd
                                      )
                                  ~>
                                  expr $fromMillis
                                    exprValues (
                                      exprList 
                                        expr '[FNn,*-3], [D1] [MNn,*-3]'
                                      )
                              ;
                              expr $date:=
                                expr $substringBefore
                                  exprValues (
                                    exprList 
                                      expr $dt
                                      ,
                                      expr ','
                                    )
                              ;
                              expr $month:=
                                expr 
                                  expr $toMillis
                                    exprValues (
                                      exprList 
                                        expr 
                                          expr 
                                            expr $v
                                            .
                                            expr arrival
                                          .
                                          expr datetimeStd
                                      )
                                  ~>
                                  expr $fromMillis
                                    exprValues (
                                      exprList 
                                        expr '[MNn]'
                                      )
                              ;
                              expr $ptDate:=
                                expr 
                                  expr 
                                    expr 
                                      expr 
                                        expr $
                                        .
                                        expr dateTranslation
                                      .
                                      expr pt
                                    [
                                    expr 
                                      expr $lowercase
                                        exprValues (
                                          exprList 
                                            expr key
                                          )
                                      =
                                      expr $lowercase
                                        exprValues (
                                          exprList 
                                            expr $date
                                          )
                                    ]
                                  .
                                  expr value
                              ;
                              expr $ptMonth:=
                                expr 
                                  expr 
                                    expr 
                                      expr 
                                        expr $
                                        .
                                        expr dateTranslation
                                      .
                                      expr pt
                                    [
                                    expr 
                                      expr $lowercase
                                        exprValues (
                                          exprList 
                                            expr key
                                          )
                                      =
                                      expr $lowercase
                                        exprValues (
                                          exprList 
                                            expr $month
                                          )
                                    ]
                                  .
                                  expr value
                              ;
                              expr 
                                expr $replace
                                  exprValues (
                                    exprList 
                                      expr $dt
                                      ,
                                      expr $date
                                      ,
                                      expr $ptDate
                                    )
                                ~>
                                expr $replace
                                  exprValues (
                                    exprList 
                                      expr $month
                                      ,
                                      expr $ptMonth
                                    )
                              ;)
                            ,"dateFormat2":
                            expr {
                              fieldList "en":
                                expr (
                                  expr $dt:=
                                    expr 
                                      expr $toMillis
                                        exprValues (
                                          exprList 
                                            expr 
                                              expr 
                                                expr $v
                                                .
                                                expr arrival
                                              .
                                              expr datetimeStd
                                          )
                                      ~>
                                      expr $fromMillis
                                        exprValues (
                                          exprList 
                                            expr '[MNn,*-3] [D1]'
                                          )
                                  ;
                                  expr 
                                    expr $dt
                                    ?
                                    expr $dt
                                    :
                                    expr ' '
                                  )
                                ,"es":
                                expr (
                                  expr $dt:=
                                    expr 
                                      expr $toMillis
                                        exprValues (
                                          exprList 
                                            expr 
                                              expr 
                                                expr $v
                                                .
                                                expr arrival
                                              .
                                              expr datetimeStd
                                          )
                                      ~>
                                      expr $fromMillis
                                        exprValues (
                                          exprList 
                                            expr '[MNn,*-3] [D1], [Y0001]'
                                          )
                                  ;
                                  expr $date:=
                                    expr $substringBefore
                                      exprValues (
                                        exprList 
                                          expr $substringAfter
                                            exprValues (
                                              exprList 
                                                expr $dt
                                                ,
                                                expr ' '
                                              )
                                          ,
                                          expr ','
                                        )
                                  ;
                                  expr $month:=
                                    expr $substringBefore
                                      exprValues (
                                        exprList 
                                          expr $dt
                                          ,
                                          expr ' '
                                        )
                                  ;
                                  expr $year:=
                                    expr 
                                      expr $substringAfter
                                        exprValues (
                                          exprList 
                                            expr $dt
                                            ,
                                            expr ','
                                          )
                                      ~>
                                      expr $trim
                                        emptyValues ()
                                  ;
                                  expr $esMonth:=
                                    expr 
                                      expr 
                                        expr 
                                          expr 
                                            expr $
                                            .
                                            expr dateTranslation
                                          .
                                          expr es
                                        [
                                        expr 
                                          expr $lowercase
                                            exprValues (
                                              exprList 
                                                expr key
                                              )
                                          =
                                          expr $lowercase
                                            exprValues (
                                              exprList 
                                                expr $month
                                              )
                                        ]
                                      .
                                      expr value
                                  ;
                                  expr 
                                    expr 
                                      expr $esMonth
                                      &
                                      expr ' '
                                    &
                                    expr $date
                                  )
                                ,"pt":
                                expr (
                                  expr $dt:=
                                    expr 
                                      expr $toMillis
                                        exprValues (
                                          exprList 
                                            expr 
                                              expr 
                                                expr $v
                                                .
                                                expr arrival
                                              .
                                              expr datetimeStd
                                          )
                                      ~>
                                      expr $fromMillis
                                        exprValues (
                                          exprList 
                                            expr '[MNn,*-3] [D1], [Y0001]'
                                          )
                                  ;
                                  expr $date:=
                                    expr $substringBefore
                                      exprValues (
                                        exprList 
                                          expr $substringAfter
                                            exprValues (
                                              exprList 
                                                expr $dt
                                                ,
                                                expr ' '
                                              )
                                          ,
                                          expr ','
                                        )
                                  ;
                                  expr $month:=
                                    expr $substringBefore
                                      exprValues (
                                        exprList 
                                          expr $dt
                                          ,
                                          expr ' '
                                        )
                                  ;
                                  expr $year:=
                                    expr 
                                      expr $substringAfter
                                        exprValues (
                                          exprList 
                                            expr $dt
                                            ,
                                            expr ','
                                          )
                                      ~>
                                      expr $trim
                                        emptyValues ()
                                  ;
                                  expr $ptMonth:=
                                    expr 
                                      expr 
                                        expr 
                                          expr 
                                            expr $
                                            .
                                            expr dateTranslation
                                          .
                                          expr pt
                                        [
                                        expr 
                                          expr $lowercase
                                            exprValues (
                                              exprList 
                                                expr key
                                              )
                                          =
                                          expr $lowercase
                                            exprValues (
                                              exprList 
                                                expr $month
                                              )
                                        ]
                                      .
                                      expr value
                                  ;
                                  expr 
                                    expr 
                                      expr $ptMonth
                                      &
                                      expr ' '
                                    &
                                    expr $date
                                  )
                              }
                            ,"time":
                            expr 
                              expr 
                                expr $v
                                .
                                expr arrival
                              .
                              expr time
                            ,"airportCode":
                            expr 
                              expr 
                                expr $v
                                .
                                expr arrival
                              .
                              expr airportCode
                            ,"city":
                            expr 
                              expr 
                                expr $v
                                .
                                expr arrival
                              .
                              expr city
                            ,"datetimeStd":
                            expr 
                              expr 
                                expr $v
                                .
                                expr arrival
                              .
                              expr datetimeStd
                            ,"countryCode":
                            expr $lowercase
                              exprValues (
                                exprList 
                                  expr 
                                    expr 
                                      expr 
                                        expr 
                                          expr $v
                                          .
                                          expr arrival
                                        .
                                        expr nvPair
                                      [
                                      expr 
                                        expr $lowercase
                                          exprValues (
                                            exprList 
                                              expr name
                                            )
                                        =
                                        expr $lowercase
                                          exprValues (
                                            exprList 
                                              expr 'countryCode'
                                            )
                                      ]
                                    .
                                    expr value
                                )
                          }
                        ,"flightDuration":
                        expr 
                          expr $v
                          .
                          expr flightDuration
                        ,"layover":
                        expr 
                          expr $v
                          .
                          expr layover
                        ,"key":
                        expr 
                          expr $v
                          .
                          expr key
                      }
                  }
              )
      ]
    ,"notificationData":
    expr 
      expr 
        expr $
        .
        expr NotificationData
      .
      expr message
  }
