Con la API de Bookitit puedes crear citas en tus agendas a través de la función addEvent. Esta función dispone de diferentes parámetros opcionales, que según como los rellenemos la función actuará de una forma o de otra.

Los casos posibles son:

– Crear una cita y asociarla a un cliente existente.
– Crear una cita y crear un cliente.

Si queremos crear una cita y asociarla a un cliente habrá que crear el cliente previamente mediante el método addClient.

Es recomendable utilizar la función getFreeSlots para obtener los huecos libres disponibles antes de crear un evento. En caso contrario si no existen huecos para la hora de inicio que se pase como parámetro la función devolverá un error.

Ejemplos:
-Crear una cita y asociarla a un cliente (El cliente debe existir previamente)

addEvent(«id_agenda», «id_servicio», «2013-11-01», «2013-11-01», 540, 600,
«test», «», «»,»», «», «», «», «», «id_cliente», «», «», «», «json», true);

 $oObject = json_decode($sEvent);
 $sStatus = $oObject->event->status;
 if (strcasecmp($sStatus, «true») == 0) {
  echo «id event «.$oObject->event->id;
 }
 else {
  //error
 }

?>

-Crear una cita y crear un cliente (El cliente puede no existir y se creará en el mismo proceso)

addEvent(«id_agenda», «id_servicio», «2013-11-03», «2013-11-03», 800, 900,
«test», «», «»,»», «», «», «», «», «», «Client Name», «11111111», «client@email.com», «json», false);

 $oObject = json_decode($sEvent);
 $sStatus = $oObject->event->status;
 if (strcasecmp($sStatus, «true») == 0) {
  echo «id event «.$oObject->event->id;
  echo «id client «.$oObject->event->idclient;

 }
 else {
  //error
 }
?>

Podemos observar que en este caso se devuelven dos valores.

echo «id event «.$oObject->event->id;
echo «id client «.$oObject->event->idclient;

El id del evento y el id del cliente. Esto solo ocurrirá en caso que hayas indicado la creación de un cliente nuevo, en addEvent. Esto es dejando los campos iduser, idclient vacíos y rellenando los datos del cliente. De esta forma el método interpreta que no existe usuario ni cliente y que tienen que crear un cliente nuevo.

Podemos ver que la llamada al método addEvent:

$sEvent = $oRestClient->addEvent(«id_agenda», «id_servicio”, «2013-11-03», «2013-11-03», 800, 900,
«test», «», «»,»», «», «», «», «», «», «Client Test Name», «11111111», «myemail», «json», true);

Observa como se están pasando los datos del cliente que se quiere crear para ese evento.

Todas las peticiones son devueltas con un campo “status”. Ese campo indica si la petición fue correcta o falló.

En caso de fallo se devuelve un xml o json con el siguiente formato.

En todas las llamadas se devuelve un campo status que indica el resultado de la petición. En caso de que haya un error, dependiendo de si has solicitado la petición en json o en xml se devolverá con el siguiente formato:

xml
<?xml version=’1.0′ encoding=’utf-8′?>
<event>
<status>false</status>
<id>error id</id>
<message>error message</message>
</event>

json
 {«event»:
  {
   «status»:false,
   «id»:error id,
   «message»:error message
  }
}

Si quieres saber más sobre esta función puedes acceder a la referencia completa.