OnlineScheduler


The following operations are supported. To get formal definitions, review service description.

    Methods:

  • GetAuth
  • GetConfiguration
    Returns configuration for logged user.
    Response:
    - IsVisibleScheduleOfObjects - when true then shedule of objects is visible
    - IsVisibleScheduleOfStaff - when true then shedule of staff is visible
    - IsVisibleScheduleOfStaffWork - when true then shedule of staff work is visible
    - IsAvailableAddingReservations - when true then user can add new reservations
    - WorkinHoursFrom - minimum opening hour of SPA object (e.g. 10:00)
    - WorkinHoursTo - maximum closing hour of SPA object (e.g. 18:00)
    - ShowReservationCancelReasons - when true, then when canceling a reservation, show a window with the choice of reason and description
    - ModeShowOnlyMyData - special mode where user can see only his reservations and work schedule and cannot edit it's
  • GetReservationsObjects
    Return SPA objects which are available in passed dates.
    If ServiceID was passed then returns only this objects where that service can by made.
    Returns an ObjectList which include:
    - ObjectID - id of object
    - ObjectName - name of object
    - DateList - include dates and hours whem the object is open
    - Date - date when object is open (e.g. 2023-01-25)
    - TimeFrom - open hour (e.g.10:00)
    - TimeTo - close hour (e.g,16:00)
  • GetReservationsStaff
    Return SPA staff which are available in passed dates.
    If ServiceID was passed then returns only this staff where that srevice can by made.
    If ServiceID was passed then returns only staff who can perform this service.
    Returns an StaffList which include:
    - StaffID - id of staff
    - StaffName - name of staff
    - DateList - include dates and hours when the staff is available
    - Date - date when object is open (e.g. 2023-01-25)
    - TimeFrom - open hour (e.g.10:00)
    - TimeTo - close hour (e.g,16:00)
  • GetReservationsSchedule
    Returns reservations to show on schedule (ReservationList)
    - ReservationID - id of reservation
    - ReservationGroupID - id of group of reservation
    - ReservationDateFrom -
    - ReservationDateTo -
    - ReservationCaption - reservation event caption on scheduler
    - ReservationMessage - reservation event description on scheduler
    - ReservationStatusColor - reservation event color on scheduler (RGB as integer e.g 16711680 will be red)
    - ObjectID - the object id on which the reservation will be made
    - StaffID - the staff id making the reservation
    - IsAvailableModifyReservation - is it possible to edit this reservation
    - IsAvailableCancelReservation - is it possible to cancel this reservation
    - IsAvailableCheckInReservation is it possible to check-in this reservation-
    - IsAvailableConfirmReservation - is it possible to change status of this reservation to confirmed
    - IsAvailableUnconfirmReservation - is it possible to change status of this reservation to unconfirmed-
    - IsAvailableCopyReservation - is it possible to copy this reservation
    - IsAvailableMoveReservation - is it possible to move this reservation
    This method also returns details of all reservations in a given group (ReservationDetailsList).
    To be used when we mark a given reservation on the schedule.
    - ReservationGroupID -
    - ClientName - client name assigned for group of reservations
    - ClientPhone -
    - ImportantInformation -
    - ReservationServiceList -
    - ReservationID -
    - ReservationServiceID -
    - ReservationServiceDateFrom -
    - ReservationServiceDateTo -
    - ReservationStatusName -
    - ServiceName -
    - ServicePrice -
    - ObjectName -
    - StaffName -
  • GetStaffWorkSchedule
    Returns data for staff work schedule for given period of time or given saff in StaffIDsList e.g.
    "StaffIDsList": { "StaffIDs":[ { "StaffID": "98004" }, { "StaffID": "19004" } ] } Returns StaffWorkScheduleList:
    - StaffWorkScheduleID -
    - StaffID -
    - Date -
    - HourFrom -
    - HourTo -
    - StaffWorkColor - event color on scheduler (RGB as integer e.g 16711680 will be red)
    - IsAbsence -
    - Comments -
  • GetReservationsList
    Returns list of reservation to diplay in grid.
    Reservation can be filetred by period of time and clients and staff memebers
    Returns ReservationList:
    - ReservationID -
    - ReservationDate -
    - ReservationHourFrom -
    - ReservationHourTo -
    - ReservationStatusName -
    - ClientName -
    - ClientPhone -
    - ObjectName -
    - StaffName -
    - ServiceName -
  • AddStaffWorkSchedule
    Adds employees working hours or their absences. Accepts WorkScheduleList of object WorkSchedule e.g.
    "WorkScheduleList": { "WorkSchedule":[ { "StaffID": "98004", "DateFrom": "2023-01-13", "DateTo": "2023-01-13", "HourFrom": "10:00", "HourTo": "17:00", "IsAbsence": false }, { "StaffID": "19004", "DateFrom": "2023-01-13", "DateTo": "2023-01-14", "HourFrom": "09:00", "HourTo": "18:00", "IsAbsence": false } }
  • GetStaffWorkStaff
    Return staff for display on staff work schedule.
    Return StaffList:
    - StaffID -
    - StaffName -
  • DeleteStaffWorkSchedule
    Delete given staff work schedule
  • ModifyStaffWorkSchedule
    Method to modify staff work
  • GetReservationCancelReasons
    Returns definition of reservation cancel reasons needed in method CancelReservation Returns CancelReasonsList:
    - CancelReasonsID - cancel reason identifier
    - CancelReasons - cancel reason name
  • CancelReservation
    A method for canceling a single reservation
  • UnconfirmReservation
    A method for changing status of a single reservation to unconfirmed
  • ConfirmReservation
    A method for changing satus of a single reservation to confirmed
  • CheckInReservation
    A method for check-in a single reservation
  • GetClientReservations
    Returns the client reservations from a given period.
    Returns ReservationList:
    - ReservationID -
    - ReservationDate -
    - ReservationHourFrom -
    - ReservationHourTo -
    - ObjectName -
    - StaffName -
    - ServiceName -
    - ServicePrice -
  • GetClientSalesDocuments
    Returns the client sales documents positions from a given period.
    Returns SalePositionList:
    - SalePositionID -
    - Local -
    - DocumentType -
    - DocumentNumber -
    - Date -
    - UserName -
    - ProductName -
    - Amount -
    - Price -
    - Value -
    - StaffName -
  • GetServicesGroups
    Optional method. Can be filtered by staff or object
    Returns ServiceGroupList:
    - ServiceGroupID -
    - ServiceGroupName -
  • GetServices
    Returns services necessary to add new reservation. Can be filtered by staff or object and by group
    Returns ServiceList:
    - ServiceID -
    - ServiceGroupID -
    - ServiceName -
    - ServiceDescription -
    - ServiceDuration - service duration in minutes
    - ServicePrice -
    - ServiceSaleAtAnyPrice -
  • GetAvailableHours
    Returns available hours when reservation can be added.
    Returns AvailableHourList:
    - AvailableHourID -
    - AvailableHour -
  • AddReservationGroup
    Adds a group of reservation what is header grouping many reservations (of course there can also be only one).
    Returns ReservationGroupID
  • AddReservation
    Adds new reservation.
    Returns ReservationID
  • ModifyReservationGroup
    Method to modify group of reservation
  • ModifyReservation
    Method to modify reservation
  • CopyReservation
    Copy resevation to another period, stuff, object
  • MoveReservation
    A method for moving a single reservation for another period or another object or staff
  • GetResources
    Return definition of resources which can be selected when adding a reservation. Reruns ResourceList:
    - ResourceID -
    - ResourceName -
    - ResourceDescription -
  • GetReservationsResources
    Return resources selected for existing reservation is set ReservationID. Also returns available resources for given period of time.
    Returns ResourceList:
    - ResourceID -
    - ResourceQuantitySelected - amount of selected resrources
    - ResourceQuantityAvailable - amount of still available resources
  • GetMarketingConsents
    Returns definition of marketing consent which can be selected when adding/editing a client.
    Returns MarketingConsentList:
    - MarketingConsentID -
    - MarketingConsentName -
    - MarketingConsentDescription -
    - IsMarketingConsentRequired -
  • AddClient
    Adds a new client.
    In parameter MarketingConsents must be JSON e.g.
    "MarketingConsentsList": { "MarketingConsents":[ { "MarketingConsentID": "93001" }, { "MarketingConsentID": "10001" } ] }
  • ModifyClient
    Adds a new client.
    In parameter MarketingConsents must be JSON e.g.
    "MarketingConsentsList": { "MarketingConsents":[ { "MarketingConsentID": "93001" }, { "MarketingConsentID": "10001" } ] }
  • GetClient
    Returns detailed information of client necessary for editing client.
    Returns one object in ClientList:
    - ClientID -
    - ClientFirstName -
    - ClientLastName -
    - ClientPhone -
    - ClientEmail -
    - ClientDateOfBirth -
    - ClientSex -
    - ClientCity -
    - ClientStreet -
    - MarketingConsentList -
    - MarketingConsentID -
    - MarketingConsentName -
    - MarketingConsentDescription -
    - IsMarketingConsentSelected -
    - IsMarketingConsentRequired -
  • DownloadClientFromCentral
    Method to download client from center to local.
    ClientID to download will be returned in method GetClients where IsToDownloadFromCentral will be true.
  • GetClients
    Method to search clients.
    If central client synchronization mode is enabled then when found more then 10 clietns we get error "More than 10 clients found. Change your search criteria."
    Also in that mode clients are serached not only in local but also in center (using WS).
    Return ClientList:
    - ClientID -
    - ClientFirstName -
    - ClientLastName -
    - ClientPhone -
    - ClientEmail -
    - ClientCity -
    - ClientStreet -
    - IsToDownloadFromCentral - true if client is only in center and must be downloaded to local using method DownloadClientFromCentral
  • GetPermissions
    The method should be called right after authorization.
    Must be executed as GET.
    Takes bool parameter "internal" which must be passed in the method address.
    If the parameter is not passed, the method defaults to false.
    The method checks whether the logged-in user of a given type has access, depending on whether he logs in from the institute or from the outside.
    Available possibilities:
    - internal login (from the institute) - manager - full access - receptionist - full access - staff - visibility of only your bookings without the possibility of editing - external login: - manager - full access - receptionist - no access - staff - visibility of only your bookings without the possibility of editing If user can assess methot returns ExecutionStatus = 0 and empty ExecutionMessage else returns ExecutionStatus = 1 and two possible ExecutionMessages: - The receptionist user type does not have access to applications outside the institute.' - The user does not have access to the application because he is not assigned to any of the roles: Manager, Receptionist, Staff
  • GetSalesDocuments
    Returns the sales documents headers from a given period.
    Also we can filter documents by: ClientFirstName, ClientLastName, ClientPhone, DocumentNumber, UserIDs - list of users from method GetUsers Returns SaleDocumentList:
    - SaleDocumentID -
    - SaleDocumentType -
    - DocumentNumber -
    - Date -
    - Client -
    - User -
    - Local -
    - Value -
  • GetUsers
    Return available users in system. Reruns UserList:
    - UserID -
    - UserName -
  • GetSalesDocumentsItems
    Returns the sale document items from specific document
    Required parameters are SaleDocumentID and SaleDocumentType which are returned in method GetSalesDocuments
    Returns SaleDocumentItemList:
    - ProductName -
    - Amount -
    - Price -
    - Value -