Try using dplyr. Working with toy data.
library(dplyr)
dat %>% group_by( car.id ) %>% 
  mutate( Timeout=lead(as.character(Timein), default="END") ) %>% ungroup
# A tibble: 10 x 4
      car.id car.type Timein              Timeout            
       <dbl>    <dbl> <dttm>              <chr>              
 1  14359825        1 2021-12-18 17:28:58 2021-12-18 17:33:58
 2  14359825        1 2021-12-18 17:33:58 2021-12-18 18:03:58
 3  14359825        1 2021-12-18 18:03:58 2021-12-18 18:08:58
 4  14359825        1 2021-12-18 18:08:58 2021-12-18 18:13:58
 5  14359825        1 2021-12-18 18:13:58 END                
 6 243095743        2 2021-12-18 18:30:38 2021-12-18 18:37:18
 7 243095743        2 2021-12-18 18:37:18 2021-12-18 19:17:18
 8 243095743        2 2021-12-18 19:17:18 2021-12-18 19:23:58
 9 243095743        2 2021-12-18 19:23:58 2021-12-18 19:30:38
10 243095743        2 2021-12-18 19:30:38 END 
If you want a date-only Timeout column you can always recast
as.POSIXct( dat$Timeout, format="%F %T" )
 [1] "2021-12-18 17:33:58 CET" "2021-12-18 18:03:58 CET"
 [3] "2021-12-18 18:08:58 CET" "2021-12-18 18:13:58 CET"
 [5] NA                        "2021-12-18 18:37:18 CET"
 [7] "2021-12-18 19:17:18 CET" "2021-12-18 19:23:58 CET"
 [9] "2021-12-18 19:30:38 CET" NA
or directly use
dat %>% group_by( car.id ) %>% mutate( Timeout=lead( Timein ) )
Data
dat <- structure(list(car.id = c(14359825, 14359825, 14359825, 14359825, 
14359825, 243095743, 243095743, 243095743, 243095743, 243095743
), car.type = c(1, 1, 1, 1, 1, 2, 2, 2, 2, 2), Timein = structure(c(1639844938.6685, 
1639845238.6685, 1639847038.6685, 1639847338.6685, 1639847638.6685, 
1639848638.6685, 1639849038.6685, 1639851438.6685, 1639851838.6685, 
1639852238.6685), class = c("POSIXct", "POSIXt"))), row.names = c(NA, 
10L), class = "data.frame")