Se vería así:
mapsData: [{
id: Number,
name: String,
gates: [{
toId: Number,
coords: {
x: Number,
y: Number
}
}],
waypoints: [[{x: Number, y: Number}]]
}]
siempre puedes hacer mapsData:JSON
cuando no estás seguro y sientes las cosas.