       case singleSelection = "SINGLE_CHOICE"
       case multipleSelections = "MULTIPLE_CHOICE"
       case requestReturnTrip = "RETURN_TRIP"
+      case number = "NUMBER"
     }
     
     public enum ReturnTripDateValue: Hashable {

        try container.encode(optionIds, forKey: .values)
      case .returnTripDate(let returnDate):
        try container.encode(returnDate.toString(), forKey: .value)
      }
    }
  }

      case multipleSelections([InputOptionId])
      case longText(String)
      case returnTripDate(ReturnTripDateValue)
      case number(Int, min: Int?, max: Int?)
    }
    
    public let required: Bool
    public let id: String
    public let options: [InputOption]?
    public let title: String
    public var value: InputValue
    
    public var type: InputType {
      switch value {
      case .longText: return .longText
      case .singleSelection: return .singleSelection
      case .multipleSelections: return .multipleSelections
      case .returnTripDate: return .requestReturnTrip
      case .number: return .number
      }
    }
    
    private enum CodingKeys: String, CodingKey {
      case id
