ServiceCompareToInput
A Compare to request for one page of the Services table.
Row ids come from the caller for the reason the other two grains' requests
do: the comparison is a companion to the table's own paginated read, not a
replacement for it. The client already holds the page and asks only for the
movement on those rows, which keeps this out of the shared /filter router
— that one filters and sorts over real columns, and these values are
computed per request from two points in time.
- periodType: stringenumrequired
Comparison timeframe. MTD, QTD and YTD follow the account's fiscal calendar; last30Days and last12Months are counted back from today.
valueslast30Daysmtdqtdytdlast12Monthscustom - revenueType: array of string 1…200
Item Ids requiredRevenue item IDs to compare, normally the current page. Capped so one request cannot fan out across a whole tenant.
- customType: stringFormat: datenullable
Start Start date, required when period is 'custom' and ignored otherwise

