Problema em passar objeto via Intent

Estou com a classe Produto, ProdutoPerecivel, ProdutoNaoPerecivel, Pedido e ItemPedido. ProdutoPerecivel e ProduroNaoPerecivel,Pedido e ItemPedido implementei Parcelable. Algumas coisas estão dando errado, estou criando um ArrayList A classe ItemPedido tem os seguintes atributos ProdutoPerecivel produtoPerecivel e ProdutoNaoPerecivel produtoNaoPerecivel. Quando passo o ArrayList via Intent para outra activity o atributo cod_produto da classe Produto é zerado ficando sem valor. Se eu implemento Parcelable a classe Produto dá um erro de cast. Qual classe devo implementar Parcelable para que eu passe o ArrayListe corretamente com todos os dados.

Voce poder deixar a classe serializavel, dê uma olhada aqui:
https://medium.com/@nglauber/android-passando-objetos-em-intents-240f1bcdee2d