As you can see, inputs and outputs are both arrays, meaning they can store multiple items. You can use this to to multisend, meaning sending from multiple addresses to multiple addresses in one transaction. The items in inputs basically mean from what address are you sending how much. The items in outputs basically mean which address will receive how much in this transaction.
Maybe a little example will help: Let’s say you have one input address that is sending 5stake. You could then have 5 addresses as output items, each receiving 1stake. Does this make sense to you?
Besides that, I believe that your example is outdated. The transaction types have changed in the meantime and denominations are now required to be lowercase.