Revised media ingest script
What is $option in run_rsync?

option is read in the global scope to decide if user wants a full ingest or continue a partial ingest. In that loop that reads the prompt, the meaning of option is understandable.

Referring to $option in run_rsync is just too far away. It's not clear anymore where it comes from and what it means. It would be better if the prompt loop passed the decision to run_rsync as a parameter, to make it perfectly clear. For example:

while true
do
    read -r -p $'Enter [1] to start an ingest or [2] to complete a partial ingest.\n' option
    case $option in
        1 )
            make_directory
            run_rsync full
            break;;
        2 )
            run_rsync partial
            break;;
        * )
            echo $'Please enter a valid option!\n';;
    esac
done


And then in run_rsync:

run_rsync() {
    local ingestType=$1

    echo $'Follow the prompt to complete the rsync command.\n'

    prompt_user $'Path to source media?\n' source_path

    if [[ "$ingestType" = "partial" ]]; then
        prompt_user $'Target directory?\n' target_directory
        destination_path=$target_directory
    fi

    # ...


Inconsistent terminology

In make_directory, the term "target directory" refers to the base directory in which a timestamped sub-directory will be created, with brand name, project name, and so on, also in the name.

In run_rsync, in case of partial ingest the user is prompted for "target directory", but here it will mean the full destination path. If would be better to name it as such.

Inconsistent formatting

The code uses inconsistent indentation.
For example the content of prompt_user is over-indented, compared to other functions.
The body of the while loop in the global scope is over-indented,
and also haphazardly indented.
It would be easier to read if indenting was consistent throughout.

Unnecessary comments

Most comments in the program state the obvious.
They are just noise,
and it would be better to remove them.