docs: function processSchedule(host,api_key,category,format,mode,pid) {
  	var path = '/nitro/api/schedules';
  
  	var today = new Date();
  	var todayStr = today.toISOString();
  
  	var query = nitro.newQuery();
  	query.add(api.fSchedulesStartFrom,todayStr,true);
  
  	if (mode == 'genre') {
  		for (var c in category) {
  			query.add(api.fSchedulesGenre,category[c]);
  		}
  	}
  	for (var f in format) {
  		query.add(api.fSchedulesFormat,format[f]);
  	}
  	if (search != '') {
  		query.add(api.fSchedulesQ,search);
  	}
  	if (mode == 'pid') {
  		query.add(api.fSchedulesDescendantsOf,pid);
  	}
  	if (channel != '') {
  		query.add(api.fSchedulesServiceMasterBrand,channel);
  	}
  	if (partner_pid) {
  		query.add(api.fSchedulesPartnerPid,partner_pid);
  	}
  	if (sid) {
  		query.add(api.fSchedulesSid,sid);
  	}
  
  	query.add(api.mSchedulesAncestorTitles)
  		.add(api.fSchedulesPageSize,pageSize);
  
  	nitro.make_request(host,path,api_key,query,{},function(obj){
  		var result = scheduleResponse(obj);
  		var dest = nitro.getReturn();
  		if (dest.callback) {
  			// call the callback's next required destination
  			// e.g. second and subsequent pages
  			if (dest.path) {
  				nitro.make_request(host,dest.path,api_key,dest.query,{},dest.callback);
  			}
  			else {
  				dest.callback();
  			}
  		}
  	});
  }