Probably also worth mentioning:
CamelCase is not idiomatic for Clojure bindings, so we'd have (ns struct-maps), (defn pets ..), (def my-pet ..), and so on. We do use CamelCase for things that are like "type" names or generate a Java class under the hood.
def (and other def* things) create top-level definitions so we don't use them inside functions. If you're following a tutorial that does this, then it's a bad tutorial and you should stop following it and find something better.
As others have noted, structs have been deprecated for a long time and even tho' records exist as a modern replacement, we generally use plain old hash maps -- it's something you'll have to get used to coming from statically typed OOP languages: Clojure is about plain data most of the time.