Commercial Schedules Conformance for Schedule Publishers

This document describes the specifics of measuring the conformance of an adopter implementation with the DCSA Commercial Schedules standard.

Prerequisites

Read the Conformance Overview page to understand the key concepts and the approach used by DCSA to measure the conformance of adopters implementations with its standards.To create a sandbox for measuring Commercial Schedules conformance, follow the instructions in the Conformance Sandboxes page.To understand how to run conformance scenarios in general, consult the Conformance Scenarios page.

Schedule publisher conformance

Commercial Schedules scenarios are grouped by endpoint (or schedule type) and by filter type. There is a separate group focused on pagination, with a scenario for each schedule type (or endpoint).The default conformance sandbox contains a schedule consumer that fetches schedules from your system as specified by each scenario title, and based on the scenario parameters that you provide.Start each scenario by providing a meaningful set of parameters for which your application has the relevant data to handle a corresponding request for schedules correctly.
Single request scenarios
Most conformance scenarios for Commercial Schedules are very simple, consisting of a single action after you parameterize the scenario: the synthetic schedule consumer sends an API request to your application requesting schedules using a filter based on the parameters you provided, and your application is expected to respond with an appropriate set of schedules.Note: Remember to click "Action completed" at the end of the scenario.
Pagination scenarios
To measure the conformance of your application with the pagination mechanism defined by the Commercial Schedules standard, three scenarios are provided, one for each schedule type.When supplying parameters for pagination scenarios, make sure you set the "limit" to a value that will cause your application to return the appropriate schedules in more than one results page; setting the "limit" to 1 is usually the easiest way to accomplish this.The synthetic schedule consumer will use the parameters you provide to send an initial API request to your application, which should fetch the first page of the result schedules.
When you click "Action completed" after the action that retrieves the first results page, the synthetic schedule consumer fetches from the headers of the first result page the cursor that your application provided for fetching the second page, then makes a second API request to your application using this cursor as parameter to fetch the second page of results.Note: Remember to click "Action completed" at the end of the scenario.