How does the report system work?

Coord Reports are generated using a service provided by Carbone.io. When you run a report on SoundBase, it sends a JSON object with the Project’s info to the Carbone.io API which renders the selected template.

Templates

To generate a custom report, you must first create a template. You can download and modify our default DOCX template from the Zone Generate Report Dialog and upload your changes to a new template within that dialog.
User uploaded templates are stored PER USER, not per project. This means you can use the same template across multiple projects.

Changing a template

The documentation for the Carbone template language can be found here: https://carbone.io/documentation.html#building-a-template
If you want to change anything deep inside the templates, for example the way groups are shown, etc., then it is helpful to know the JSON data that is sent to Carbone. You can see an example of that structure here:
The structured list of properties available in the JSON output is as follows.

Top-Level Properties

  • createdDate: The date and time the data was created.
  • now: The current timestamp in ISO format.
  • zoneName: The name of the zone.
  • zoneNotes: Additional notes about the zone.
  • siteName: The name of the site or event location.
  • project: An object representing the project details.
  • client: An object containing client-related information.
  • coordinator: An object for the coordinator's details (currently empty).
  • groups: A list of frequency groups and their associated details.
  • tvchannels: A list of TV channels and their ranges.
  • tvChannelCount: The number of TV channels.
  • freqs: A list of individual frequencies with associated metadata.
  • exclusions: A list of exclusion ranges added to the project.

Project Properties

  • projectName: The name of the project.
  • locationName: The location name of the Site.
  • startDate: The starting date and time of the project.
  • endDate: The ending date and time of the project.
  • notes: Additional notes about the project.
  • owner: The owner of the project.

Client Properties

  • name: The client's name.
  • contactName: The client's contact person's name.
  • email: The client's email address.
  • contactPhone: The client's contact phone number.
  • notes: Additional notes about the client.

Group Properties

  • groupName: The name of the group.
  • groupId: A unique identifier for the group.
  • color: The group’s associated color.
  • freqs: A list of frequencies within the group.
  • freqCount: The total number of frequencies in the group.
  • startDate: The start date for the group (if any).
  • endDate: The end date for the group (if any).

Frequency Properties (within groups and freqs)

  • freqName: The name of the frequency.
  • model: The device model associated with the frequency.
  • band: The frequency band.
  • manufacturer: The manufacturer of the device.
  • freq: The specific frequency value.
  • spacing: The spacing between frequencies.
  • preset: The preset value (if any).
  • wasRecalculated: Boolean indicating if the frequency was recalculated.
  • isIncompatible: Boolean indicating if the frequency is incompatible.
  • color: The color associated with the frequency.
  • profileVariant: The profile variant of the frequency.

TV Channel Properties

  • channel: The TV channel number.
  • range: The frequency range of the channel.
  • callSign: The channel's call sign.
  • distance: The distance to the channel (if specified).
  • power: The power level of the channel (if specified).
  • type: The type of channel (e.g., "Digital").

Exclusion List Properties

  • start: Frequency in MHz
  • end: Frequency in MHz
  • name: Name of Exclusion Range
  • enable: Whether the exclusion range is enabled