I would keep price, registration deadline, and signup URL as separate fields in Busabase, with the announcement copy in another field. Ask the agent to revise only the copy and submit a Change Request; the reviewer can see whether any structured fact field was touched. A prompt saying “do not change these facts” helps, but it is not an enforcement rule by itself.
For the text that will be published, use fixed placeholders for those values and fill them from the approved fields, or run a deterministic check before review that compares the original and proposed price, date, and URL. Flag any difference or missing placeholder rather than letting a fluent rewrite hide it. For your example, the check should still find RMB 1,499, October 15, and the same signup URL after the rewrite. A teammate then reviews the resulting copy and source fields before publication. Do you publish from a structured template, or does someone paste the final prose into another platform?