Your misunderstanding of the application service layer is not your problem, and the problem of the concept of layers. Because the layer is a subjective and abstract concept, not related to the business rules which we are trying to automate the application. In fact, due to the ephemeral nature of the concept, examples with layers of flimsy, explanations are vague, and the layers are often the cause of disagreements in the team.
In order to design a competent OOP applications, it is sufficient to master the principles of SOLID. It is an objective of the design principles classes. which are difficult to interpret in two ways.
In the framework of solid, all what do you mean by service layer - it's just classes that perform some task. It does not matter what. The main thing that each class has minimal dependencies and most of the time performs one task. The idea of layers and services will cease to haunt the imagination, if you stop using the suffix "Service" in the title classes. This, ultimately, will force you to give classes names based on the tasks they accomplish.
Also please note that it is not a replacement to conventional design approaches, such as, for example, patterns or DDD. Concentrating on the design of the classes taken separately, the solid is quite compatible with the other principles.
And about how to do better
you can answer that:
- in class names have no place verbs (Do .- it's a verb)
- the class must conform to the principles of SOLID
If both these conditions are true, then you are on the right track.
Do not worry if not immediately entered in what I wrote here. All these tops require practice. In fact, so programming and design are disciplines requiring high qualifications.