```ruby
SEMANITIC_TYPES = {
          select: "text", #No way in Crichton to distinguish [Int] and [String]
          search:"text",
          text: "text",
          boolean: "bool", #a Server should accept ?cat&dog or ?cat=cat&dog=dog
          number: "number",
          email: "text",     
          tel: "text", 
          datetime: "text", 
          time: "text",
          date: "text", 
          month: "text", 
          week: "text", 
          :"datetime-local" => "text"
        }

def semantic_map(semantic)
  { type: "#{SEMANTIC_TYPES[semantic.to_sym]}:#{semantic}" }
end
```