@Override
    String getQuery() {
        StringBuilder buffer = new StringBuilder();

        buffer.append("interviewformat=");
        buffer.append(interviewFormat.name());

        buffer.append("&outputformat=");
        buffer.append(outputFormat.name());

        buffer.append("&showdownloadlinks=");
        buffer.append(showDownloadLinks ? "true" : "false");

        if (billingRef != null) {
            buffer.append("&billingref=");
            buffer.append(billingRef);
        }

        if (theme != null) {
            buffer.append("&theme=");
            buffer.append(theme);
        }

        for (Entry<String, String> setting : settings.entrySet()) {
            buffer.append("&");
            buffer.append(setting.getKey());
            buffer.append("=");
            buffer.append(setting.getValue());
        }

        return buffer.toString();
    }