anchor.diff:      emergency_passphrase_change_request_model/0,
       emergency_passphrase_status_model/0,
       error_model/0,
  +    error_error_model/0,
       gui_message_model/0,
       host_model/0,
       host_add_request_model/0,
  
positive.code:     }.
  
  %%--------------------------------------------------------------------
  %% @doc The service error model for REST requests.
  %% @end
  %%--------------------------------------------------------------------
  -spec service_error_model() -> onepanel_parser:object_spec().
  service_error_model() ->
      #{
          %% The name of an error type.
          error => string,
          %% The detailed error description.
          description => string,
          %% The name of a module containing function that returned error.
          module => {string, optional},
          %% The name of a function that returned error.
          function => {string, optional},
          %% The collection of hosts with associated error description.
          hosts => {#{'_' => error_model()}, optional}
      }.
  
  %%--------------------------------------------------------------------
  %% @doc The service hosts configuration.
  %% @end
  %%--------------------------------------------------------------------
  
negative.code: -spec error_model() -> onepanel_parser:object_spec().
  error_model() ->
      #{
          error => {error_error_model(), optional}
      }.
  
  %%--------------------------------------------------------------------
  %% @doc Object describing an error.
  %% @end
  %%--------------------------------------------------------------------
  -spec error_error_model() -> onepanel_parser:object_spec().
  error_error_model() ->
      #{
          %% String identifying the error type. Does not change between error
          %% instances.
          id => string,
          %% Human readable error description. May contain information specific to
          %% given error instance.
          description => string,
          %% Details about the error instance. The object schema is specific to
          %% each error type.
          details => {#{}, optional}
      }.
  
  %%--------------------------------------------------------------------
  