Estrutura dos objetos das chamadas

Professional

Observações

  • Caso haja ids nos professionals, deverá ter ids nos periods e vice-versa.

  • Na hora de cadastrar um profissional, será buscado no sistema algum que já tenha o internal_id, email ou cpf, caso não encontre, será criado um novo.

  • Occupation, shifts e tags não são obrigatórios. Não adicionar campo caso não seja necessário.

{
  "id": "number"
  "cellphone": "string",
  "cpf": "string",
  "email": "string",
  "gender": "string|enum:male,female",
  "internal_id": "string",
  "name": "string",
  "nickname": "string",
  "roles": "string|enum:professional,manager",
  "send_invite_when_submit": "boolean",
  "occupation": "object:Occupation",
  "shifts": "array|object:Shift",
  "tags": "array|string"
}

Occupation

A ocupação do profissional. É possível passar apenas o id, ou apenas o código (code). Caso sejam passados os dois, id tem prioridade sobre o código. Para ver uma listagem de ids e códigos, ver Listar ocupações.

{
  "id": "integer",
  "code": "string"
}

Shift

Observações:

  • O campo period_name dentro dos shifts deve referenciar um nome de um período definido em periods, dentro da escala a ser criada.

  • Ao cadastrar os plantões (shifts), se eles não tiverem ids serão deletados todos os plantões dessa escala, e os plantões fornecidos no json serão inseridos no lugar.

{
  "id": "number",
  "date": "date|format:YYYY-MM-dd",
  "period_name": "string",
  "tags": "array|string"
}

Schedule

Observações:

  • Caso não haja id no objeto de escala (que fica dentro de schedules), ela será inserida novamente. Caso haja id e não exista no sistema, será retornado um erro.

  • Os seguintes campos estão apenas disponíveis para o método /scheduleperiods

    • add_organizers_policy indica que todos os organizadores da instituição serão inseridos como organizadores da escala criada.

    • periods_update_policy: A política de atualização da escala. Os valores e suas ações são as seguintes:

      • create_or_update: serão atualizados todos os objetos cujo ID no payload for localizado no sistema, os objetos do payload que não tiverem ID serão criados, nenhum objeto que existia previamente será removido.

      • flush_and_create: todos os objetos que existiam previamente no sistema serão removidos e os objetos do payload serão inseridos no lugar.

      • create_or_update_and_delete_what_is_not_here: os objetos que possuem ID no payload e forem localizados no sistema serão atualizados, os objetos do payload que não tiverem ID serão criados e os objetos que existiam previamente no sistema cujos IDs não estão no payload serão removidos.

{
  "id": "number"
  "address": "object:Address",
  "allow_edit_grid": "boolean",
  "allow_edit_schedule_info": "boolean",
  "checkin": "boolean",
  "checkin_config": "object:CheckinConfig",
  "conflicts_between_departments_enabled": "boolean",
  "conflicts_in_department_enabled": "boolean",
  "name": "string",
  "periods": "array|object:Period",
  "add_organizers_policy": "boolean", // apenas period_schedules
  "periods_update_policy": "boolean" // apenas period_schedules
}

Check-in

{
  "allow_checkin_outside_checkin_area": "boolean",
  "checkin_radius_in_km": "number",
  "checkin_window_in_min": "number",
  "checkout_delay_in_min": "number",
  "checkout_limit_in_min": "number"
}

Period

Observações:

  • Caso haja ids nos professionals, deverá ter ids nos periods e vice-versa.

  • O atributo name é considerado como chave primária para o período, portanto ele deve ser único para cada escala.

  • No /schedulegrid é possível passar um campo slot_count. Com ele se indica quantas vagas são necessárias

{
  "id": "number"
  "date_end": "date|format:YYYY-MM-dd",
  "date_start": "date|format:YYYY-MM-dd",
  "end": "time|format:HH:mm",
  "start" "time|format:HH:mm",
  "name": "string",
  "slots": "number",
  "tags": "array|string",
  "week_days_exception": "array|enum:monday,tuesday,wednesday,thursday,friday,saturday,sunday"
}

Address

{
  "city": "string",
  "country": "string",
  "district": "string",
  "number": "string",
  "rua": "string",
  "state": "string"
}

Last updated