I need more than one location from an array to be chosen for a destination.

My project will have a small town that you have to deliver items to. I want each round to have 25 locations to be serviced. My current code is working, but not quite how I need it to. The pseudo code explains most of the issues.

using UnityEngine;

public class DeliveryPoints : MonoBehaviour
{
    //THIS IS ATTACHED TO AN EMPTY GAME OBJECT CALLED DELIVERY MANAGER.
    //I HAVE IT SET TO 5 FOR TESTING EVENTUALLY IT WILL HAVE 200 ISH
    //THERE WILL BE MANY PLACES TO DELIVER ITEMS, I WANT EACH ROUND TO PICK 25 RANDOM LOCATIONS.
    //IF A LOCATION IS PICKED TWO ROUNDS IN A ROW, ITS OK.

    public Transform[] deliveryWayPoint = new Transform[5];
    public GameObject bigArrowPreFab;

    private void Awake()
    {
        //THIS KICKS IT OFF AT START.
        GetWaypoint();
        CreateWaypointArrow();
    }

    public Transform GetWaypoint()
    {
        // THIS CODE WORKS BUT I ONLY GET ONE DELIVERY POINT FROM THE ARRAY
        //I NEED TO HAVE 25 RANDOM POINTS.
        int randomIndex = Random.Range(0, deliveryWayPoint.Length); 
        Debug.Log("Waypoint chosen");
        return deliveryWayPoint[randomIndex];
       
    }
    public GameObject CreateWaypointArrow()
    {
        //ALL OF THIS WORKS, THE ARRAY CHOOSES ONE LOCATION AND SPAWNS THE ARROW.
        Transform waypoint = GetWaypoint();
        GameObject arrowClone = Instantiate(bigArrowPreFab,waypoint.position,waypoint.rotation) as GameObject;
        return arrowClone;
    }


    //FUTURE ADDS
    //IF A LOCATION IS NOT CHOSEN FROM THE ARRAY, THE SCORE BOX SHOULD BE DEACTIVATED.
    //TURN OFF THE ARROW ONCE THE ITEM HAS BEEN PLACED IN THE BOX OR ATTEMPTED
    //HAVE THE CHOSEN POINTS CREATE A WAYPOINT SYSTEM SHOWING A ROUTE ON THE MINIMAP TO FIND THE TARGET LOCATION. (GPS)

You are calling CreateWaypointArrow(); in Awake and Awake method is called only one time before the Start method that’s why you are getting only one delivery point. You can use Coroutines, so something like

void Start()
{
  StartCoroutine("CreateWaypointArrow");
}

IEnumerator CreateWaypointArrow()
{
  int currentDeliveryPoint = 1;
  while(currentDeliveryPoint <= 25)
  {
    Transform waypoint = GetWaypoint();
    GameObject arrowClone = Instantiate(bigArrowPreFab,waypoint.position,waypoint.rotation) as GameObject;

    currentDeliveryPoint++;
    yield return null;
  }
}