# Service dependencies - [`[syndicate-protocols]/schemas/service.prs`](https://git.syndicate-lang.org/syndicate-lang/syndicate-protocols/src/branch/main/schemas/service.prs) The Service dependency management protocol allows programs to cooperate in declaring mutual dependencies and scheduling subsystem startups, restarts, and shutdowns. For an overview of service definitions and dependencies and a description of the available assertions and messages, see [the operations manual](../../operation/service.md). ``` RequireService = . RunService = . RestartService = . ServiceState = . State = =started / =ready / =failed / =complete / @userDefined any . ServiceDependency = . ``` ``` ServiceObject = . ```