 Hi, I'm Julian Tui. I'm an OptiPlanar developer. In this video, I'll be giving a demo of the maintenance schedule in Quarkus Quickstart. This application schedules maintenance jobs to crew members in an optimal way. The dataset we're using now is on a rental car fleet. So all the jobs are performed on rental car units. Now, in this application, we can see we have the maintenance schedule itself, which currently is blank because we haven't assigned any jobs yet. Each crew would have their own designated column on the schedule as we can see here. So it's easy to see once the jobs are placed on the schedule which jobs belong to whom. On the bottom here, we have the list of unassigned jobs. As we can see, they're all maintenance car jobs, so we have tired changes, car washes, and oil changes. Each job would be performed on a specific car, which is identified by their license plate. And certain jobs can't happen at the same time. Obviously, a car can't have a wash and an oil change at the same time. Those can be coded into the constraints, which we'll talk about later. And the tag here represents the jobs that cannot happen at the same time. So, for example, let's say you have one facility for tired changes that can only accommodate one car at a time. So therefore, the tired change jobs can't happen at the same time and are thus labeled as such. Okay, so now that we have our jobs, let's assign them. So here we have two buttons. This one refreshes the timeline and this one does the solving. So as we can see, the score right now is not optimal because we haven't placed any jobs yet. And we'll see the score change and the schedule change once we solve. So if we start solving, we can see that the jobs have been populated on the schedule. And there are no more unassigned jobs now, so let's stop solving. Now let's look at our schedule. This schedule doesn't look too good. Mainly we see that a lot of jobs are happening at the same time by one crew. So one crew probably can't do more than one job at the same time. So if we take a look at our constraints in the code. So here we have the constraint provider file. And let's say we add in the constraint that tells the solver to give only one job to a crew at the same time. So if we add that in and we go back to our application, we're going to take advantage of Corkis reload feature. Now after reloading, let's solve again. And as we can see with the addition of this new constraint, the schedule changed drastically. So here we see a much more feasible schedule. We can see that each crew only has one shift at a time. And the shifts are much more balanced between the crews alpha and beta. So that was a quick demo of this application. If you want to know more, feel free to check out the source code in the description below. Thanks.