 public struct RouteChange {
     public struct ValidityPeriod {
         public let begin: Date
-        public let end: Date
+        public let end: Date?
     }
 
     public enum Kind {

    init?(json: JSON) {
        guard let id = json["Id"] as? String,
            let kindStr = json["Type"] as? String,
            let tripRequestInclude = json["TripRequestInclude"] as? Bool,
            let title = json["Title"] as? String,
            let html = json["Description"] as? String,
            let valPeriods = json["ValidityPeriods"] as? [JSON],

    init?(json: JSON) {
        guard let beginStr = json["Begin"] as? String,
            let begin = Date(from: beginStr),
                return nil
        }

        self.begin = begin

        if let endStr = json["End"] as? String,
            let end = Date(from: endStr) {
            self.end = end
        } else {
            self.end = nil
        }
    }
}

