I wouldn’t say parenting a clone of UI to playerGui is the best way, I recommend using RemoteEvent to FireClient. Let me know if you want the code and explanation.
You cannot really access PlayerGui from server, you must use RemoteEvents in order for it to work. So you have to use FireClient and it pretty much is the same thing.
Okay the issue you are having is that a local script cannot be in the part it has to be in StarterPlayerScripts or ReplicatedFirst.
You can just switch this to a server script and put the following in it:
You can also do this in a local script as well, just remember you have to put the local script in StarterPlayerScripts or ReplicatedFirst.
game.Workspace.Part.ProximityPrompt.Triggered:Connect(function(plr)
local PlayerGui = plr:WaitForChild("PlayerGui")
local ui = game.ReplicatedStorage.OrderingUi:Clone()
ui.Parent = PlayerGui
end)
Also make sure you have the Gui enabled so you can see it.
Depending if this is in a server script you can just do script.Parent, if this is in a local script you have to find that part game.Workspace.Part.