The `DynamicField` is a flexible field structure that can be used in different contexts such as bookings, jobs, and trips. Each `DynamicField` can hold different dataType and tags.


Properties

  • Key         
    • field name


  • Control 
    • whether field is required or optional


  • Type 
    • TEXT:  text field
    • SELECTOR:  predefined dropdown field
    • DATE:  date field
    • DOCUMENT:  file upload field


  • Query - visible only when Type is SELECTOR
    • CUSTOM_VALUES:  show custom defined values 
    • DEPARTMENT
    • QUOTATION
    • ENUMS:  show predefined enum values and required enumName
    • PORT
    • PLACE
    • COMPANY:  required companyTypes
    • ADDRESS:  required companyTypes
  • Tags - used to store various boolean flags that modify the behavior of the field
    • SEARCHABLE: Indicates that the field is searchable.
    • BLOCK_DUPLICATE: Prevents duplicate booking with same values for this field. 

    • HIDE_FROM_NEW_BOOKING: Hides the field from new booking forms.

    • OPERATIONS_ONLY: Restricts the field to operations use only.

    • MULTIPLE: Allows multiple selection of the field.

    • MULTILINE: Indicates that the field supports multiline text.

    • CAPITALIZE: Automatically capitalizes the text in the field.

    • DRIVER_APP_UPDATEABLE: Allows the field to be updated via the driver app.

    • VALIDATE_CONTAINER_NUMBER: Validates the field as a container number.

    • FOR_RFC: Indicates that the field is for RFC (Request for Collection).