The script is well thought out, at least for me I would add a list in the config where you put the name of the item “phone” and with a single function on the server and a for loop and the same for the repair, this way you could configure from the config if the use of materials to repair is different or ask for a different amount.
Oh and maybe the timeout is too much but that’s configurable, so nothing.