def help_message() -> str:
    """
    Returns a help message which can be displayed for the users.
    :return: the message
    """

    return """
Welcome to our fantastic data handling software which deals with data of trips. In this example, you can generate,
read, write and query a schema which belongs to a car-rental company and contains four types of records:
people, cars, airports and transactions.
Commands:
    help
        You can display this message whenever you want to.
    exit
        Terminates the program.
    generate <count-of-people> <count-of-cars> <count-of-airports> <count-of-transactions>
        Generates a dataset which contains a given number of people, cars, airports
        and transactions. Also generates their relationships.
    read <format> <path>
        Reads the dataset in a given format, from a given place of your file system.
        <format> is one of the following parameters: csv, json, xlsx, mysql
        <path> is a path of a folder which contains the needed file(s). The parameter 
        must be omitted when you select mysql as the format.
    write <format> <path>
        Writes the dataset in a given format, to a given place of your file system.
        <format> is one of the following parameters: csv, json, xlsx, mysql
        <path> is a path of a folder which will contain the generated file(s).
        The parameter must be omitted when you select mysql as the format.
    query-<id>
        Executes the queries, explains and visualizes their output.
"""