def METHOD_NAME(response: Element, settings: Settings) -> PickupDetails:
    header = lib.find_element(
        "pickup-request-header", response, PickupRequestHeaderType, first=True
    )
    price = lib.find_element(
        "pickup-request-price", response, PickupRequestPriceType, first=True
    )
    price_amount = (
        sum(
            [
                NF.decimal(price.hst_amount or 0.0),
                NF.decimal(price.gst_amount or 0.0),
                NF.decimal(price.due_amount or 0.0),
            ],
            0.0,
        )
        if price is not None
        else None
    )
    return PickupDetails(
        carrier_id=settings.carrier_id,
        carrier_name=settings.carrier_name,
        confirmation_number=header.request_id,
        pickup_date=DF.fdate(header.next_pickup_date),
        pickup_charge=ChargeDetails(
            name="Pickup fees", amount=NF.decimal(price_amount), currency="CAD"
        )
        if price is not None
        else None,
    )