Why it matters
A phone number or price that exists only inside JSON-LD is invisible to visitors, and to the AI assistants that read pages live: tests of ChatGPT, Claude, Perplexity and Gemini found none of them reading JSON-LD when fetching a page. Google also expects markup to describe what the page shows.
How to fix it
Show the phone number and price in the page text as well, in the same form as in the markup.