Updating/Replacing Properties

In the course of activity-related commands execution, activity properties can be updated or replaced, subject to 'head/properties_mode' setting of the transaction.

'replace': when activity is updated, all existing properties are erased and properties from the request are added instead

'update': when activity is updated, properties from the request are added to the existing properties, the existing properties are not deleted.

The service window is always updated to the service window value specified in the command:

IF: date AND provider of existing activity equal date AND provider of the command

AND service window of existing activity is different from service window of the command

THEN: service window of the command is set for the activity

If the service window value of the command is empty, it is set to empty for the activity and unordered flag is set to true.

Note: If a field/property is not mentioned in the request and the 'head/properties mode' is 'update', the values of the field/property are not changed. If in a request with 'head/properties mode' = 'update', a field/property is sent with an empty value, the values of most of the fields/properties are set to empty value. The exceptions are 'files' and 'links' fields – an empty field in the request with 'head/properties mode' = 'update' will not erase them but will leave them unchanged.