             return OMSSourceTypeValue.trueMoney.rawValue
         case .points(let points):
             return points.type
+        case .mobileBanking(let bank):
+            return bank.type
         case .other(let value, _):
             return value
         }

            try trueMoney.encode(to: encoder)
        case .points(let points):
            try points.encode(to: encoder)
        case .other(type: let type, parameters: let parameters):
            var container = encoder.container(keyedBy: CodingKeys.self)
            try container.encode(type, forKey: .type)

        case (.eContext(let lhsValue), .eContext(let rhsValue)):
            return lhsValue == rhsValue
        case (.points(let lhsValue), .points(let rhsValue)):
            return lhsValue == rhsValue
        case (.mobileBanking(let lhsValue), .mobileBanking(let rhsValue)):
            return lhsValue == rhsValue
        case (.other(let lhsType, let lhsParameters), .other(let rhsType, let rhsParameters)):
            return lhsType == rhsType &&
