The designJson field can be either a parsed object or a JSON string depending on how it was stored. The checkout API was assuming it was always an object and casting it, which caused 'Cannot read properties of undefined' error when trying to access .length on front/back arrays. Now properly parses the string if needed and safely accesses array properties with optional chaining.